Import custom and/or third party contracts
When does it make sense to bring my own contract?
What about secondary sale contracts/marketplaces?
Navigate to Token collections and click `New collection`
Enter Collection Information
Select `Import an existing contract` option
Select the Blockchain your contract is deployed on
My ABI wasn't automatically imported
.abi
or .json
extension.Inside this file, you’ll see JSON property named abi, which describes the functions in your smart contract. Here’s an example of a very simple abi file. Yours will likely have more function descriptions.abi
and paste it into the Contract ABI
text box in the developer console. The content you paste in should begin with [
and end with ]
.Specifying the remaining parameters
Using proxy contracts
Step 5: Select `Import my own contract` option
Step 6: Contract Address
Step 7: Proxy or Sales Contract (optional)
Step 8: Contract ABI
Step 9: Mint Function Currency
Step 10: Select Mint Function
payable
. Change the currency selector to USDC to populate the mint function list with valid options.Step 11: Parameter for recipient address
address
. If you have multiple options here, ensure that you select the correct one. Doing this incorrectly will result in the purchased NFTs being sent to the wrong address and they likely will not be recoverable.Step 12: Parameter for quantity
uint256
. If you have multiple options here, ensure that you select the correct one. Doing this incorrectly will result in the NFT checkout tools not being able to properly mint the correct quantity of NFTs.Step 13: Review details and click `Register collection` to complete
Step 5: Select Solana for the blockchain
Step 6: Choose candy machine version and enter candy machine ID
cache.json
file in the folder where you deployed your Candy Machine.Step 7: Review details and click `Register collection` to complete
What about Xion blockchain contracts?
What about other blockchains? (Aptos, Sui, etc.)
Can I register my collection via API?
POST https://staging.crossmint.com/api/v1-alpha1/collections
Required Headers:Content-Type: application/json
x-api-key: <your-api-key>
(requires collections.create
scope)"solana"
, "ethereum"
, "polygon"
, "bsc"
"candy-machine"
, "erc-721"
, "erc-1155"
, "thirdweb-drop"
contractAddress
, abi
, mintFunctionName
, toParamName
, contractType
(required); quantityParamName
(optional)candyMachineId
(required)title
, description
, imageUrl
(all required), and optional social
object with twitter
/discord
links"external"
for imported contracts"art"
, "gaming"
, "music"
, "loyalty"
, "ticketing"
, "charity"
, "other"
["payments:credit-card", "payments:cross-chain"]
collectionId
and clientId
are typically the same value and can be used interchangeably for checkout integration.