curl --request POST \
--url https://staging.crossmint.com/api/2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"amount": "10",
"recipient": "0x9fda6b2c3e4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f"
}
'{
"chainType": "aptos",
"createdAt": 123,
"id": "<string>",
"onChain": {
"call": {
"data": "<unknown>",
"to": "<string>"
},
"explorerLink": "<string>",
"txId": "<string>"
},
"params": {
"call": {
"abi": [
"<unknown>"
],
"address": "<string>",
"args": [
"<unknown>"
],
"functionName": "<string>"
},
"chain": "abstract"
},
"status": "awaiting-approval",
"walletType": "mpc",
"approvals": {
"pending": [
{
"quorumApprovals": {
"pending": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>"
}
],
"remaining": 123,
"submitted": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>",
"signature": "<string>",
"submittedAt": 123
}
],
"threshold": 123
},
"signer": {
"locator": "<string>",
"type": "quorum"
}
}
],
"submitted": [
{
"quorumApprovals": {
"pending": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>"
}
],
"remaining": 123,
"submitted": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>",
"signature": "<string>",
"submittedAt": 123
}
],
"threshold": 123
},
"signer": {
"locator": "<string>",
"type": "quorum"
}
}
],
"required": 123
},
"completedAt": 123,
"error": {
"message": "<string>",
"reason": "program_error",
"logs": "<unknown>",
"revertData": {}
},
"fees": {
"mode": "project",
"actual": "<unknown>",
"billed": {
"usd": 123
},
"billing": {
"status": "failed"
},
"estimate": "<unknown>"
},
"sendParams": {
"params": {
"recipient": "<string>",
"recipientAddress": "<string>",
"amount": "<string>"
},
"token": "<string>"
}
}Transfer Token
Sends a token of any type from this wallet to a recipient
curl --request POST \
--url https://staging.crossmint.com/api/2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"amount": "10",
"recipient": "0x9fda6b2c3e4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f"
}
'{
"chainType": "aptos",
"createdAt": 123,
"id": "<string>",
"onChain": {
"call": {
"data": "<unknown>",
"to": "<string>"
},
"explorerLink": "<string>",
"txId": "<string>"
},
"params": {
"call": {
"abi": [
"<unknown>"
],
"address": "<string>",
"args": [
"<unknown>"
],
"functionName": "<string>"
},
"chain": "abstract"
},
"status": "awaiting-approval",
"walletType": "mpc",
"approvals": {
"pending": [
{
"quorumApprovals": {
"pending": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>"
}
],
"remaining": 123,
"submitted": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>",
"signature": "<string>",
"submittedAt": 123
}
],
"threshold": 123
},
"signer": {
"locator": "<string>",
"type": "quorum"
}
}
],
"submitted": [
{
"quorumApprovals": {
"pending": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>"
}
],
"remaining": 123,
"submitted": [
{
"member": {
"address": "<string>",
"locator": "<string>",
"type": "api-key"
},
"message": "<string>",
"signature": "<string>",
"submittedAt": 123
}
],
"threshold": 123
},
"signer": {
"locator": "<string>",
"type": "quorum"
}
}
],
"required": 123
},
"completedAt": 123,
"error": {
"message": "<string>",
"reason": "program_error",
"logs": "<unknown>",
"revertData": {}
},
"fees": {
"mode": "project",
"actual": "<unknown>",
"billed": {
"usd": 123
},
"billing": {
"status": "failed"
},
"estimate": "<unknown>"
},
"sendParams": {
"params": {
"recipient": "<string>",
"recipientAddress": "<string>",
"amount": "<string>"
},
"token": "<string>"
}
}Authorizations
API key required for authentication
Headers
Unique string, such as a UUID, that identifies this request. It is not the transaction ID. To retry the request, send it again with the same key. If a transaction already exists for this key in the project, the API returns that transaction in its current status and ignores the new request body. Keys do not expire and are not returned in responses. See Transfer Tokens for details.
Path Parameters
A wallet locator can be of the format:
<walletAddress>email:<email>:<chainType>[:<walletType>][:alias:<alias>](walletType defaults to 'smart')userId:<userId>:<chainType>[:<walletType>][:alias:<alias>](white label user example)phoneNumber:<phoneNumber>:<chainType>[:<walletType>][:alias:<alias>]twitter:<handle>:<chainType>[:<walletType>][:alias:<alias>]x:<handle>:<chainType>[:<walletType>][:alias:<alias>]me:<chainType>[:<walletType>][:alias:<alias>](Use when calling from the client side with a client API key)chainType[:<walletType>]:alias:<alias>
A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:
chain:address[:tokenId]chain:currencychain:address
Body
- Option 1
- Option 2
Base fields for all token deposits
Amount of tokens to transfer (in decimal value)
^\d+(?:\.\d*)?$"42.69"
"CROSSMINT"
Optional per-transaction fee configuration override. When omitted, the project default is used.
Show child attributes
Show child attributes
Memo for the transaction. Only supported for Stellar
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
{ "type": "text", "value": "Hello, world!" }
Optional signer locator. Defaults to admin signer
"external-wallet:0xdeadbeef"
Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.
"direct"Response
The transaction has been successfully created.
- EVM MPC Wallet
- EVM Smart Wallet
- Stellar Smart Wallet
- Solana Smart Wallet
- Solana MPC Wallet
Complete transaction response including status, signing requirements, and wallet type specific data
The blockchain type of the wallet
aptos, evm, solana, stellar, sui ISO timestamp when the transaction was created
Unique identifier for the transaction
Transaction data specific to EVM MPC wallets
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Current status of the transaction
awaiting-approval, failed, pending, success The wallet type (smart or mpc)
mpc, smart Complete approval data including requirements, pending and submitted signatures
Show child attributes
Show child attributes
ISO timestamp when the transaction reached finality
Error message if the transaction fails after submission
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Transaction fee information including actual transaction fees, billed amounts, and billing status
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?

