Skip to main content
POST
/
v2
/
cctp
/
burn
Python (SDK)
from compass_api_sdk import CompassAPI, models


with CompassAPI(
    api_key_auth="<YOUR_API_KEY_HERE>",
) as compass_api:

    res = compass_api.bridge.cctp_burn(owner="0x01E62835dd7F52173546A325294762143eE4a882", chain=models.DepositForBurnRequestChain.ARBITRUM, amount="3", destination_chain=models.DestinationChain.BASE, gas_sponsorship=True, transfer_mode=models.DepositForBurnRequestTransferMode.STANDARD)

    # Handle response
    print(res)
{
  "transaction": {
    "chainId": "<string>",
    "data": "<string>",
    "from": "<string>",
    "gas": "<string>",
    "to": "<string>",
    "value": "<string>",
    "nonce": "<string>",
    "maxFeePerGas": "<string>",
    "maxPriorityFeePerGas": "<string>"
  },
  "eip_712": {
    "domain": {
      "chainId": 123,
      "verifyingContract": "<string>"
    },
    "types": {
      "EIP712Domain": [
        {
          "name": "<string>",
          "type": "<string>"
        }
      ],
      "SafeTx": [
        {
          "name": "<string>",
          "type": "<string>"
        }
      ]
    },
    "primaryType": "<string>",
    "message": {
      "to": "<string>",
      "value": "<string>",
      "data": "<string>",
      "operation": 0,
      "safeTxGas": "<string>",
      "baseGas": "<string>",
      "gasPrice": "<string>",
      "gasToken": "<string>",
      "refundReceiver": "<string>",
      "nonce": "<string>"
    }
  },
  "transfer_mode": "fast",
  "estimated_time_seconds": 123,
  "bridge_id": "br_a1b2c3d4e5f6",
  "fee": 0.01
}

Authorizations

x-api-key
string
header
required

Your Compass API Key. Get your key here.

Body

application/json
owner
string
required

The primary wallet address that owns and controls the Product Account.

chain
enum<string>
required

The source chain where USDC will be burned.

Available options:
ethereum,
arbitrum,
base
amount
required

The amount of USDC to bridge (in token units, e.g., 100.5 for 100.5 USDC).

Required range: x > 0
Example:

100

destination_chain
enum<string>
required

The destination chain where USDC will be minted.

Available options:
ethereum,
arbitrum,
base
gas_sponsorship
boolean
default:false

Optionally request gas sponsorship. If set to true, EIP-712 typed data will be returned that must be signed by the owner and submitted to the 'Prepare gas-sponsored transaction' endpoint (/gas_sponsorship/prepare).

transfer_mode
enum<string>
default:standard

Transfer speed mode. 'fast': ~30 second transfers using confirmed finality (requires a small fee taken from transfer amount). 'standard': ~15-19 minute transfers using full finality (free, no fee). Default is 'standard'.

Available options:
fast,
standard

Response

Successful Response

Response model for CCTP depositForBurn transaction from a smart account.

Contains either an unsigned transaction for direct submission or EIP-712 typed data for gas-sponsored transactions. Also includes a bridge_id for tracking the cross- chain transfer.

transaction
UnsignedTransaction · object
required
eip_712
BatchedSafeOperationsResponse · object
required

Response containing EIP-712 typed data for Safe transaction signing.

transfer_mode
enum<string>
required

The transfer speed mode used. 'fast' uses confirmed finality (~30s), 'standard' uses full finality (~15-19 min).

Available options:
fast,
standard
estimated_time_seconds
integer
required

Estimated time to complete the bridge in seconds.

bridge_id
string | null

Unique bridge identifier for tracking this cross-chain transfer. Use this ID when calling /mint/prepare to complete the transfer. Only present when Redis is configured on the server.

Example:

"br_a1b2c3d4e5f6"

fee
string | null

Fee amount in USDC charged for this transfer. Only present for fast mode. Standard mode transfers are free (fee is None or 0).

Example:

0.01