sifting/io
GET/fnd/dex/wallet/:chain/:address

Wallet portfolio

Native-coin and ERC-20 token holdings for one wallet on one EVM chain. The native row only appears when the wallet has a non-zero native balance.

Parameters

Parameter
chainrequiredenum · path
eth | base | arbitrum | bsc | polygon.
addressrequiredstring · path
EVM wallet address. Must be 0x followed by 40 hex characters. Case-insensitive.

Example

request · shell
curl -H "X-API-Key: $KEY" \
  "https://api.sifting.io/v1/fnd/dex/wallet/eth/0x742d35cc6634c0532925a3b844bc9e7595f0beb1"
200OKapplication/json
{  "chain": "eth",  "address": "0x742d35cc6634c0532925a3b844bc9e7595f0beb1",  "tokens": [    {      "symbol": "ETH",      "name": "Ether",      "decimals": 18,      "logo": "https://assets.sifting.io/crypto/logo/eth.png",      "raw_balance": "2345600000000000000",      "balance": "2.3456",      "native": true    },    {      "contract_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",      "symbol": "USDC",      "name": "USD Coin",      "decimals": 6,      "logo": "https://assets.sifting.io/crypto/logo/usdc.png",      "raw_balance": "5000000",      "balance": "5"    },    {      "contract_address": "0x6b175474e89094c44da98b954eedeac495271d0f",      "symbol": "DAI",      "name": "Dai Stablecoin",      "decimals": 18,      "logo": "https://assets.sifting.io/crypto/logo/dai.png",      "raw_balance": "1250000000000000000000",      "balance": "1250"    }  ],  "count": 3,  "updated_at": 1746230400}
Loading runner…
First load only

Reference

Top-level fields
chain
Echoed chain segment, lowercase
address
Echoed wallet address, lowercase
tokens
One row per non-zero holding, native first when present
count
Length of tokens
updated_at
Unix epoch (seconds, UTC) when the snapshot was assembled by our pipeline
Token row fields
contract_address
ERC-20 contract address. Omitted for the native row.
symbol
Token symbol (e.g. USDC, WETH). Rows with no resolvable symbol are dropped.
name
Full token name
decimals
Decimal places for converting raw_balance → balance
logo
Token logo URL when known. May be empty.
raw_balance
On-chain integer balance as a decimal string (no scaling). Stable for clients that need exact arithmetic.
balance
Human-readable balance: raw_balance / 10^decimals, trailing zeros trimmed.
native
true for the chain's native gas coin (ETH, BNB, MATIC). Omitted for ERC-20 rows.
v1 caveats
Precision
raw_balance and balance are strings to preserve precision. Don't parse as floats; use a big-integer / decimal library for math.
No USD valuation
balance is denominated in the token's own units. USD valuation is a planned follow-up that bolts onto the existing rows.
One chain per call
A multi-chain portfolio means one call per chain in eth | base | arbitrum | bsc | polygon.
Spam tokens
Rows with no resolvable metadata are dropped. No spam filter is applied beyond that.
No NFTs
ERC-721 / ERC-1155 are not included.