curl -X POST "https://api.chipipay.com/v1/transactions/finalize-cross-chain-withdrawal" \
-H "Authorization: Bearer sk_prod_xxxx" \
-H "x-api-key: pk_xxxx" \
-H "Content-Type: application/json" \
-d '{ "burnTxHash": "0x07d61890..." }'
{
"burnTxHash": "0x07d61890...",
"status": "COMPLETE",
"destTxHash": "0x9c1e...",
"sponsoredByChipi": true,
"verifiedOnChain": true
}
{
"statusCode": 409,
"message": "Burn 0x07d61890... is not confirmed on Starknet yet; retry"
}
Cross-chain
Finalize Cross-chain Withdrawal
Have Chipi’s relayer deliver a recorded withdrawal on the destination chain
POST
/
transactions
/
finalize-cross-chain-withdrawal
curl -X POST "https://api.chipipay.com/v1/transactions/finalize-cross-chain-withdrawal" \
-H "Authorization: Bearer sk_prod_xxxx" \
-H "x-api-key: pk_xxxx" \
-H "Content-Type: application/json" \
-d '{ "burnTxHash": "0x07d61890..." }'
{
"burnTxHash": "0x07d61890...",
"status": "COMPLETE",
"destTxHash": "0x9c1e...",
"sponsoredByChipi": true,
"verifiedOnChain": true
}
{
"statusCode": 409,
"message": "Burn 0x07d61890... is not confirmed on Starknet yet; retry"
}
curl -X POST "https://api.chipipay.com/v1/transactions/finalize-cross-chain-withdrawal" \
-H "Authorization: Bearer sk_prod_xxxx" \
-H "x-api-key: pk_xxxx" \
-H "Content-Type: application/json" \
-d '{ "burnTxHash": "0x07d61890..." }'
{
"burnTxHash": "0x07d61890...",
"status": "COMPLETE",
"destTxHash": "0x9c1e...",
"sponsoredByChipi": true,
"verifiedOnChain": true
}
{
"statusCode": 409,
"message": "Burn 0x07d61890... is not confirmed on Starknet yet; retry"
}
receiveMessage on the destination chain paying its gas, and, when Chipi sponsors the fee, pays the recipient back the fee Circle took, both read from the attested message. The call can take minutes. Retry freely: a finished withdrawal comes back COMPLETE, and the Starknet burn is never lost.Authorizations
Bearer token — use your secret key (sk_prod_xxx) for server-side calls, or the user's JWT for client-side calls
Your Chipi public API key (pk_xxx)
Body
application/json
Response
Withdrawal COMPLETE with destTxHash
Human USDC
Available options:
PENDING, COMPLETE, FAILED The destination receiveMessage transaction, once COMPLETE
Whether amount, destDomain and recipient were read from the burn's own DepositForBurn event
Was this page helpful?
⌘I
