Skip to main content
POST
Check my deposit transaction
Submits a transaction hash or signature for independent chain verification against a receive address owned by the client token’s account. Pass tokenAddress or logIndex to disambiguate multiple matching transfers. Known check failures return HTTP 200 with isTransferDone: false and an error object, so read the body, not just the status code.

Authorizations

Authorization
string
header
required

Short-lived account-bound token returned by POST /v2/client/auth/exchange.

Body

application/json
transactionHash
string
required

Observed transaction hash or signature.

Maximum string length: 256
Example:

"0xabc1230000000000000000000000000000000000000000000000000000000000"

chainId
enum<integer>
required

Supported deposit chain IDs: Arbitrum=42161, Ethereum=1, Base=8453, Polygon=137, BNB Smart Chain=56, Avalanche=43114, Robinhood Chain=4663, Tempo=4217, Solana=10103, Movement=10002, Tron=728126428, Bitcoin=10001.

Available options:
42161,
1,
8453,
137,
56,
43114,
4663,
4217,
10103,
10002,
728126428,
10001
Example:

42161

depositAddress
string
required

The account receive address that should have received the transfer.

Required string length: 8 - 256
Example:

"0x1111111111111111111111111111111111111111"

tokenAddress
string

Optional token identifier used to disambiguate multiple matching transfers. Use the configured contract/mint, the EVM zero address for ETH/POL/BNB, native:btc for BTC, or the Solana System Program address for SOL.

Maximum string length: 128
Example:

"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"

logIndex
integer

Optional token log/account index used to disambiguate token transfers. Omit it for native EVM and SOL transfers.

Required range: x >= 0

Response

Deposit check result

checked
boolean
required
Example:

true

detected
boolean
required
Example:

true

isTransferDone
boolean

True only when the hash is verified as a supported deposit transfer to the submitted active deposit address and passes the chain minimum. Known check failures return false with HTTP 200.

Example:

true

verified
boolean

True when a transaction hash was verified through a configured chain RPC.

Example:

true

supported
boolean

False when the transaction exists but is not a supported configured token/native deposit transfer, is unconfirmed, or does not pass the chain minimum.

Example:

true

chainId
enum<integer>

Supported deposit chain IDs: Arbitrum=42161, Ethereum=1, Base=8453, Polygon=137, BNB Smart Chain=56, Avalanche=43114, Robinhood Chain=4663, Tempo=4217, Solana=10103, Movement=10002, Tron=728126428, Bitcoin=10001.

Available options:
42161,
1,
8453,
137,
56,
43114,
4663,
4217,
10103,
10002,
728126428,
10001
Example:

42161

depositAddress
string
Example:

"0x1111111111111111111111111111111111111111"

transactionHash
string
Example:

"0xabc1230000000000000000000000000000000000000000000000000000000000"

hashExists
boolean

False when the hash is malformed or the chain RPC reports the transaction was not found.

Example:

false

depositAddressExists
boolean

False when the submitted deposit address is not active for the account and chain.

Example:

true

addressMatched
boolean

For non-deposit transaction-hash checks, indicates whether the chain transaction appeared to touch the submitted deposit address.

Example:

true

reason
string
Example:

"unsupported_deposit_transaction"

minimumTransactionAmountAtomic
string

Minimum threshold in the asset's atomic units when a verified deposit is ignored for being too small.

Example:

"10000"

minimumTransactionAmount
string

Human-readable minimum threshold when a verified deposit is ignored for being too small.

Example:

"0.0001"

error
object

Known validation, not-found, conflict, or provider-check error returned with HTTP 200 for transaction-hash checks. Provider/RPC details are not exposed.

idempotent
boolean
Example:

false

ignored
boolean

True when Stableyard recorded the observed deposit but did not create a transaction. Reusable USDC/USDT/USDG deposits are accepted at 0.5 tokens and above except Tron USDT, whose inclusive minimum is 10 USDT. Native BTC has an inclusive minimum of 0.0001 BTC (10,000 sats). Movement THBT is accepted at 16.5 or above. Polygon JPYC is accepted at or above the configured POLYGON_JPYC_MIN_AMOUNT (100 by default). Other native assets retain their documented strict minimum rules.

Example:

false

deposit
object | null
transaction
object | null