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
| Name | Type | Description |
|---|---|---|
| walletrequired | string | Wallet address (0x...), name.sui or @name. |
| time | integer | Point in time as unix seconds. Give exactly one of time, datetime or checkpoint. |
| datetime | string | Point in time as an ISO 8601 date, UTC when no zone is given, for example 2025-01-10 19:20:00. |
| checkpoint | integer | Checkpoint sequence number. Alias: slot. |
| limit | integer | Coins per page, default 100.From 1 to 200. |
| cursor | string | Cursor from the previous page. |
| showZeroBalance | boolean | Not 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 "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"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
{
"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.