API Reference
Wallets
- POSTCreate Wallet
- GETGet Wallet By Locator
- GETGet Wallet Balance
- POSTFund Wallet
- GETGet NFTs from Wallet
- POSTCreate Transaction
- GETGet Transaction
- GETGet Wallet Transactions
- POSTApprove Transaction
- POSTCreate Signature
- GETGet All Signatures
- GETGet Signature
- POSTApprove Signature
- POSTRegister Delegated Signer
- GETGet Delegated Signer
NFTs
IP
NFT Collections
NFT Templates
Verifiable Credentials
Verifiable Credential Types
Headless Checkout
Action Status
Admin
Subscriptions
Create Order
Creates a new order that can be used to complete a headless checkout.
API scope required: orders.create
curl --request POST \
--url https://staging.crossmint.com/api/2022-06-09/orders \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"recipient": {
"email": "jsmith@example.com",
"physicalAddress": {
"name": "<string>",
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
}
},
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"method": "arbitrum-sepolia",
"currency": "eth",
"payerAddress": "<string>"
},
"lineItems": {
"collectionLocator": "crossmint:<collectionId>",
"callData": {
"totalPrice": "<string>"
}
}
}'
{
"clientSecret": "_removed_",
"order": {
"orderId": "b2959ca5-65e4-466a-bd26-1bd05cb4f837",
"phase": "payment",
"locale": "en-US",
"lineItems": [
{
"chain": "polygon-amoy",
"quantity": 1,
"callData": {
"quantity": 1,
"ADDITIONAL_PROPERTIES": "Your other mint function arguments"
},
"metadata": {
"name": "Headless Checkout Demo",
"description": "NFT Description",
"imageUrl": "https://cdn.io/image.png"
},
"quote": {
"status": "valid",
"charges": {
"unit": {
"amount": "0.0001",
"currency": "eth"
},
"salesTax": {
"amount": "0.34",
"currency": "usdc"
},
"shipping": {
"amount": "0",
"currency": "usdc"
}
},
"totalPrice": {
"amount": "0.0001",
"currency": "eth"
}
},
"delivery": {
"status": "awaiting-payment",
"recipient": {
"locator": "email:<email_address>:<chain>",
"email": "testy@crossmint.com",
"walletAddress": "0x1234abcd..."
}
}
}
],
"quote": {
"status": "valid",
"quotedAt": "2024-06-07T16:55:44.653Z",
"expiresAt": "2024-06-07T17:55:44.653Z",
"totalPrice": {
"amount": "0.0001375741",
"currency": "eth"
}
},
"payment": {
"status": "awaiting-payment",
"method": "base-sepolia",
"currency": "eth",
"preparation": {
"chain": "base-sepolia",
"payerAddress": "0x1234abcd...",
"serializedTransaction": "0x02f90....."
}
}
}
}
Authorizations
Body
arbitrum-sepolia
, base-sepolia
, ethereum-sepolia
, optimism-sepolia
, arbitrum
, bsc
, ethereum
, optimism
eth
, usdc
, degen
, brett
, toshi
, usdxm
Email that the receipt will be sent to.
An EVM wallet address.
The collection locator of the line item. For example: crossmint:<collectionId>
. These fields can be retrieved from the Crossmint console.
"crossmint:<collectionId>"
Information that you pass to your contract mint function.
The total price of the line item. It must be the same as the contract expects to receive. Read https://docs.crossmint.com/nft-checkout/advanced/component-properties#mintconfig
Recipient of the items being purchased. Crossmint will create a custodial wallet address for the user on the fly, that they can later log in to. If no recipient is passed, an order will be created with the status 'requires-recipient', until you pass one.
Physical shipping address for the recipient. Required when purchasing physical products.
Full name of the recipient
Street address, P.O. box, company name, c/o
City, district, suburb, town, or village
ZIP or postal code
Two-letter country code (ISO 3166-1 alpha-2). Currently only US is supported.
Apartment, suite, unit, building, floor, etc.
State, county, province, or region. Required for US addresses.
Locale for the checkout, in IETF BCP 47. It impacts the email receipt language. Ensure your UI is set to the same language as specified here. Throws an error if passed an invalid language.
en-US
, es-ES
, fr-FR
, it-IT
, ko-KR
, pt-PT
, ja-JP
, zh-CN
, zh-TW
, de-DE
, ru-RU
, tr-TR
, uk-UA
, th-TH
, vi-VN
, Klingon
"en-US"
Response
A token exclusively scoped to a particular order, allowing for the reading or updating of that order.
"_removed_"
"b2959ca5-65e4-466a-bd26-1bd05cb4f837"
"payment"
"en-US"
"polygon-amoy"
1
"valid"
"awaiting-payment"
Status of the quote. 'requires-physical-address' indicates that a shipping address is required for physical products.
valid
, expired
, all-line-items-unavailable
, requires-physical-address
"valid"
"2024-06-07T16:55:44.653Z"
"2024-06-07T17:55:44.653Z"
"awaiting-payment"
"base-sepolia"
"eth"
Was this page helpful?
curl --request POST \
--url https://staging.crossmint.com/api/2022-06-09/orders \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"recipient": {
"email": "jsmith@example.com",
"physicalAddress": {
"name": "<string>",
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
}
},
"locale": "en-US",
"payment": {
"receiptEmail": "jsmith@example.com",
"method": "arbitrum-sepolia",
"currency": "eth",
"payerAddress": "<string>"
},
"lineItems": {
"collectionLocator": "crossmint:<collectionId>",
"callData": {
"totalPrice": "<string>"
}
}
}'
{
"clientSecret": "_removed_",
"order": {
"orderId": "b2959ca5-65e4-466a-bd26-1bd05cb4f837",
"phase": "payment",
"locale": "en-US",
"lineItems": [
{
"chain": "polygon-amoy",
"quantity": 1,
"callData": {
"quantity": 1,
"ADDITIONAL_PROPERTIES": "Your other mint function arguments"
},
"metadata": {
"name": "Headless Checkout Demo",
"description": "NFT Description",
"imageUrl": "https://cdn.io/image.png"
},
"quote": {
"status": "valid",
"charges": {
"unit": {
"amount": "0.0001",
"currency": "eth"
},
"salesTax": {
"amount": "0.34",
"currency": "usdc"
},
"shipping": {
"amount": "0",
"currency": "usdc"
}
},
"totalPrice": {
"amount": "0.0001",
"currency": "eth"
}
},
"delivery": {
"status": "awaiting-payment",
"recipient": {
"locator": "email:<email_address>:<chain>",
"email": "testy@crossmint.com",
"walletAddress": "0x1234abcd..."
}
}
}
],
"quote": {
"status": "valid",
"quotedAt": "2024-06-07T16:55:44.653Z",
"expiresAt": "2024-06-07T17:55:44.653Z",
"totalPrice": {
"amount": "0.0001375741",
"currency": "eth"
}
},
"payment": {
"status": "awaiting-payment",
"method": "base-sepolia",
"currency": "eth",
"preparation": {
"chain": "base-sepolia",
"payerAddress": "0x1234abcd...",
"serializedTransaction": "0x02f90....."
}
}
}
}