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

# Unified API

> Weighted-average CU per Unified endpoint, computed from production auto-routing distribution over the last 90 days.

See [Compute Units](/reference/resources/compute-units) for the methodology and how your workload affects averages.

<Info>
  **Last recomputation: May 2026.** Rates are recomputed quarterly from production routing data.
</Info>

## Token

<div className="ub-cu-scroll">
  <table className="ub-cu-table">
    <thead>
      <tr><th>Method</th><th>Endpoint</th><th className="ub-cu-num">Avg CU</th></tr>
    </thead>

    <tbody>
      <tr><td className="ub-cu-method">TokenMetadata</td><td className="ub-cu-endpoint">/token/metadata</td><td className="ub-cu-num">579</td></tr>
      <tr><td className="ub-cu-method">TokenPrice</td><td className="ub-cu-endpoint">/token/price</td><td className="ub-cu-num">176</td></tr>
      <tr><td className="ub-cu-method">TokenHistoricalPrice</td><td className="ub-cu-endpoint">/token/price/historical</td><td className="ub-cu-num">1,662</td></tr>
      <tr><td className="ub-cu-method">TokenPortfolio</td><td className="ub-cu-endpoint">/token/portfolio</td><td className="ub-cu-num">1,055</td></tr>
      <tr><td className="ub-cu-method">WalletTokenBalance</td><td className="ub-cu-endpoint">/token/balance</td><td className="ub-cu-num">102</td></tr>
      <tr><td className="ub-cu-method">WalletTokenHistoricalBalance</td><td className="ub-cu-endpoint">/token/balance/historical</td><td className="ub-cu-num">5,000</td></tr>
      <tr><td className="ub-cu-method">WalletTokenTransfers</td><td className="ub-cu-endpoint">/token/transfers</td><td className="ub-cu-num">265</td></tr>
      <tr><td className="ub-cu-method">WalletTokenActivity</td><td className="ub-cu-endpoint">/token/activity</td><td className="ub-cu-num">2,500</td></tr>
      <tr><td className="ub-cu-method">WalletTokenAllowances</td><td className="ub-cu-endpoint">/token/allowances</td><td className="ub-cu-num">10,000</td></tr>
    </tbody>
  </table>
</div>

## NFT

<div className="ub-cu-scroll">
  <table className="ub-cu-table">
    <thead>
      <tr><th>Method</th><th>Endpoint</th><th className="ub-cu-num">Avg CU</th></tr>
    </thead>

    <tbody>
      <tr><td className="ub-cu-method">NFTMetadata</td><td className="ub-cu-endpoint">/nft/metadata</td><td className="ub-cu-num">169</td></tr>
      <tr><td className="ub-cu-method">NFTCollectionMetadata</td><td className="ub-cu-endpoint">/nft/collection-metadata</td><td className="ub-cu-num">14,588</td></tr>
      <tr><td className="ub-cu-method">NFTCollectionRarity</td><td className="ub-cu-endpoint">/nft/collection/rarity</td><td className="ub-cu-num">6,646</td></tr>
      <tr><td className="ub-cu-method">NFTCollectionTraits</td><td className="ub-cu-endpoint">/nft/collection/traits</td><td className="ub-cu-num">10,000</td></tr>
      <tr><td className="ub-cu-method">NFTTraitAttributes</td><td className="ub-cu-endpoint">/nft/collection/trait/attributes</td><td className="ub-cu-num">10,000</td></tr>
      <tr><td className="ub-cu-method">NFTInCollection</td><td className="ub-cu-endpoint">/nft/nft-in-collection</td><td className="ub-cu-num">25,719</td></tr>
      <tr><td className="ub-cu-method">NFTOwnersByNft</td><td className="ub-cu-endpoint">/nft/owners/nft</td><td className="ub-cu-num">160</td></tr>
      <tr><td className="ub-cu-method">NFTGetFloorPrice</td><td className="ub-cu-endpoint">/nft/floor-price</td><td className="ub-cu-num">160</td></tr>
      <tr><td className="ub-cu-method">NFTGetSales</td><td className="ub-cu-endpoint">/nft/sales</td><td className="ub-cu-num">320</td></tr>
      <tr><td className="ub-cu-method">NFTIsAirdrop</td><td className="ub-cu-endpoint">/nft/is-airdrop</td><td className="ub-cu-num">160</td></tr>
      <tr><td className="ub-cu-method">NFTTransfersByNft</td><td className="ub-cu-endpoint">/nft/transfers/nft</td><td className="ub-cu-num">238</td></tr>
      <tr><td className="ub-cu-method">NFTTransfersByWallet</td><td className="ub-cu-endpoint">/nft/transfers</td><td className="ub-cu-num">240</td></tr>
      <tr><td className="ub-cu-method">WalletNFTBalance</td><td className="ub-cu-endpoint">/nft/balance</td><td className="ub-cu-num">2,258</td></tr>
      <tr><td className="ub-cu-method">WalletNFTContracts</td><td className="ub-cu-endpoint">/nft/owned-collections</td><td className="ub-cu-num">640</td></tr>
      <tr><td className="ub-cu-method">WalletNFTHolder</td><td className="ub-cu-endpoint">/nft/is-nft-holder</td><td className="ub-cu-num">160</td></tr>
    </tbody>
  </table>
</div>

## Market Data

<div className="ub-cu-scroll">
  <table className="ub-cu-table">
    <thead>
      <tr><th>Method</th><th>Endpoint</th><th className="ub-cu-num">Avg CU</th></tr>
    </thead>

    <tbody>
      <tr><td className="ub-cu-method">MarketDataPrice</td><td className="ub-cu-endpoint">/market-data/price</td><td className="ub-cu-num">317</td></tr>
      <tr><td className="ub-cu-method">MarketDataMarketCap</td><td className="ub-cu-endpoint">/market-data/market-cap</td><td className="ub-cu-num">3,840</td></tr>
      <tr><td className="ub-cu-method">MarketData24HourVolume</td><td className="ub-cu-endpoint">/market-data/24-hour-volume</td><td className="ub-cu-num">3,884</td></tr>
      <tr><td className="ub-cu-method">MarketDataMarketChartRange</td><td className="ub-cu-endpoint">/market-data/chart-range</td><td className="ub-cu-num">2,722</td></tr>
      <tr><td className="ub-cu-method">MarketDataMarketChartPriceRange</td><td className="ub-cu-endpoint">/market-data/chart-price-range</td><td className="ub-cu-num">2,600</td></tr>
      <tr><td className="ub-cu-method">MarketDataTokenHistorySnapshot</td><td className="ub-cu-endpoint">/market-data/history</td><td className="ub-cu-num">6,364</td></tr>
      <tr><td className="ub-cu-method">MarketDataTrendingTokens</td><td className="ub-cu-endpoint">/market-data/trending</td><td className="ub-cu-num">3,760</td></tr>
    </tbody>
  </table>
</div>

## Transactions

<div className="ub-cu-scroll">
  <table className="ub-cu-table">
    <thead>
      <tr><th>Method</th><th>Endpoint</th><th className="ub-cu-num">Avg CU</th></tr>
    </thead>

    <tbody>
      <tr><td className="ub-cu-method">TransactionByHash</td><td className="ub-cu-endpoint">/transaction</td><td className="ub-cu-num">40</td></tr>
      <tr><td className="ub-cu-method">WalletTransactions</td><td className="ub-cu-endpoint">/transactions</td><td className="ub-cu-num">49,961</td></tr>
      <tr><td className="ub-cu-method">WalletTransactionsAdvanced</td><td className="ub-cu-endpoint">/transactions/advanced</td><td className="ub-cu-num">1,125</td></tr>
      <tr><td className="ub-cu-method">TransactionsBlock</td><td className="ub-cu-endpoint">/transactions/block</td><td className="ub-cu-num">12,490</td></tr>
    </tbody>
  </table>
</div>

## Scan

Scan endpoints pass through to Etherscan at a flat rate with no routing or variance.

<div className="ub-cu-flat">
  <div className="ub-cu-flat-value">332 CU</div>
  <div className="ub-cu-flat-label">Flat rate for every Scan endpoint.</div>
</div>

<Accordion title="See all 32 Scan endpoints">
  <div className="ub-cu-scroll">
    <table className="ub-cu-table">
      <thead>
        <tr><th>Method</th><th>Endpoint</th></tr>
      </thead>

      <tbody>
        <tr><td className="ub-cu-method">ScanAccountNormalTransactions</td><td className="ub-cu-endpoint">/scan/account-normal-transactions</td></tr>
        <tr><td className="ub-cu-method">ScanAccountErc20TokenHolding</td><td className="ub-cu-endpoint">/scan/account-erc20-token-holding</td></tr>
        <tr><td className="ub-cu-method">ScanAccountErc20TokenTransfer</td><td className="ub-cu-endpoint">/scan/account-erc20-transactions</td></tr>
        <tr><td className="ub-cu-method">ScanAccountErc721TokenTransfer</td><td className="ub-cu-endpoint">/scan/account-erc721-transactions</td></tr>
        <tr><td className="ub-cu-method">ScanAccountErc1155TokenTransfer</td><td className="ub-cu-endpoint">/scan/account-erc1155-transactions</td></tr>
        <tr><td className="ub-cu-method">ScanAccountInternalTransactionsAddress</td><td className="ub-cu-endpoint">/scan/account-internal-transactions-by-address</td></tr>
        <tr><td className="ub-cu-method">ScanAccountInternalTransactionsHash</td><td className="ub-cu-endpoint">/scan/account-internal-transactions-by-hash</td></tr>
        <tr><td className="ub-cu-method">ScanAccountInternalTransactionBlockRange</td><td className="ub-cu-endpoint">/scan/account-internal-transactions-by-block-range</td></tr>
        <tr><td className="ub-cu-method">ScanAccountNativeBalanceSingle</td><td className="ub-cu-endpoint">/scan/account-native-balance-single</td></tr>
        <tr><td className="ub-cu-method">ScanAccountNativeBalanceMulti</td><td className="ub-cu-endpoint">/scan/account-native-balance-multi</td></tr>
        <tr><td className="ub-cu-method">ScanBlockByTimestamp</td><td className="ub-cu-endpoint">/scan/block-by-timestamp</td></tr>
        <tr><td className="ub-cu-method">ScanBlockCountdown</td><td className="ub-cu-endpoint">/scan/block-get-countdown</td></tr>
        <tr><td className="ub-cu-method">ScanBlockRewards</td><td className="ub-cu-endpoint">/scan/block-rewards</td></tr>
        <tr><td className="ub-cu-method">ScanContractAbi</td><td className="ub-cu-endpoint">/scan/contract-abi</td></tr>
        <tr><td className="ub-cu-method">ScanContractCreation</td><td className="ub-cu-endpoint">/scan/contract-creation</td></tr>
        <tr><td className="ub-cu-method">ScanContractSourceCode</td><td className="ub-cu-endpoint">/scan/contract-source-code</td></tr>
        <tr><td className="ub-cu-method">ScanContractVerifyProxyContract</td><td className="ub-cu-endpoint">/scan/contract-verify-proxy</td></tr>
        <tr><td className="ub-cu-method">ScanContractVerifyStatus</td><td className="ub-cu-endpoint">/scan/contract-verify-source-code</td></tr>
        <tr><td className="ub-cu-method">ScanGasPrices</td><td className="ub-cu-endpoint">/scan/current-gas-estimation</td></tr>
        <tr><td className="ub-cu-method">ScanGasConfirmationTime</td><td className="ub-cu-endpoint">/scan/estimation-confirmation-time</td></tr>
        <tr><td className="ub-cu-method">ScanLogAddress</td><td className="ub-cu-endpoint">/scan/log-address</td></tr>
        <tr><td className="ub-cu-method">ScanLogAddressByTopic</td><td className="ub-cu-endpoint">/scan/log-by-address-filtered-topics</td></tr>
        <tr><td className="ub-cu-method">ScanLogTopics</td><td className="ub-cu-endpoint">/scan/log-by-topics</td></tr>
        <tr><td className="ub-cu-method">ScanStatsNativeNodeCount</td><td className="ub-cu-endpoint">/scan/native-node-count</td></tr>
        <tr><td className="ub-cu-method">ScanStatsNativeNodeSize</td><td className="ub-cu-endpoint">/scan/native-node-size</td></tr>
        <tr><td className="ub-cu-method">ScanStatsNativePrice</td><td className="ub-cu-endpoint">/scan/native-price</td></tr>
        <tr><td className="ub-cu-method">ScanStatsNativeSupply</td><td className="ub-cu-endpoint">/scan/native-supply</td></tr>
        <tr><td className="ub-cu-method">ScanTokensErc20AddressBalance</td><td className="ub-cu-endpoint">/scan/token-balance</td></tr>
        <tr><td className="ub-cu-method">ScanTokensErc20TotalSupply</td><td className="ub-cu-endpoint">/scan/token-supply</td></tr>
        <tr><td className="ub-cu-method">ScanTransactionExecutionStatus</td><td className="ub-cu-endpoint">/scan/transaction-execution-status</td></tr>
        <tr><td className="ub-cu-method">ScanTransactionsBeaconWithdrawal</td><td className="ub-cu-endpoint">/scan/account-beacon-withdrawals</td></tr>
        <tr><td className="ub-cu-method">ScanTransactionStatusCode</td><td className="ub-cu-endpoint">/scan/transaction-receipt-status</td></tr>
      </tbody>
    </table>
  </div>
</Accordion>

## JSON-RPC

JSON-RPC calls route across multiple upstream providers. CU cost varies by method. Values below are weighted averages across all chains served.

<Tabs>
  <Tab title="EVM Read">
    <div className="ub-cu-scroll">
      <table className="ub-cu-table">
        <thead>
          <tr><th>Method</th><th className="ub-cu-num">Avg CU</th></tr>
        </thead>

        <tbody>
          <tr><td className="ub-cu-method">eth\_chainId</td><td className="ub-cu-num">52</td></tr>
          <tr><td className="ub-cu-method">eth\_blockNumber</td><td className="ub-cu-num">41</td></tr>
          <tr><td className="ub-cu-method">eth\_gasPrice</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">eth\_maxPriorityFeePerGas</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">eth\_feeHistory</td><td className="ub-cu-num">37</td></tr>
          <tr><td className="ub-cu-method">eth\_getBalance</td><td className="ub-cu-num">43</td></tr>
          <tr><td className="ub-cu-method">eth\_getTransactionCount</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">eth\_getCode</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">eth\_getStorageAt</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">eth\_call</td><td className="ub-cu-num">47</td></tr>
          <tr><td className="ub-cu-method">eth\_estimateGas</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">eth\_getBlockByNumber</td><td className="ub-cu-num">47</td></tr>
          <tr><td className="ub-cu-method">eth\_getBlockByHash</td><td className="ub-cu-num">43</td></tr>
          <tr><td className="ub-cu-method">eth\_getBlockReceipts</td><td className="ub-cu-num">33</td></tr>
          <tr><td className="ub-cu-method">eth\_getTransactionByHash</td><td className="ub-cu-num">57</td></tr>
          <tr><td className="ub-cu-method">eth\_getTransactionByBlockNumberAndIndex</td><td className="ub-cu-num">80</td></tr>
          <tr><td className="ub-cu-method">eth\_getTransactionReceipt</td><td className="ub-cu-num">80</td></tr>
          <tr><td className="ub-cu-method">eth\_getLogs</td><td className="ub-cu-num">89</td></tr>
          <tr><td className="ub-cu-method">eth\_getProof</td><td className="ub-cu-num">64</td></tr>
          <tr><td className="ub-cu-method">eth\_newFilter</td><td className="ub-cu-num">55</td></tr>
          <tr><td className="ub-cu-method">eth\_newBlockFilter</td><td className="ub-cu-num">59</td></tr>
          <tr><td className="ub-cu-method">eth\_syncing</td><td className="ub-cu-num">40</td></tr>
        </tbody>
      </table>
    </div>
  </Tab>

  <Tab title="EVM Write">
    <div className="ub-cu-scroll">
      <table className="ub-cu-table">
        <thead>
          <tr><th>Method</th><th className="ub-cu-num">Avg CU</th></tr>
        </thead>

        <tbody>
          <tr><td className="ub-cu-method">eth\_sendRawTransaction</td><td className="ub-cu-num">93</td></tr>
        </tbody>
      </table>
    </div>
  </Tab>

  <Tab title="Trace & Debug">
    <div className="ub-cu-scroll">
      <table className="ub-cu-table">
        <thead>
          <tr><th>Method</th><th className="ub-cu-num">Avg CU</th></tr>
        </thead>

        <tbody>
          <tr><td className="ub-cu-method">trace\_block</td><td className="ub-cu-num">41</td></tr>
          <tr><td className="ub-cu-method">trace\_transaction</td><td className="ub-cu-num">108</td></tr>
          <tr><td className="ub-cu-method">trace\_call</td><td className="ub-cu-num">54</td></tr>
          <tr><td className="ub-cu-method">trace\_filter</td><td className="ub-cu-num">68</td></tr>
          <tr><td className="ub-cu-method">trace\_replayBlockTransactions</td><td className="ub-cu-num">77</td></tr>
          <tr><td className="ub-cu-method">debug\_traceTransaction</td><td className="ub-cu-num">52</td></tr>
          <tr><td className="ub-cu-method">debug\_traceBlockByNumber</td><td className="ub-cu-num">48</td></tr>
          <tr><td className="ub-cu-method">debug\_traceBlockByHash</td><td className="ub-cu-num">49</td></tr>
          <tr><td className="ub-cu-method">debug\_traceCall</td><td className="ub-cu-num">75</td></tr>
        </tbody>
      </table>
    </div>
  </Tab>

  <Tab title="Subscriptions">
    <div className="ub-cu-scroll">
      <table className="ub-cu-table">
        <thead>
          <tr><th>Method</th><th className="ub-cu-num">Avg CU</th></tr>
        </thead>

        <tbody>
          <tr><td className="ub-cu-method">eth\_subscribe</td><td className="ub-cu-num">20</td></tr>
          <tr><td className="ub-cu-method">eth\_unsubscribe</td><td className="ub-cu-num">10</td></tr>
        </tbody>
      </table>
    </div>
  </Tab>

  <Tab title="Solana">
    <div className="ub-cu-scroll">
      <table className="ub-cu-table">
        <thead>
          <tr><th>Method</th><th className="ub-cu-num">Avg CU</th></tr>
        </thead>

        <tbody>
          <tr><td className="ub-cu-method">getBalance</td><td className="ub-cu-num">54</td></tr>
          <tr><td className="ub-cu-method">getAssetsByOwner</td><td className="ub-cu-num">603</td></tr>
          <tr><td className="ub-cu-method">getSignaturesForAddress</td><td className="ub-cu-num">83</td></tr>
          <tr><td className="ub-cu-method">getTokenAccountsByOwner</td><td className="ub-cu-num">62</td></tr>
          <tr><td className="ub-cu-method">getMultipleAccounts</td><td className="ub-cu-num">58</td></tr>
          <tr><td className="ub-cu-method">getSlot</td><td className="ub-cu-num">50</td></tr>
          <tr><td className="ub-cu-method">getLatestBlockhash</td><td className="ub-cu-num">58</td></tr>
          <tr><td className="ub-cu-method">getBlockTime</td><td className="ub-cu-num">170</td></tr>
          <tr><td className="ub-cu-method">getBlockHeight</td><td className="ub-cu-num">53</td></tr>
          <tr><td className="ub-cu-method">getProgramAccounts</td><td className="ub-cu-num">465</td></tr>
          <tr><td className="ub-cu-method">getTransaction</td><td className="ub-cu-num">133</td></tr>
          <tr><td className="ub-cu-method">getAccountInfo</td><td className="ub-cu-num">52</td></tr>
          <tr><td className="ub-cu-method">getTokenSupply</td><td className="ub-cu-num">65</td></tr>
          <tr><td className="ub-cu-method">getHealth</td><td className="ub-cu-num">56</td></tr>
          <tr><td className="ub-cu-method">getEpochInfo</td><td className="ub-cu-num">42</td></tr>
          <tr><td className="ub-cu-method">getSignatureStatuses</td><td className="ub-cu-num">54</td></tr>
          <tr><td className="ub-cu-method">getMinimumBalanceForRentExemption</td><td className="ub-cu-num">40</td></tr>
          <tr><td className="ub-cu-method">sendTransaction</td><td className="ub-cu-num">84</td></tr>
        </tbody>
      </table>
    </div>
  </Tab>
</Tabs>

<Info>
  **Variable-cost methods:** `eth_getLogs` scales with block range; `eth_subscribe` is billed per event delivered; Solana `getAssetsByOwner` uses the DAS API.
</Info>

## Passthrough endpoints

<div className="ub-cu-scroll">
  <table className="ub-cu-table">
    <thead>
      <tr><th>Method</th><th>Endpoint</th><th className="ub-cu-num">Avg CU</th></tr>
    </thead>

    <tbody>
      <tr><td className="ub-cu-method">StellarHttp</td><td className="ub-cu-endpoint">/stellar-http/\*path</td><td className="ub-cu-num">60</td></tr>
      <tr><td className="ub-cu-method">TonHttp</td><td className="ub-cu-endpoint">/ton-http/\*path</td><td className="ub-cu-num">80</td></tr>
    </tbody>
  </table>
</div>

## Viewing actual consumption

The dashboard reports the true per-call CU deducted from the account under **Analytics → Compute Units**. Published averages are planning inputs; observed consumption reflects the routing decisions made for that specific account.
