Skip to main content
Every wallet read is an API-key GET against the wallet handle you already have. Reads follow the client’s retry policy, so they are safe to repeat.

Start from a wallet handle

TypeScript
Reads do not need a requesterAuthority / requester_authority. Only preparation calls do.

Balances

TypeScript
Each balance carries mintAddress / mint_address, tokenProgram / token_program, tokenSymbol, tokenName, decimals, amountRaw / amount_raw, uiAmount / ui_amount, usdPrice / usd_price, and usdValue / usd_value, and assetKind / asset_kind. The SDK normalizes the asset discriminator to token, native-sol, or unspecified. Use amountRaw / amount_raw for arithmetic. It is the exact integer amount as a string; uiAmount / ui_amount is a display convenience.

Token activity

TypeScript
Each entry also carries slot, optional blockTime / block_time, ownerAddress / owner_address, tokenAccountAddress / token_account_address, isSubaccount / is_subaccount, and the same amount, USD, and normalized asset-kind fields as a balance. limit is optional. Omit it for the backend default of 25. Values above 100 are capped at 100.

Roles

Roles are how you inspect who currently holds authority over a Swig and what each authority is allowed to do.
TypeScript
actionData / action_data is a raw object whose shape depends on the action. Read it against the protocol’s permissions model rather than assuming fixed keys. Common uses:
  • confirm a newly granted authority actually landed on-chain
  • render “who can spend from this wallet” in an admin view
  • check whether a passkey or EVM authority is still attached before preparing a transaction it would need to sign

Policy metadata

Policy reads are a separate, portal-scoped lookup rather than a wallet read:
TypeScript
See Fetch a Policy for the portal side of policy management.

Underlying routes

These are API-key routes and must be called from a trusted server. If your product needs to display the data elsewhere, return a validated, authorized view model through your own application API. Do not import the Developer SDK’s API client or server entrypoint into that application runtime.