Skip to main content

Amounts

All monetary amounts in the API are strings in major units — the human-readable form of the currency. For example, ten US dollars is "10.00", not 1000.
{
  "amount": "10.50",
  "asset": "USD"
}
Amounts are always returned at the asset’s native precision:
AssetScaleExampleMeaning
USD2"10.50"$10.50
EUR2"100.00"100.00
USDC6"10.500000"10.5 USDC
USDT6"99.970000"99.97 USDT
Parse amounts as arbitrary-precision decimals, never as floating-point numbers. Floating-point arithmetic introduces rounding errors that accumulate in financial calculations.

Why strings?

JSON has no decimal type. A JSON number like 10.50 may lose its trailing zero when parsed, and large values can lose precision in IEEE 754 floats. Strings preserve the exact representation. Internally, the platform stores all amounts as integer subunits (e.g., 1050 for $10.50) and converts to major-unit strings at the API boundary. This eliminates floating-point arithmetic entirely within the system.

Assets

Assets are identified by their uppercase code: USD, EUR, USDC, USDT. The API currently supports:
CodeTypeScale (decimal places)
USDFiat2
EURFiat2
USDCStablecoin6
USDTStablecoin6
Asset codes are used throughout the API — in quote requests, payout amounts, and balance responses.

Pagination

List endpoints return a standard envelope:
{
  "object": "list",
  "data": [ ... ],
  "hasMore": true,
  "nextCursor": "cursor_abc123"
}
FieldTypeDescription
object"list"Always "list" for paginated responses.
dataarrayThe page of results.
hasMorebooleantrue if more results exist beyond this page.
nextCursorstring | nullPass as the cursor query parameter to fetch the next page. null when there are no more results.
Control page size with the limit query parameter (default 25, max 100):
curl "https://api.sandbox.nxos.io/v1/accounts?limit=10&cursor=cursor_abc123" \
  -H "Authorization: Bearer nxos_sk_test_..."

Timestamps

All timestamps are ISO 8601 strings in UTC:
"2025-03-15T14:30:00.000Z"

Object types

Every resource includes an object field that identifies its type. This makes responses self-describing and simplifies handling of polymorphic lists.
{ "object": "account", "accountId": "acct_..." }
{ "object": "quote", "quoteId": "quote_..." }
{ "object": "beneficiary", "beneficiaryId": "bene_..." }
{ "object": "balance", "asset": "USD", "amount": "100.00" }

Identifiers

All resource IDs are prefixed with a short type indicator followed by a 32-character hex string:
ResourcePrefixExample
Accountacct_acct_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
Quotequote_quote_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
Beneficiarybene_bene_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
Transactiontxn_txn_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
Funding methodfunding_funding_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
The prefix makes IDs unambiguous when seen in logs, URLs, or support conversations.