openapi: 3.0.0 info: title: EVM Balance Get Balance API version: '2.2' servers: - url: https://deep-index.moralis.io/api/v2.2 security: - ApiKeyAuth: [] tags: - name: Get Balance paths: /{address}/erc20: get: security: - ApiKeyAuth: [] summary: Get ERC20 token balances by wallet description: Get an unpaginated list of token balances, without token prices, for a specific wallet address. Maximum of 2,000 tokens. Each token returned includes on-chain metadata, as well as off-chain metadata, logos, spam status and more. tags: - Get Balance x-tag-sdk: token operationId: getWalletTokenBalances parameters: - in: query name: chain description: The chain to query required: false schema: $ref: '#/components/schemas/chainList' - in: path name: address description: The address from which token balances will be checked required: true schema: type: string example: '0xcB1C1FdE09f811B294172696404e88E658659905' - in: query name: to_block description: The block number up to which the balances will be checked. required: false schema: type: number - in: query name: token_addresses description: The addresses to get balances for (optional) required: false schema: type: array maxItems: 10 items: type: string - in: query name: exclude_spam description: Exclude spam tokens from the result required: false schema: type: boolean default: true responses: '200': description: Returns token balances for a specific address content: application/json: schema: type: array items: $ref: '#/components/schemas/erc20TokenBalance' x-mcp-prompt: Provide the wallet address to fetch its ERC20 token balances. Use this when users ask for a wallet’s token holdings or want to check their portfolio. components: schemas: chainList: type: string example: eth default: eth enum: - eth - '0x1' - sepolia - '0xaa36a7' - polygon - '0x89' - bsc - '0x38' - bsc testnet - '0x61' - avalanche - '0xa86a' - fantom - '0xfa' - cronos - '0x19' - arbitrum - '0xa4b1' - chiliz - '0x15b38' - chiliz testnet - '0x15b32' - gnosis - '0x64' - gnosis testnet - '0x27d8' - base - '0x2105' - base sepolia - '0x14a34' - optimism - '0xa' - polygon amoy - '0x13882' - linea - '0xe708' - moonbeam - '0x504' - moonriver - '0x505' - moonbase - '0x507' - linea sepolia - '0xe705' - flow - '0x2eb' - flow-testnet - '0x221' - ronin - '0x7e4' - ronin-testnet - '0x31769' - lisk - '0x46f' - lisk-sepolia - '0x106a' - pulse - '0x171' - sei-testnet - '0x530' - sei - '0x531' - monad - '0x8f' erc20TokenBalance: required: - token_address - name - symbol - decimals - balance - possible_spam properties: token_address: type: string description: The address of the token contract example: '0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09' name: type: string description: The name of the token contract example: Kylin Network symbol: type: string description: The symbol of the NFT contract example: KYL logo: type: string description: The logo of the token example: https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png thumbnail: type: string description: The thumbnail of the logo example: https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png decimals: type: integer description: The number of decimals on the token example: 18 balance: type: string description: Timestamp of when the contract was last synced with the node example: '123456789' possible_spam: type: boolean description: Indicates if a contract is possibly a spam contract example: 'false' verified_contract: type: boolean description: Indicates if a contract is verified example: 'false' securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key x-default: test x-samples-languages: - node - javascript - csharp - curl - python x-mcp-blacklist: - getNFTTraitsByCollectionPaginate - getNFTContractMetadata - getTokenPrice - getNativeBalance - getTokenAnalytics - resyncNFTRarity - syncNFTContract - reSyncMetadata - runContractFunction - web3ApiVersion - endpointWeights - getWalletTokenBalances - getTokenMetadataBySymbol - getWalletTransactions - getWalletTransactionsVerbose - getTransaction - getPairPrice - reviewContracts - getTrendingTokens - getWalletTokenTransfers - getWalletNFTTransfers - getPairReserves - getPairAddress - getTokenStats - resolveAddressToDomain - resolveDomain - getNFTFloorPriceByToken - getBlockStats - getNewTokensByExchange - getBondingTokensByExchange - getGraduatedTokensByExchange - getTokenBondingStatus - getAggregatedTokenPairStats - getTokenCategories - getRisingLiquidityTokens - getBuyingPressureTokens - getSolidPerformersTokens - getExperiencedBuyersTokens - getRiskyBetsTokens - getBlueChipTokens - getNFTOwners - getNFTTokenIdOwners - getContractNFTs - getNFTTradesByToken - getNFTTransfers