---
title: "Get wallet portfolio"
method: GET
path: "/v4/data/wallet/portfolio"
tags: ["Wallet API"]
---

# Get wallet portfolio

`GET /v4/data/wallet/portfolio`

/v4/data/wallet/portfolio

**50 credits per API call**

Get portfolio balances of native, fungible tokens (ERC-20) or NFTs (ERC-721 and ERC-1155) for a specific wallet address on the following blockchains:

*   Ethereum - ethereum-mainnet / ethereum-sepolia
*   Solana - solana-mainnet / solana-devnet
*   Base - base-mainnet / base-sepolia
*   Arbitrum - arb-one-mainnet / arb-testnet
*   BNB (Binance) Smart Chain - bsc-mainnet / bsc-testnet
*   Polygon - polygon-mainnet / polygon-amoy
*   Optimism - optimism-mainnet / optimism-testnet
*   Berachain - berachain-mainnet
*   Unichain - unichain-mainnet / unichain-sepolia
*   Monad - monad-mainnet / monad-testnet
*   Celo - celo-mainnet / celo-testnet
*   Chiliz - chiliz-mainnet
*   Tezos - tezos-mainnet
*   Moca Chain - mocachain-devnet
*   Avalanche - avax-mainnet / avax-testnet
*   Gnosis - gno-mainnet / gno-testnet
*   zkSync - zksync-mainnet / zksync-testnet
*   Rootstock - rsk-mainnet / rsk-testnet
*   Ethereum Classic - ethereum-classic-mainnet / ethereum-classic-testnet
*   Lisk - lisk-mainnet / lisk-testnet
*   XDC - xdc-mainnet
*   Sonic - sonic-mainnet

To get started:

*   Provide a chain name and and an address of that chain. Our API will return balances of each token along with further information such as its type, id, and more.
*   Aside from relevant information about each token and its balance, the response also contains metadata (they can, however, be excluded by setting `excludeMetadata` to `true`).
*   The API requires specifying the `tokenTypes` parameter to indicate which types of tokens to fetch balances for. Supported values include \[native\], \[fungible\] and \[nft,multitoken\].
*   For Tezos blockchain, the API returns balance of any tokens including native token (XTZ) for specified wallet addresses. Following query parameters won't have any effect on filtering data `excludeMetadata`.

## Query parameters

- `chain` 'ethereum-mainnet' | 'ethereum-sepolia' | 'solana-mainnet' | 'solana-devnet' | 'base-mainnet' | 'base-sepolia' | 'arb-one-mainnet' | 'arb-testnet' | 'bsc-mainnet' | 'bsc-testnet' | 'polygon-mainnet' | 'polygon-amoy' | 'optimism-mainnet' | 'optimism-testnet' | 'berachain-mainnet' | 'unichain-mainnet' | 'unichain-sepolia' | 'monad-mainnet' | 'monad-testnet' | 'celo-mainnet' | 'celo-testnet' | 'chiliz-mainnet' | 'tezos-mainnet' | 'avax-mainnet' | 'avax-testnet' | 'gno-mainnet' | 'gno-testnet' | 'zksync-mainnet' | 'zksync-testnet' | 'rsk-mainnet' | 'rsk-testnet' | 'ethereum-classic-mainnet' | 'ethereum-classic-testnet' | 'lisk-mainnet' | 'lisk-testnet' | 'xdc-mainnet' | 'sonic-mainnet', required
- `addresses` string, required — Wallet address
- `tokenTypes` 'native' | 'fungible' | 'nft,multitoken', required
- `excludeMetadata` boolean
- `pageSize` number
- `offset` number

## Response `200`

OK

- object
  - `result` PortfolioItem[] — List of portfolio balance for selected tokens.
    - union
      - NativeTokenPortfolio
        - `chain` string, required — Name of the chain.
        - `type` 'native' | 'fungible' | 'nft' | 'multitoken', required — Enum representing the type of token.
        - `address` string, required
        - `balance` string, required
        - `denominatedBalance` string, required
        - `decimals` number, required
      - NftPortfolio
        - `chain` string, required — Name of the chain.
        - `type` 'native' | 'fungible' | 'nft' | 'multitoken', required — Enum representing the type of token.
        - `address` string, required
        - `balance` string, required
        - `tokenAddress` string, required
        - `tokenId` string
        - `metadataURI` string
        - `metadata` object
      - FungibleTokenPortfolio
        - `chain` string, required — Name of the chain.
        - `type` 'native' | 'fungible' | 'nft' | 'multitoken', required — Enum representing the type of token.
        - `address` string, required
        - `balance` string, required
        - `tokenAddress` string, required
        - `denominatedBalance` string, required
        - `decimals` number, required
  - `prevPage` string — Cursor pagination, used to get previous page of results (work in progress, not used right now).
  - `nextPage` string — Cursor pagination, used to get next page of results (work in progress, not used right now).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
