Skip to main content
GET
Get Transaction
Single transaction by id. Cross-tenant access collapses to 404. A partner trying to fetch another partner’s transaction id (whether by guessing or by accident) sees the same response as a non-existent id, so the existence of rows under other tenants is not leakable.

Authorizations

Authorization
string
header
required

Paste your Connect API key (sk_live_… for production, sk_test_… for sandbox) without the Bearer prefix. Mint and rotate keys from the admin panel.

Path Parameters

transaction_id
string<uuid>
required

Response

Successful Response

A single transaction row in the partner-facing shape.

All amounts are decimal strings (JS Number boundary defense). Optional fields are omitted from the JSON when None — we use Pydantic's exclusion-on-None pattern for that, configured at serialization time in the handler.

id
string
required

Transaction id (UUID).

type
enum<string>
required

Derived from the internal row's direction and is_external flag; see schema docstring for the mapping.

Available options:
deposit,
payout,
transfer,
conversion,
ramp
status
enum<string>
required

Partner-facing status. The full internal state machine (pending/processing/completed/failed/rejected/canceled) is collapsed into three buckets matching the spec.

Available options:
pending,
confirmed,
failed
asset
string
required

Asset code, uppercase (USDT, XAUT).

amount
string
required

Asset amount as a decimal string.

created_at
string<date-time>
required
external_ref
string | null

The partner's user id, echoed back. Set for both deposit (recipient is the partner's user) and payout (sender is the partner's user). For internal transfers, the ref of whichever side is the partner's user; None if neither side is mapped (shouldn't happen in a tenant-scoped query, defensive against schema drift).

network
string | null

Network code (lowercase). NULL on internal-only ledger transfers (is_external=false) where no chain was touched.

from_address
string | null

On-chain sender address. NULL on internal transfers and on outgoing rows where we have no on-chain metadata yet.

to_address
string | null

On-chain destination address. NULL on internal transfers.

tx_hash
string | null

Blockchain transaction hash. NULL until broadcast (pending state) and on internal transfers.

completed_at
string<date-time> | null

When the transaction reached a terminal state (confirmed or failed). NULL while pending.