Deposits
Returns all USDCx deposits from Ethereum to Stacks, aggregating data from 3 sources:
ETH Events: DepositedToRemote events from the xReserve contract
Circle Attestations: Signed attestations from Circle's API (after ETH finality)
STX Mints: Print events from the relay transaction on Stacks
Each deposit has a status:
pending: Only the ETH event exists (waiting for Circle attestation)attested: ETH event + Circle attestation (waiting to be relayed)relayed: All 3 sources present (deposit completed)
Deposits are matched by nonce and sorted chronologically (newest first).
Response for status 200
GET /{networkStr}/deposits HTTP/1.1
Host: api.usdc-on-stacks.com
Accept: */*
Response for status 200
{
"deposits": [
{
"amount": "text",
"amountFormatted": "text",
"circleAttestation": {
"attestation": "text",
"decodedAmount": "text",
"decodedRemoteRecipient": "text",
"messageHash": "text",
"payload": "text"
},
"ethEvent": {
"blockNumber": "text",
"localDepositor": "text",
"localToken": "text",
"logIndex": 1,
"maxFee": "text",
"nonce": "text",
"remoteRecipient": "text",
"transactionHash": "text",
"value": "text"
},
"ethExplorerLink": "text",
"ethTxid": "text",
"nonce": "text",
"status": null,
"stxRecipient": "text"
}
],
"total": 1
}Returns the Stacks mint transaction id for each requested deposit message hash, conforming to Circle's partner-deposit-mint-tx-lookup spec.
Returns exactly one result per requested message hash. remoteMintTxId is null until the deposit has been relayed and its mint transaction is confirmed on-chain; remoteMintTxConfirmedAt is the confirmation timestamp (ISO 8601 UTC), looked up live at request time, and is non-null whenever remoteMintTxId is non-null.
Deposit message hashes to look up. 1-20 per request.
A 32-byte deposit message hash, 0x-prefixed hex.
Exactly one result per requested message hash.
Exactly one result per requested message hash.
POST /{networkStr}/deposits/mint-tx-lookup HTTP/1.1
Host: api.usdc-on-stacks.com
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"messageHashes": [
"text"
]
}Exactly one result per requested message hash.
{
"results": [
{
"messageHash": "text",
"remoteMintTxConfirmedAt": "text",
"remoteMintTxId": "text"
}
]
}Last updated
Was this helpful?