Midwest Blockathon
Everything you need to start hacking with Pinata
Welcome to the Pinata Midwest Blockathon cheat sheet! This doc will have everything you need to know about:
- Getting Started with Pinata
- Challenge and Prizes
- Tutorials and Guides
What is Pinata?
Pinata makes decentralized file uploads easy for developers who need fast and zero-setup soltuions. Our primary product, the IPFS API and SDK, makes it as simple as one line of code to upload a file:
Retreiving files is just as easy!
Built on years of experience with IPFS, Pinata has scaled companies to serve high volumes of requests and bandwidth, as well as developers who are just starting out. We want to help build the future of the web through decentralizedd applications!
Pinata Challenge
Build the best use case of Pinata’s APIs or SDKs in combination with blockchain. Pinata will judge based on:
- Real world usefulness of the app
- How integral Pinata was to building the app
- Extensive use of Pinata features
- Pure creativity used in the final product
Prizes
1st Place: $1000
2nd Place: $400
Quickstart
Sign Up for a Free Account!
Almost all of our features are on the free account, but if you find yourself limited and need a paid account contact [email protected]
Getting Started with Pinata
Getting Started with Pinata
1. Get API key and Gateway URL
Inside the Pinata App select “API Keys” from the sidebar, then click “New Key” in the top right. We would recommend starting with Admin privileges and unlimited uses to start. You will receive a pinata_api_key
, pinata_api_secret
, and a JWT
. The JWT is the most common authentication method and what we’ll be using below.
Next you will want to grab your Gateway domain by clicking the Gateways tab in the sidebar. You should see it listed in the format fun-llama-300.mypinata.cloud
and you will want to copy it exactly like that.
2. Install and Setup SDK
In the root of your project run the install command with your package manager of choice.
Import and initialize the SDK in your codebase with the API key and Gateway from the previous step
PINATA_JWT
is a secret key, be sure to initialize the SDK in a secure environment and practice basic variable security practices. If you need to upload from a client environment, consider using signed JWTs3. Upload a File
Use the upload
method to upload a File object.
You should get a response object like the one below
The unique thing about IPFS is the CID (IpfsHash) or Content Identifier. Its a unique hash based on the content ofthe file.
4. Retrieve a File through a Gateway
Use the cid
of a file to fetch it through a Gateway or create a URL
Example Apps
Built specially for UGA Hacks, thedappbook is an example of a fullstack decentralized application.
thedappbook
One big wall of posts using Ethereum and IPFS through Pinata
Contracts
Smart contract handles creating posts and records data to the blockchain, including the author’s wallet address, the offchain IPFS URI, and the timestamp of the post.
Client
Client allows a user to connect their wallet and write on the wall. Each post has a message and an optional image which are both uploaded to Pinata as a json file. Returned is an IPFS URL that is stored on the contract to optimize space
Server
Server provides an API endpoint where the client can get a temporary Pinata API key to handle uploads so our admin API key is not exposed on the client.
Tutorials
How to Mint NFTs with Foundry, Viem, and Pinata
How to Mint an NFT on Base

How to Use Pinata with Cursor, Zed, and other LLMs

Making Private NFTs

How to Build an NFT Indexer with Ponder and Pinata

How to Build a Fullstack Mobile App with Expo
More Tutorials
Need Help?
We got troops on the ground! 🫡 Come find us at our table, shoot us an email, or chat with us on Discord!
Steve Simkins
Kyle Tut
CEO, Vibe Dreamer
Email: No email, v exclusive, find the cowboy hat to chat