Cross Chain Transfer Protocol (Off-Ramp)
Cross Chain Transfer Protocol is a protocol that allows for the transfer of digital assets across different blockchain networks.
SpherePay leverages Circle's Cross-Chain Transfer Protocol (CCTP) to facilitate asset bridging from chains such as SEI and Noble into USDC, enabling redemption into fiat through straightforward REST APIs. This guide covers SpherePay's endpoints for submitting transaction hashes and walks you through the integration from transfer initiation to calling our API. For detailed CCTP specifics, refer to Circle's documentation.
What is CCTP?
The Cross-Chain Transfer Protocol (CCTP) is our standardized off-chain mechanism that:
- Bridges stablecoins USDC between supported networks (e.g. SEI, Noble).
- Verifies the on-chain transfer via a proof (transaction hash).
- Redeems the bridged assets into fiat rails through SpherePay’s backend.
By separating the bridging (on-chain) step from the redemption (off-chain) step, CCTP ensures maximum security, auditability, and flexibility for cross-chain transfers.
Supported Chains & Assets
- Source Chains: SEI, Noble
- Bridged Assets: USDC
- Fiat Rails: As specified in our Transfer Acceptance Guide (must match your API request)
End-to-End Off-Ramp Flow
- Initiate the Transfer
Call the Transfer API to register your intent and specify the destination rail and currency.
https://api.spherepay.co/v1/transfer
https://api.sandbox.spherepay.co/v1/transfer
{
"amount": "100.00",
"customer": "customer_abc123",
"source": {
"id": "wallet_xyz789",
"currency": "usdc",
"network": "sei"
},
"destination": {
"id": "bankAccount_123456",
"currency": "usd",
"network": "achPush"
}
}
Information
Make sure source.network
is sei
or noble
and destination.network
matches one of the supported rails in our acceptance list.
-
Bridge the Funds On the SEI or Noble network, use CCTP to send the exact amount of USDC to the on-chain address provided in the Transfer response on the correct destination chain.
- Important: The token type, network, and amount must match your initial API request exactly.
- If this on-chain transfer fails or is delayed, the subsequent CCTP step will not work.
- Ensure you send the funds to the correct destination domain and address via CCTP.
-
Submit CCTP Transaction Once the on-chain transfer confirms, call the CCTP endpoint to complete the off-ramp.
https://api.spherepay.co/v1/transfer/cctp
https://api.sandbox.spherepay.co/v1/transfer/cctp
{
"transferId": "transfer_def456",
"proofOfBridge": {
"transactionHash": "0xabc123...",
"network": "sei"
}
}
transferId
comes from your initial/transfer
response.proofOfBridge.transactionHash
is the on-chain transaction that moved funds on SEI/Noble.
Warning
You must wait for the on-chain bridge transaction (Step 2) to succeed before calling /transfer/cctp
; otherwise the redemption will fail.
Error Handling & Best Practices
- Polling Status: Use the Retrieve Transfer endpoint to track
status
until it moves tobridged
before calling CCTP. - Idempotency: If you retry the CCTP call, use the same
transferId
—SpherePay will ensure no double-spend. - Webhook Notifications: Subscribe to transfer webhooks to get real-time updates on bridging and redemption.
- Network Fees: Account for on-chain gas fees on SEI/Noble when instructing users or building UI prompts.
By following these steps, you’ll enable a reliable, cross-chain off-ramp flow—bridging stablecoins from SEI and Noble into fiat rails—under your own brand and control. If you have questions, contact your SpherePay sales representative or visit our developer docs for more details.