Use headless checkout to buy anything onchain, across all chains, with any currency
This guide explains how to use Crossmint’s headless checkout APIs to enable purchases for any asset listed onchain in the supported marketplaces below. Unlike regular Crossmint checkout integrations, this API can be used without previously registering a collection in the Crossmint console.
The secondaries marketplace integration allows you to purchase NFTs listed on supported secondaries marketplaces
Blockchain | Supported Marketplaces |
---|---|
Ethereum | OpenSea (Seaport), Rarible, LooksRare, X2Y2, Foundation, Manifold, Zora, Blur, SuperRare, NFTX, Sudoswap |
Polygon | OpenSea (Seaport), Magic Eden, Rarible, OKX, Element |
Optimism | OpenSea (Seaport), Zora, OKX |
Arbitrum | OpenSea (Seaport), OKX |
Base | OpenSea (Seaport), Zora, Element |
Zora | OpenSea (Seaport), Zora |
Avalanche | OpenSea (Seaport), OKX, Element |
BSC | OKX, Element |
Solana | Magic Eden, Tensor |
To create an order for secondaries marketplace purchases, you’ll need to specify the NFTs you want to purchase using the lineItems
array, as you would in normal headless, but instead of using collectionLocator
you will use tokenLocator
. Each line item should include:
tokenLocator
Identifies the NFT’s location (contract address or mint hash)Example:
The tokenLocator
follows this format:
For EVM chains (Ethereum, Polygon, etc): <blockchain>:<contractAddress>:<tokenId>
ethereum:0x1234...5678:123
blockchain
: The chain name (ethereum, polygon, etc)contractAddress
: The NFT contract addresstokenId
: The specific token ID to purchaseFor Solana: solana:<mintHash>
solana:7nE9...X4p5
mintHash
: The NFT’s mint hash/address^(ethereum|polygon|optimism|arbitrum|base|zora|avalanche|bsc):[0-9a-fA-F]{40}:\d+$
Example valid formats:
^solana:[1-9A-HJ-NP-Za-km-z]{32,44}$
Example valid format:
Invalid token locator formats will result in a validation error with HTTP status code 400. Common validation errors include:
This example demonstrates:
tokenLocator
format for marketplace purchasesAfter creating the order, you’ll need to handle the payment and delivery phases as outlined in the Order Lifecycle guide.
As outlined in the Delivery Phase of the order lifecycle guides, it is important to keep track of the delivery for each item passed when you created the order and report back to the user on the status of the order.
Each line item is attempted and processed independently. If one line item fails, others will still go through and be fulfilled. If any items are undeliverable, the buyer will be automatically refunded for that specific portion of their order.
Use headless checkout to buy anything onchain, across all chains, with any currency
This guide explains how to use Crossmint’s headless checkout APIs to enable purchases for any asset listed onchain in the supported marketplaces below. Unlike regular Crossmint checkout integrations, this API can be used without previously registering a collection in the Crossmint console.
The secondaries marketplace integration allows you to purchase NFTs listed on supported secondaries marketplaces
Blockchain | Supported Marketplaces |
---|---|
Ethereum | OpenSea (Seaport), Rarible, LooksRare, X2Y2, Foundation, Manifold, Zora, Blur, SuperRare, NFTX, Sudoswap |
Polygon | OpenSea (Seaport), Magic Eden, Rarible, OKX, Element |
Optimism | OpenSea (Seaport), Zora, OKX |
Arbitrum | OpenSea (Seaport), OKX |
Base | OpenSea (Seaport), Zora, Element |
Zora | OpenSea (Seaport), Zora |
Avalanche | OpenSea (Seaport), OKX, Element |
BSC | OKX, Element |
Solana | Magic Eden, Tensor |
To create an order for secondaries marketplace purchases, you’ll need to specify the NFTs you want to purchase using the lineItems
array, as you would in normal headless, but instead of using collectionLocator
you will use tokenLocator
. Each line item should include:
tokenLocator
Identifies the NFT’s location (contract address or mint hash)Example:
The tokenLocator
follows this format:
For EVM chains (Ethereum, Polygon, etc): <blockchain>:<contractAddress>:<tokenId>
ethereum:0x1234...5678:123
blockchain
: The chain name (ethereum, polygon, etc)contractAddress
: The NFT contract addresstokenId
: The specific token ID to purchaseFor Solana: solana:<mintHash>
solana:7nE9...X4p5
mintHash
: The NFT’s mint hash/address^(ethereum|polygon|optimism|arbitrum|base|zora|avalanche|bsc):[0-9a-fA-F]{40}:\d+$
Example valid formats:
^solana:[1-9A-HJ-NP-Za-km-z]{32,44}$
Example valid format:
Invalid token locator formats will result in a validation error with HTTP status code 400. Common validation errors include:
This example demonstrates:
tokenLocator
format for marketplace purchasesAfter creating the order, you’ll need to handle the payment and delivery phases as outlined in the Order Lifecycle guide.
As outlined in the Delivery Phase of the order lifecycle guides, it is important to keep track of the delivery for each item passed when you created the order and report back to the user on the status of the order.
Each line item is attempted and processed independently. If one line item fails, others will still go through and be fulfilled. If any items are undeliverable, the buyer will be automatically refunded for that specific portion of their order.