Prerequisites
- A supported source chain and its USDC contract
- The user’s wallet with enough USDC for the quoted amount
- The recipient address to credit in Circle Gateway
- A wallet client that can sign EIP-712 typed data
- A way to confirm the recipient’s Gateway balance, or a v1 API key for intent tracking
Complete the deposit
- Create a quoted deposit address. Retain the returned
vaultAddress,amount, anddeadlinetogether. - Follow the ERC-3009 signing example. Set
authorization.toto the returned address and use the correct source-chain token domain. - Submit the signed authorization to
POST /v1/circle-gateway/deposit-addresses/submit/erc-3009. Save the exact payload and job ID for retries and tracking. - Track the funding job and deposit. Confirm delivery separately from job acceptance and intent publication.
Troubleshooting
- If signing fails, check the chain, USDC contract, token domain, wallet account, and authorization dates.
- If the quote has expired, request a new deposit address before collecting another signature.
- If a submit call times out, retry the identical signed payload. Do not sign a second payment without checking the original job.
- If a job fails, inspect its transaction hashes and deposit state. A failure status alone does not prove that no tokens moved.
