Quickstart
Trying to send NFTs via Quicknode? See our Quicknode RPC API Reference
Rate Limits
As of January 1, 2023 we have implemented a rate limit across all call methods. This limit is expected to increase in the future as we roll out more updates!
POST/PUT/PATCH - 120 requests per minute
GET - 360 requests per minute
In this quickstart, we will:
- Learn how to generate API keys
- Learn how to form a simple metadata structure for your first NFT
- Call on Crossmint to generate your first NFT
- Check the status and information of your NFT
- Learn how to view your NFT on marketplaces
To start developing with the Minting API, we recommend you begin by developing in testnets by using our staging servers. The API is completely free, and we allocate you enough credits for 150 mints when you sign up.
Benefits of using our API:
- Deploy your collections in record time
- Integrate with any application / user experience
- Automate NFT collections for any use case
- Create NFT's with no smart-contract experience
- Unmet reliability and load capacity
- No ETH/MATIC/etc... needed!
- No maintenance required on your end!
Get started in 4 easy steps!
Step 1: Set up on Staging (Testnet)
Resource | Staging (Testnet) | Production (Mainnet) |
---|---|---|
Developer Console | https://staging.crossmint.com/console | https://www.crossmint.com/console |
- Create a Developer Console account on staging
- Visit the API Keys page
- Create a new API key with the scope
nfts.mint
Note: By default you will have access to default-solana and default-polygon collections at no extra cost!
You're all set! Follow instructions below to create and send your first NFT, or you can visit our API Reference and mint directly from our docs!
Trying to mint in Production (Mainnet)?
To mint, you'll first need to add credits to your production developer account. After creating a developer account on production, please visit our self-service Billing & Usage to add a billing method and top up your account with credits. Then, create a production API key on our production API Keys page.
Step 2: Create and send your first NFT to an email address (Staging)
Minting and delivering an NFT to a user is as simple as making one HTTP call:
curl --header "x-client-secret: <CLIENT SECRET>" \
--header "x-project-id: <PROJECT ID>" \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"metadata": {
"name": "Crossmint Mint API Test",
"image": "https://www.crossmint.com/assets/crossmint/logo.png",
"description": "Test NFT created by the Crossmint Minting API"
},
"recipient": "email:<EMAIL>:<BLOCKCHAIN_NAME>"
}' \
https://staging.crossmint.com/api/2022-06-09/collections/default-polygon/nfts
Copy the code snippet above, and replace:
<CLIENT SECRET>
with theclient secret
obtained in the API keys section from step 1<PROJECT ID>
with theproject ID
obtained from the same API keys screen<EMAIL>
with the recipients email address<BLOCKCHAIN_NAME>
with the desired blockchain to mint the NFT too (e.g.poly
orsol
)

screenshot from https://staging.crossmint.com/console/projects/apiKeys
Read more about the recipient & blockchains:
You can read more about the
recipient
options, including the supported blockchains, sending NFTs to an existing crypto wallet, and sending NFTs directly to an email address (via a Crossmint custodial wallet).
Step 3: Check the status of the mint
Every mint request returns an id
field that uniquely represents each NFT. You can track the status of the mint event using this ID, since minting an NFT can take a few seconds before its finalized on the blockchain. Once it's finalized, this endpoint will provide all onChain data you'll need about the NFT.
The following get request accepts this id
as a URL param.
curl --header "x-client-secret: <CLIENT SECRET>" \
--header "x-project-id: <PROJECT ID>" \
-X GET \
https://staging.crossmint.com/api/2022-06-09/collections/default-polygon/nfts/<id>
Step 4: You've minted your first NFT on the Mint API!
You can use the results of Step 3 to search for your contract on OpenSea (or any other marketplace)
Check out the many other features that the Mint API has to offer, including:
- Setting and editing custom metadata to give your project the ultimate touch of customizability!
- Creating collections programmatically
- Delivery to email addresses, or existing web3 wallets via public key
Finally, learn more about our API via our API Reference, and get inspiration by checking out our example projects!
Any questions? We'd love to talk to you on our discord!
Updated 18 days ago