Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API
wallet.holdingsAt

Wallet

wallet.holdingsAt

Every coin a wallet held at a past time, with USD at that time.

Details

Endpoint
GET /v1/wallet/:wallet/holdings-at
Credits
20
Rate class
Heavy. Counts against your heavy requests per second.

Returns all coin balances of a wallet at the end of a checkpoint, plus the total portfolio value on that date. A coin is priced at that time only if it traded in a pool with at least $1,000 of liquidity then, or is a stablecoin or a major coin; its value is capped at what that pool could have paid for the whole balance. Other coins have null price and priceAsOf and add nothing to totalUsdValue. Items are sorted by USD value, then by raw balance, and paged with cursor. Pass exactly one of time, datetime or checkpoint. One call covers the whole wallet.

Parameters

NameTypeDescription
walletrequiredstringWallet address (0x...), name.sui or @name.
timeintegerPoint in time as unix seconds. Give exactly one of time, datetime or checkpoint.
datetimestringPoint in time as an ISO 8601 date, UTC when no zone is given, for example 2025-01-10 19:20:00.
checkpointintegerCheckpoint sequence number. Alias: slot.
limitintegerCoins per page, default 100.From 1 to 200.
cursorstringCursor from the previous page.
showZeroBalancebooleanNot used: only coins with a balance are listed.

Request

Send your key in the x-api-key header, or leave it out to use the keyless tier.

curl
curl "https://api.tide.ad/v1/wallet/0x671f7079e238edf837ae8d4fe8274f3337e1b20bbc08e2e9b9b7f5fcee9566e2/holdings-at?datetime=2026-11-01%2000:00:00&limit=10" \
  -H "x-api-key: YOUR_API_KEY"
TypeScript
const res = await fetch("https://api.tide.ad/v1/wallet/0x671f7079e238edf837ae8d4fe8274f3337e1b20bbc08e2e9b9b7f5fcee9566e2/holdings-at?datetime=2026-11-01%2000:00:00&limit=10", {
  headers: {
    "x-api-key": process.env.TIDE_API_KEY!,
  },
});
const data = await res.json();

Response

JSON
{
  "wallet": "0x671f7079e238edf837ae8d4fe8274f3337e1b20bbc08e2e9b9b7f5fcee9566e2",
  "at": {
    "checkpoint": 340305463,
    "timestamp": "2026-11-01T00:00:00.000Z"
  },
  "totalUsdValue": 48.42,
  "coinCount": 4,
  "items": [
    {
      "coinType": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
      "mint": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
      "symbol": "SUI",
      "decimals": 9,
      "balance": 53.893607257,
      "balanceRaw": "53893607257",
      "pricePerToken": 0.8978062379421221,
      "usdValue": 48.39,
      "priceAsOf": "2026-10-31T23:58:00.000Z"
    },
    {
      "coinType": "0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402::sui_usde::SUI_USDE",
      "mint": "0x41d587e5336f1c86cad50d38a7136db99333bb9bda91cea4ba69115defeb1402::sui_usde::SUI_USDE",
      "symbol": "suiUSDe",
      "decimals": 6,
      "balance": 0.02684,
      "balanceRaw": "26840",
      "pricePerToken": 1.0017698416212184,
      "usdValue": 0.03,
      "priceAsOf": "2026-10-31T19:00:00.000Z"
    },
    {
      "coinType": "0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS",
      "mint": "0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS",
      "symbol": "NS",
      "decimals": 6,
      "balance": 0.482767,
      "balanceRaw": "482767",
      "pricePerToken": 0.010357601816451267,
      "usdValue": 0.01,
      "priceAsOf": "2026-10-31T23:00:00.000Z"
    }
  ],
  "cursor": null,
  "asOf": {
    "checkpoint": 340305463,
    "timestamp": "2026-11-01T00:00:00.000Z",
    "lagMs": null
  }
}

Long lists are cut to a few items here.