Skip to main content
POST
The values you send are what your client believes. Chipi reads the burn’s own DepositForBurn event: the burn must be USDC from walletAddress, and its amount, destination domain and mint recipient replace yours (for Solana, the recipient must be recipientOwner’s USDC token account). feeBps is capped at Circle’s live fee. When the receipt is not indexed yet, your values are stored with verifiedOnChain: false and finalize verifies them before any USDC moves.

Authorizations

Authorization
string
header
required

Bearer token — use your secret key (sk_prod_xxx) for server-side calls, or the user's JWT for client-side calls

x-api-key
string
header
required

Your Chipi public API key (pk_xxx)

Body

application/json
burnTxHash
string
required

The Starknet deposit_for_burn transaction hash. Idempotency key.

walletAddress
string
required

The Chipi wallet that burned. The burn's DepositForBurn event must name it as the depositor.

destChain
string
required

Destination chain label, e.g. "Base"

destDomain
integer
required

Circle CCTP domain of the destination chain. Replaced by the burn's own value.

recipient
string
required

Destination address (EVM) or Solana owner. For EVM, replaced by the burn's own mint recipient.

token
enum<string>
required

Token identifier

Available options:
USDC,
USDC_E,
USDT,
DAI,
ETH,
STRK,
SLINK,
ALF,
BROTHER,
ARB,
DOC,
MXNB,
WLD,
WBTC,
OTHER
amount
string
required

Human USDC amount, e.g. "7.810000". Replaced by the burn's own amount.

recipientOwner
string

Solana only: the owner whose USDC token account the burn mints to

feeBps
number

The fee quoted for this route, in basis points. Capped at Circle's live fee.

finality
enum<string>

fast: Circle attests after a few confirmations, for a fee taken from the amount. standard: free, attested at the source chain's hard finality.

Available options:
fast,
standard

Response

Withdrawal recorded (PENDING)

burnTxHash
string
required
destChain
string
required
destDomain
integer
required
recipient
string
required
amount
string
required

Human USDC

status
enum<string>
required
Available options:
PENDING,
COMPLETE,
FAILED
sponsoredByChipi
boolean
required
recipientOwner
string | null
destTxHash
string | null

The destination receiveMessage transaction, once COMPLETE

failureReason
string | null
feeBps
number | null
finality
string | null
verifiedOnChain
boolean

Whether amount, destDomain and recipient were read from the burn's own DepositForBurn event