At a glance
Paths are under/api/v1/workspaces/{workspaceId}.
Your workspace id is the
workspaceId from GET /api/v1/me (Permissions).
Every balance in one list
GET …/balances reads TetraFi’s last observation and never asks a chain or venue. Filter with asset, accountKind and accountId; an account that cannot be stated is listed in unavailable, never as a zero row.
Fields and paging
Fields and paging
Personal wallets are never listed; bank account balances cannot be observed.
Page with
limit (1 to 100) and cursor until nextCursor is null; if accounts change mid-paging, restart without a cursor.Request and response
Request and response
Response (shortened)
Balances that are unknown
Balances that are unknown
An account whose balance cannot be stated is listed in
unavailable on every page: show it as unavailable, not empty. Each entry has accountKind, accountId, asset and chain when known, a reasonCode, and the asOf of the source’s last answer.incomplete means the list may leave accounts out; reason accessSettingsUnavailable says access settings could not be read. Read again shortly.Response (shortened)
List your exchange accounts
GET …/venue-enablements lists venue accounts in items, oldest first, keyed by venueEnablementId. Read balances from a configured account; a walletBased venue trades from your wallets, so read those.
Fields and paging
Fields and paging
Page with
limit (20 by default, at most 100) and cursor.Request and output
Request and output
Output on test networks
One exchange account
GET …/venue-accounts/{venueAccountId}/balances answers what the venue last reported for the account, one line per asset. available is free less TetraFi’s commitments to open trades and withdrawals.
Fields
Fields
Request and output
Request and output
Output on test networks
Deposits
Deposits
In the history,
credits: null means it could not be read; [] is truly empty. Over 1,000 venue records answers no credits with reasonCode DEPOSIT_HISTORY_WINDOW_TOO_LARGE: read a shorter window.Output on test networks
Fee schedule
GET …/fee-schedule answers the schedule in force now (current) and every change already scheduled (upcoming); it reads only. Every member can read fees, but a key needs Read fee schedule: no other permission includes it.
Request and response
Request and response
Response (shortened)
Schedule fields and rates
Schedule fields and rates
object
The schedule in force.
array
Scheduled changes, oldest first, each with its
effectiveFrom and the whole schedule from then. [] means none.Each rate has
ratePpm and effectiveFrom:ratePpm: a decimal string in parts per million (100 ppm is one basis point, 0.01%). Read it as a decimal, not a float.effectiveFrom: the RFC 3339 date-time it applies from.
Refusals
Balances and exchange accounts
Balances and exchange accounts
Fee schedule
Fee schedule
A key without Read fee schedule is refused with
403.Run the balances script
Lists exchange accounts, then reads one’s balances and deposits.
Run the fees script
Reads your current and upcoming fees.
Next
Trades and settlement
Every trade, its settlement, and credit.
Errors and refusals
Fix, retry or recover.