# Moralis 代币价格对不上：核对链、计价单位与缺价原因

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/moralis-price-units-chain-missing-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

从已有响应分清USD价格和原生币整数尺度，再按单币与批量接口的过滤行为定位缺价。

## 使用工具
- [Moralis EVM Token / Price API](https://lianxiaozhi.com/tools/moralis) · [官方入口](https://docs.moralis.com/data-api/evm/token/overview)

## 前置条件
- 已有脱敏请求参数/响应，或本页官方文档示例；不需要API key、钱包或账户。
- 保留请求时间、chain、token合约和方法版本。没有真实响应时只完成示例核对，不能标记当前价格已查到。

## 1. 先固定链与代币合约

单币方法是GET /api/v2.2/erc20/{address}/price；address是代币合约，chain默认eth。先把已有请求中的chain和address写成一对，避免同地址在不同链或同symbol资产混用。

例如bsc对应BNB Chain、optimism对应OP Mainnet；显示网络名称可以规范化，请求参数保持官方原值。chain enum列测试网不代表有价格：生成规则正文明确token prices只支持主网。

核对结果：已有记录包含chain+合约+api/v2.2；不按symbol或测试网enum认定报价存在。
依据：[Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)
依据：[Moralis Token Prices 数据生成规则](https://docs.moralis.com/data-api/data-features/data-enrichment/token-prices)

## 2. 分别解码 USD 和 nativePrice

usdPrice是代币的美元价格；nativePrice.value是带nativePrice.decimals尺度的原生币数量，不使用tokenDecimals去缩放它。原生币的name/symbol也一起保留，避免把BNB或其他链原币当ETH。

只做单位示例：若nativePrice.value为1000000000000000、decimals为18，则为0.001个原生币；这不是本轮实时价格。tokenDecimals用于代币数量的尺度，美元price本身不再除10的tokenDecimals次方。

核对结果：三种数分别标明代币数量、美元单价、原生币单价；整数值未先转低精度浮点而丢位。
依据：[Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)

## 3. 核对价格来自哪个市场和时间点

保存响应tokenAddress、exchangeName/exchangeAddress、pairAddress和toBlock。exchange筛选参数是factory名称或地址，不是保证任意池地址都可填入同一参数。

生成规则按DEX swap得价，不是全交易所成交均价；同块取最后swap。自动选池的当前与历史逻辑不同，因此两个时期价格差异可能包含选池变化，不能只归因于资产涨跌。

核对结果：报告能追溯链、token、factory/pair与区块，且没有把DEX末笔价称为全市场VWAP。
依据：[Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)
依据：[Moralis Token Prices 数据生成规则](https://docs.moralis.com/data-api/data-features/data-enrichment/token-prices)

## 4. 按具体接口解释被过滤的价格

核对min_pair_side_liquidity_usd与max_token_inactivity。官方默认EVM每侧50USD，两边独立达标；pairTotalLiquidityUsd的总量不能证明每边都过线。自定义阈值会改变候选池，流动性不均衡也可能排除池。

同样的流动性过滤，单币Price返回404，batch省略该token，带价格的余额接口可能给price null。按原始错误/数组缺项记为缺价，不能改填0，更不能用缺价证明token没余额或已归零。

核对结果：单币错误与batch省略分开；每侧阈值和实际筛选值保存，未知价格保持未知。
依据：[Moralis 流动性过滤方法](https://docs.moralis.com/data-api/data-features/safety-and-trust/liquidity-filtering)
依据：[Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)

## 5. 批量结果按身份核对并保留类型冲突

batch使用POST /api/v2.2/erc20/prices，外层chain统一，JSON tokens各项带token_address及可选to_block/exchange。它是数据查询，不是链上交易；返回数组可能缺项，按tokenAddress等身份匹配，不按输入索引强行配价。

同页简介说最多100、Body schema写最多30；准备小批量并标明文档冲突，未取得当前服务验证前不承诺100条一定成功。possibleSpam例子为字符串false而schema为boolean，解析时保留实际类型；JavaScript的Boolean("false")会变true，不能用这种转换纠错。

核对结果：批量输入与返回按chain+token及时间/市场对应；缺项、批量上限和spam字段类型都有明确处理。
依据：[Moralis Token Prices Batch 方法](https://docs.moralis.com/data-api/evm/token/prices/token-prices-batch)
依据：[Moralis 流动性过滤方法](https://docs.moralis.com/data-api/data-features/safety-and-trust/liquidity-filtering)
依据：[Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)

## 6. 把请求成本和限流从价格结论中分开

数据请求需要X-API-Key；文档的默认test占位不能当读者可用匿名凭据。当前EVM表单价50CU、batch100CU，套餐吞吐按滚动4秒请求数评价；429是吞吐限制，不能解释为资产无价格。

已有响应缺失或错误时，把权限、吞吐和价格过滤分别记录；查文档本身没有消费这些数据API的CU。不要把同名Solana方法成本或历史3CU资料套到本EVM接口，也不因公开套餐页无免费条款就推断用户实际资格。

核对结果：结果含明确单位/身份/缺价类别，并注明没有密钥请求、当前报价或CU实测。
依据：[Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)
依据：[Moralis Data API CU 表](https://docs.moralis.com/data-api/pricing)
依据：[Moralis Rate Limits](https://docs.moralis.com/data-api/resources/rate-limits)
依据：[Moralis 公开套餐页](https://moralis.com/pricing/)

## 常见错误
- verifiedContract或possibleSpam标记不构成代币安全保证；低流动性过滤也不保证成交公平。
- 不能把批量POST读取误称为链上写入，也不能把GET读取误称为无需认证和费用。

## 完成检查
- 对已有记录完成链、单位、选池、过滤和批量身份核对。
- 验证范围为官方文档与示例；没有实时价格、数据调用或账户验收。

## 相关知识
- [如何核对 Meme 币？先确认链、合约地址和交易池](https://lianxiaozhi.com/learn/meme-token-identity)
- [预言机价格与交易池价格有什么区别？清算应看哪一个](https://lianxiaozhi.com/learn/oracle-and-market-price)
- [滑点和价格冲击有什么区别？为什么成交价会变化](https://lianxiaozhi.com/learn/slippage-and-price-impact)

## 官方依据
- [Moralis EVM Token Price 方法](https://docs.moralis.com/data-api/evm/token/prices/token-price)
- [Moralis Token Prices 数据生成规则](https://docs.moralis.com/data-api/data-features/data-enrichment/token-prices)
- [Moralis 流动性过滤方法](https://docs.moralis.com/data-api/data-features/safety-and-trust/liquidity-filtering)
- [Moralis Token Prices Batch 方法](https://docs.moralis.com/data-api/evm/token/prices/token-prices-batch)
- [Moralis Data API CU 表](https://docs.moralis.com/data-api/pricing)
- [Moralis Rate Limits](https://docs.moralis.com/data-api/resources/rate-limits)
- [Moralis 公开套餐页](https://moralis.com/pricing/)
