> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moralis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Token Prices (Batch)

> Retrieve the current or historical prices for multiple ERC20 tokens in the blockchain’s native currency and USD. Accepts an array of up to 100 `tokens`, each requiring `token_address` and optional fields such as `to_block` or `exchange`. Each token returned includes on-chain metadata, as well as off-chain metadata, logos, spam status and more. Additional options to exclude low-liquidity tokens and inactive tokens.

export const EndpointMeta = ({premium, cus, cusUnit, mainnetOnly}) => {
  const items = [];
  const planName = typeof premium === "string" ? premium : "Pro";
  if (premium) {
    items.push({
      icon: "\u26a0\ufe0f",
      label: "Premium endpoint",
      text: <>
          Requires the <strong>{planName} plan</strong> or above.{" "}
          <a href="/data-api/introduction/resources/premium-endpoints">
            View all
          </a>
          .
        </>
    });
  }
  if (cus) {
    const isDynamic = !!cusUnit;
    items.push({
      icon: "\u26a1",
      label: isDynamic ? "Dynamic cost" : "Endpoint cost",
      text: isDynamic ? <>
          {cus} CUs per {cusUnit}.{" "}
          <a href="/get-started/pricing#dynamic-endpoints">Learn more</a>.
        </> : <>
          {cus} CUs.{" "}
          <a href="/get-started/pricing">Learn more</a>.
        </>
    });
  }
  if (mainnetOnly) {
    items.push({
      icon: "\ud83d\udd17",
      label: "Mainnet only",
      text: <>Testnet chains are not supported.</>
    });
  }
  if (items.length === 0) return null;
  return <div className="endpoint-meta" style={{
    border: "1px solid var(--border-color, #e2e8f0)",
    borderRadius: "8px",
    overflow: "hidden",
    marginBottom: "16px",
    fontSize: "14px",
    lineHeight: "1.6",
    maxWidth: "100%"
  }}>
      <style dangerouslySetInnerHTML={{
    __html: `
            .endpoint-meta {
              --border-color: #e2e8f0;
              --row-bg: #f8fafc;
              --label-color: #0f172a;
              --text-color: #1f2937;
            }
            .endpoint-meta a {
              color: #0f7fff !important;
              text-decoration: underline;
            }
            @media (prefers-color-scheme: dark) {
              .endpoint-meta {
                --border-color: #374151 !important;
                --row-bg: #1e293b !important;
                --label-color: #f9fafb !important;
                --text-color: #e5e7eb !important;
              }
              .endpoint-meta a {
                color: #60a5fa !important;
              }
            }
            html.dark .endpoint-meta,
            [data-theme="dark"] .endpoint-meta {
              --border-color: #374151 !important;
              --row-bg: #1e293b !important;
              --label-color: #f9fafb !important;
              --text-color: #e5e7eb !important;
            }
            html.dark .endpoint-meta a,
            [data-theme="dark"] .endpoint-meta a {
              color: #60a5fa !important;
            }
          `
  }} />
      {items.map((item, i) => <div key={i} style={{
    display: "flex",
    alignItems: "baseline",
    gap: "8px",
    padding: "10px 14px",
    borderBottom: i < items.length - 1 ? "1px solid var(--border-color, #e2e8f0)" : "none",
    backgroundColor: "var(--row-bg, #f8fafc)"
  }}>
          <span style={{
    flexShrink: 0
  }}>{item.icon}</span>
          <span style={{
    wordBreak: "break-word",
    color: "var(--text-color, #1f2937)"
  }}>
            <strong style={{
    color: "var(--label-color, #0f172a)"
  }}>
              {item.label}:
            </strong>{" "}
            {item.text}
          </span>
        </div>)}
    </div>;
};

<EndpointMeta cus={100} mainnetOnly />


## OpenAPI

````yaml /openapi-files/data-api/api.json POST /erc20/prices
openapi: 3.0.0
info:
  title: EVM API
  version: '2.2'
servers:
  - url: https://deep-index.moralis.io/api/v2.2
security:
  - ApiKeyAuth: []
tags: []
paths:
  /erc20/prices:
    post:
      tags:
        - Token
        - Get Market Data
      summary: Get Multiple ERC20 token prices
      description: >-
        Retrieve the current or historical prices for multiple ERC20 tokens in
        the blockchain’s native currency and USD. Accepts an array of up to 100
        `tokens`, each requiring `token_address` and optional fields such as
        `to_block` or `exchange`. Each token returned includes on-chain
        metadata, as well as off-chain metadata, logos, spam status and more.
        Additional options to exclude low-liquidity tokens and inactive tokens.
      operationId: getMultipleTokenPrices
      parameters:
        - in: query
          name: chain
          description: The chain to query
          required: false
          schema:
            $ref: '#/components/schemas/chainList'
        - in: query
          name: include
          description: >-
            This parameter is now deprecated as percentage change are included
            by default
          required: false
          deprecated: true
          schema:
            type: string
            example: ''
            default: ''
            enum:
              - percent_change
        - in: query
          name: max_token_inactivity
          description: Exclude tokens inactive for more than the given amount of days
          required: false
          schema:
            type: number
        - in: query
          name: min_pair_side_liquidity_usd
          description: >-
            Exclude tokens with liquidity less than the specified amount in USD.
            This parameter refers to the liquidity on a single side of the pair.
          required: false
          schema:
            type: number
      requestBody:
        description: Body
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetMultipleTokenPricesDto'
      responses:
        '200':
          description: >-
            Returns an array of token prices denominated in the blockchain's
            native token and USD for a given token contract address
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/erc20Price'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    chainList:
      type: string
      example: eth
      default: eth
      enum:
        - eth
        - '0x1'
        - sepolia
        - '0xaa36a7'
        - polygon
        - '0x89'
        - bsc
        - '0x38'
        - bsc testnet
        - '0x61'
        - avalanche
        - '0xa86a'
        - cronos
        - '0x19'
        - arbitrum
        - '0xa4b1'
        - chiliz
        - '0x15b38'
        - gnosis
        - '0x64'
        - base
        - '0x2105'
        - base sepolia
        - '0x14a34'
        - optimism
        - '0xa'
        - polygon amoy
        - '0x13882'
        - linea
        - '0xe708'
        - moonbeam
        - '0x504'
        - moonriver
        - '0x505'
        - flow
        - '0x2eb'
        - flow-testnet
        - '0x221'
        - ronin
        - '0x7e4'
        - ronin-testnet
        - '0x31769'
        - lisk
        - '0x46f'
        - pulse
        - '0x171'
        - sei-testnet
        - '0x530'
        - sei
        - '0x531'
        - monad
        - '0x8f'
    GetMultipleTokenPricesDto:
      required:
        - tokens
      properties:
        tokens:
          type: array
          maxItems: 30
          description: The tokens to be fetched
          example:
            - token_address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
            - token_address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
            - token_address: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84'
              exchange: uniswapv2
              to_block: '16314545'
            - token_address: '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0'
          items:
            $ref: '#/components/schemas/tokenPriceItem'
    erc20Price:
      required:
        - usdPrice
        - possibleSpam
        - verifiedContract
      properties:
        tokenName:
          type: string
          description: The name of the token
          example: Kylin Network
        tokenSymbol:
          type: string
          description: The symbol of the token
          example: KYL
        tokenLogo:
          type: string
          description: The logo of the token
          example: >-
            https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png
        tokenDecimals:
          type: string
          description: The number of decimals of the token
          example: '18'
        nativePrice:
          $ref: '#/components/schemas/nativeErc20Price'
        usdPrice:
          type: number
          format: double
          description: The price in USD for the token
          example: 19.722370676
        usdPriceFormatted:
          type: string
          description: The price in USD for the token in string format
          example: '19.722370676'
        24hrPercentChange:
          type: string
          description: The 24hr percent change of the token
          example: '-0.8842730258590583'
        exchangeAddress:
          type: string
          description: The address of the exchange used to calculate the price
          example: '0x1f98431c8ad98523631ae4a59f267346ea31f984'
        exchangeName:
          type: string
          description: The name of the exchange used to calculate the price
          example: Uniswap v3
        tokenAddress:
          type: string
          description: The address of the token
          example: '0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c'
        toBlock:
          type: string
          description: toBlock
          example: '16314545'
        possibleSpam:
          type: boolean
          description: Indicates if a contract is possibly a spam contract
          example: 'false'
        verifiedContract:
          type: boolean
          description: Indicates if the contract is verified
          example: true
        pairAddress:
          type: string
          description: The address of the pair
          example: '0x1f98431c8ad98523631ae4a59f267346ea31f984'
        pairTotalLiquidityUsd:
          type: string
          description: The total liquidity in USD of the pair
          example: '123.45'
        usdPrice24h:
          type: number
          description: The USD price 24 hours ago
          example: 1
        usdPrice24hrUsdChange:
          type: number
          description: The USD change in price over the last 24 hours
          example: -0.00008615972490000345
        usdPrice24hrPercentChange:
          type: number
          description: The percent change in USD price over the last 24 hours
          example: -0.008615972490000345
        securityScore:
          type: number
          description: >-
            A number between 0 and 100 that defines the trust level of this
            specific token
          example: 1
    tokenPriceItem:
      required:
        - token_address
      properties:
        token_address:
          type: string
          description: The contract address
          example: '0x06012c8cf97bead5deae237070f9587f8e7a266d'
        exchange:
          type: string
          description: The exchange
          example: uniswapv3
        to_block:
          type: string
          description: The block number
          example: 12526958
    nativeErc20Price:
      required:
        - value
        - decimals
        - name
        - symbol
        - address
      properties:
        value:
          type: string
          description: The native price of the token
          example: '8409770570506626'
        decimals:
          type: integer
          description: The number of decimals on the token
          example: 18
        name:
          type: string
          description: The name of the token
          example: Ether
        symbol:
          type: string
          description: The symbol of the token
          example: ETH
        address:
          type: string
          description: The address of the native token
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      x-default: test

````