What You Need
The Cashmere Developer SDK is currently in alpha.
A more comprehensive and production-ready version will be released in the coming weeks.
A more comprehensive and production-ready version will be released in the coming weeks.
- Access to a JSON-RPC endpoint for the origin chain (e.g., Ethereum).
- A signer with USDC balance and the ability to send transactions.
- Cashmere contract addresses from the Smart Contracts guide.
- Node.js (for the TypeScript example) or your preferred language runtime.
All tooling in this quickstart is open—no API keys or proprietary SDKs required.
Step-by-Step (EVM)
- 1. Fetch Fee
- 2. Build Params
- 3. Execute
Decimals cheat sheet
Gas API quotes
Gas API quotes
fee in 6-decimal USDC unless isNative=true. For native-fee routes use the chain’s native decimals when encoding gasDropAmount and forwarding value:
EVM → 18 decimals, Solana (lamports) → 9, Sui → 9, Aptos → 8.Need tighter
maxFee bounds? Query Circle IRIS at https://iris-api.circle.com/v2/burn/USDC/fees/{sourceDomainId}/{destDomainId}. The response lists recommended minimumFee values for each finalityThreshold (e.g., 1,000 for Fast, 2,000 for Normal).Step-by-Step (Solana)
- Request an Ed25519 signature from the Gas API. Pass
version=2when calling the v2 instruction. - Derive the Solana Associated Token Account (ATA) for the destination wallet and convert both the ATA and owner to 32-byte hex (see the Recipient Encoding section in the Smart Contracts guide).
- Insert an
Ed25519Programinstruction ahead of the Cashmere program call inside the sameVersionedTransactionand reuse the quote’sfee,deadline, and signature bytes when invokingtransfer_v2. - Include the Cashmere lookup table (
865YCTTsymGpBjLMTvjd3T3RCGT8yvxnAHhyKZqRFfLi) so the transaction stays within the account limits, and fetch the config account to populate fee collectors.
Step-by-Step (Sui)
- Request the Ed25519 quote with
localDomain=8(Sui) and your targetdestinationDomain. - Mint or split USDC/SUI coins so
prepare_deposit_for_burn_ticketreceivesusdc_coincontaining the burn amount plus any USDC gas drop. Whenfee_is_native=true, split SUI gas to coverfee + gas_drop_amount. - Call
prepare_deposit_for_burn_ticket, forward the ticket to Circle’sdeposit_for_burn_with_package_auth, then finish withpost_deposit_for_burn.
Step-by-Step (Aptos)
- Fetch the Ed25519 quote with
localDomain=9and convert the signature hex into a byte array. - Populate
transfer_outerparameters: amounts in 6-decimal USDC, optional native fee in 8-decimal APT, and the 32-byterecipient/solana_ownerfields. - Build the entry-function payload, simulate if your wallet supports it, then sign and submit.
Monitor the Outcome
- Use
https://kapi.cashmere.exchange/transactionsmainnetto confirm settlement. - Subscribe to
wss://gas.cashmere.exchange/subscribefor live fee updates.
Next Steps
- Review the Backend APIs for detailed payload structures.
- Explore the Smart Contracts guide for per-chain nuances.
- Build notifications by polling
/transactionsmainnetor streaming from your preferred indexer.