For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deposits

Get all deposits

get

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).

Path parameters
networkStrstringRequired
Responses
200

Response for status 200

application/json
totalnumberRequired
get/{networkStr}/deposits
GET /{networkStr}/deposits HTTP/1.1
Host: api.usdc-on-stacks.com
Accept: */*
200

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
}

Look up mint transaction ids by deposit message hash

post

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.

Path parameters
networkStrstringRequired
Body

Deposit message hashes to look up. 1-20 per request.

messageHashesstring[] · min: 1 · max: 20Required

A 32-byte deposit message hash, 0x-prefixed hex.

Responses
200

Exactly one result per requested message hash.

application/json

Exactly one result per requested message hash.

post/{networkStr}/deposits/mint-tx-lookup
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"
  ]
}
200

Exactly one result per requested message hash.

{
  "results": [
    {
      "messageHash": "text",
      "remoteMintTxConfirmedAt": "text",
      "remoteMintTxId": "text"
    }
  ]
}

Last updated

Was this helpful?