naftiko: 1.0.0-alpha2 info: label: EVM API — Token description: 'EVM API — Token. 35 operations. Lead operation: Get bonding tokens by exchange. Self-contained Naftiko capability covering one Moralis business surface.' tags: - Moralis - Token created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MORALIS_API_KEY: MORALIS_API_KEY capability: consumes: - type: http namespace: evm-token baseUri: https://deep-index.moralis.io/api/v2.2 description: EVM API — Token business capability. Self-contained, no shared references. resources: - name: erc20-exchange-exchangeName-bonding path: /erc20/exchange/{exchangeName}/bonding operations: - name: getbondingtokensbyexchange method: GET description: Get bonding tokens by exchange outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query required: true - name: exchangeName in: path type: string description: The name of the exchange required: true - name: limit in: query type: integer description: The maximum number of items to return - name: cursor in: query type: string description: The cursor to use for pagination - name: erc20-exchange-exchangeName-graduated path: /erc20/exchange/{exchangeName}/graduated operations: - name: getgraduatedtokensbyexchange method: GET description: Get graduated tokens by exchange outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query required: true - name: exchangeName in: path type: string description: The name of the exchange required: true - name: limit in: query type: integer description: The maximum number of items to return - name: cursor in: query type: string description: The cursor to use for pagination - name: erc20-exchange-exchangeName-new path: /erc20/exchange/{exchangeName}/new operations: - name: getnewtokensbyexchange method: GET description: Get new tokens by exchange outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query required: true - name: exchangeName in: path type: string description: The name of the exchange required: true - name: limit in: query type: integer description: The maximum number of items to return - name: cursor in: query type: string description: The cursor to use for pagination - name: erc20-metadata path: /erc20/metadata operations: - name: gettokenmetadata method: GET description: Get ERC20 token metadata by contract outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: addresses in: query type: array description: The addresses to get metadata for required: true - name: erc20-metadata-symbols path: /erc20/metadata/symbols operations: - name: gettokenmetadatabysymbol method: GET description: Get ERC20 token metadata by symbols outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: symbols in: query type: array description: The symbols to get metadata for required: true - name: erc20-prices path: /erc20/prices operations: - name: getmultipletokenprices method: POST description: Get Multiple ERC20 token prices outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: include in: query type: string description: This parameter is now deprecated as percentage change are included by default - name: max_token_inactivity in: query type: number description: Exclude tokens inactive for more than the given amount of days - name: min_pair_side_liquidity_usd in: query type: number 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. - name: body in: body type: object description: Request body (JSON). required: true - name: erc20-address-price path: /erc20/{address}/price operations: - name: gettokenprice method: GET description: Get ERC20 token price outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: address in: path type: string description: The address of the token contract required: true - name: exchange in: query type: string description: The factory name or address of the token exchange - name: to_block in: query type: integer description: The block number from which the token price should be checked - name: include in: query type: string description: This parameter is now deprecated as percentage change are included by default - name: max_token_inactivity in: query type: number description: Exclude tokens inactive for more than the given amount of days - name: min_pair_side_liquidity_usd in: query type: number 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. - name: erc20-address-stats path: /erc20/{address}/stats operations: - name: gettokenstats method: GET description: Get ERC20 token stats outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: address in: path type: string description: The address of the erc20 token required: true - name: erc20-address-swaps path: /erc20/{address}/swaps operations: - name: getswapsbytokenaddress method: GET description: Get swap transactions by token address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: address in: path type: string description: The token address to get transaction for required: true - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). - name: limit in: query type: integer description: The desired page size of the result. - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: fromBlock in: query type: integer description: The minimum block number from which to get the token transactions - name: toBlock in: query type: string description: The block number to get the token transactions from - name: fromDate in: query type: string description: The start date from which to get the token transactions (format in seconds or datestring accepted by momentjs) - name: toDate in: query type: string description: The end date from which to get the token transactions (format in seconds or datestring accepted by momentjs) - name: transactionTypes in: query type: string description: Array of transaction types. Allowed values are 'buy', 'sell'. - name: erc20-address-top-gainers path: /erc20/{address}/top-gainers operations: - name: gettopprofitablewalletpertoken method: GET description: Get top traders for a given ERC20 token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: address in: path type: string description: The ERC20 token address. required: true - name: days in: query type: string description: Timeframe in days for which profitability is calculated, Options include 'all', '7', '30' default is 'all'. - name: chain in: query type: string description: The chain to query - name: erc20-address-transfers path: /erc20/{address}/transfers operations: - name: gettokentransfers method: GET description: Get ERC20 token transfers by contract address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: from_block in: query type: integer description: The minimum block number from which to get the transfers - name: to_block in: query type: integer description: The maximum block number from which to get the transfers. - name: from_date in: query type: string description: The start date from which to get the transfers (format in seconds or datestring accepted by momentjs) - name: to_date in: query type: string description: Get transfers up until this date (format in seconds or datestring accepted by momentjs) - name: address in: path type: string description: The address of the token contract required: true - name: limit in: query type: integer description: The desired page size of the result. - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). - name: erc20-tokenAddress-bondingStatus path: /erc20/{tokenAddress}/bondingStatus operations: - name: gettokenbondingstatus method: GET description: Get the token bonding status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query required: true - name: tokenAddress in: path type: string description: The address of the token required: true - name: erc20-tokenAddress-holders path: /erc20/{tokenAddress}/holders operations: - name: gettokenholders method: GET description: Get a holders summary by token address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: tokenAddress in: path type: string description: The token address to get transaction for required: true - name: erc20-tokenAddress-holders-historical path: /erc20/{tokenAddress}/holders/historical operations: - name: gethistoricaltokenholders method: GET description: Get timeseries holders data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: tokenAddress in: path type: string description: The token address required: true - name: fromDate in: query type: string description: The starting date (format in seconds or datestring accepted by momentjs) required: true - name: toDate in: query type: string description: The ending date (format in seconds or datestring accepted by momentjs) required: true - name: limit in: query type: integer description: The number of results to return - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page) - name: timeFrame in: query type: string description: The time frame to group the data by required: true - name: erc20-token_address-owners path: /erc20/{token_address}/owners operations: - name: gettokenowners method: GET description: Get ERC20 token owners by contract outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: token_address in: path type: string description: The address of the token contract required: true - name: limit in: query type: integer description: The desired page size of the result. - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: erc20-token_address-pairs path: /erc20/{token_address}/pairs operations: - name: gettokenpairs method: GET description: Get token pairs by address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token_address in: path type: string description: The address of the token required: true - name: chain in: query type: string description: The chain to query required: true - name: limit in: query type: integer description: The number of results to return - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page) - name: erc20-token_address-pairs-stats path: /erc20/{token_address}/pairs/stats operations: - name: getaggregatedtokenpairstats method: GET description: Get aggregated token pair statistics by address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token_address in: path type: string description: The address of the token required: true - name: chain in: query type: string description: The chain to query required: true - name: pairs-address-ohlcv path: /pairs/{address}/ohlcv operations: - name: getpaircandlesticks method: GET description: Get OHLCV by pair address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: address in: path type: string description: The pair address required: true - name: chain in: query type: string description: The chain to query - name: timeframe in: query type: string description: The timeframe required: true - name: currency in: query type: string description: The currency required: true - name: fromDate in: query type: string description: The starting date (format in seconds or datestring accepted by momentjs) required: true - name: toDate in: query type: string description: The ending date (format in seconds or datestring accepted by momentjs) required: true - name: limit in: query type: integer description: The number of results to return - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page) - name: pairs-address-snipers path: /pairs/{address}/snipers operations: - name: getsnipersbypairaddress method: GET description: Get snipers by pair address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: address in: path type: string description: The pair address token-transactions are to be retrieved for. required: true - name: blocksAfterCreation in: query type: integer description: Number of blocks after the creation - name: pairs-address-stats path: /pairs/{address}/stats operations: - name: getpairstats method: GET description: Get stats by pair address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: address in: path type: string description: The pair address required: true - name: chain in: query type: string description: The chain to query - name: pairs-address-swaps path: /pairs/{address}/swaps operations: - name: getswapsbypairaddress method: GET description: Get swap transactions by pair address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: address in: path type: string description: The pair address token-transactions are to be retrieved for. required: true - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). - name: limit in: query type: integer description: The desired page size of the result. - name: fromBlock in: query type: integer description: The minimum block number from which to get the token transactions - name: toBlock in: query type: string description: The block number to get the token transactions from - name: fromDate in: query type: string description: The start date from which to get the token transactions (format in seconds or datestring accepted by momentjs) - name: toDate in: query type: string description: The end date from which to get the token transactions (format in seconds or datestring accepted by momentjs) - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: transactionTypes in: query type: string description: Array of transaction types. Allowed values are 'buy', 'sell', 'addLiquidity', 'removeLiquidity'. - name: tokens-analytics path: /tokens/analytics operations: - name: getmultipletokenanalytics method: POST description: Get token analytics for a list of token addresses outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: tokens-analytics-timeseries path: /tokens/analytics/timeseries operations: - name: gettimeseriestokenanalytics method: POST description: Retrieve timeseries trading stats by token addresses outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: timeframe in: query type: string description: The timeframe to query required: true - name: body in: body type: object description: Request body (JSON). required: true - name: tokens-categories path: /tokens/categories operations: - name: gettokencategories method: GET description: Get ERC20 token categories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tokens-search path: /tokens/search operations: - name: searchtokens method: GET description: Search for tokens based on contract address, pair address, token name or token symbol. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chains in: query type: string description: The chains to query - name: query in: query type: string description: The query to search required: true - name: limit in: query type: number description: The desired page size of the result. - name: isVerifiedContract in: query type: boolean description: True to include only verified contracts - name: sortBy in: query type: string description: Sort by volume1hDesc, volume24hDesc, liquidityDesc, marketCapDesc - name: boostVerifiedContracts in: query type: boolean description: True to boost verified contracts - name: tokens-trending path: /tokens/trending operations: - name: gettrendingtokensv2 method: GET description: Get trending tokens outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: limit in: query type: integer description: The desired page size of the result. - name: tokens-tokenAddress-analytics path: /tokens/{tokenAddress}/analytics operations: - name: gettokenanalytics method: GET description: Get token analytics by token address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: tokenAddress in: path type: string description: The token address to query required: true - name: tokens-tokenAddress-score path: /tokens/{tokenAddress}/score operations: - name: gettokenscore method: GET description: Get token score by token address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: tokenAddress in: path type: string description: The token address to query required: true - name: tokens-tokenAddress-score-historical path: /tokens/{tokenAddress}/score/historical operations: - name: gethistoricaltokenscore method: GET description: Get historical token score by token address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: tokenAddress in: path type: string description: The token address to query required: true - name: timeframe in: query type: string description: The timeframe to query required: true - name: volume-categories path: /volume/categories operations: - name: getvolumestatsbycategory method: GET description: Get trading stats by categories outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: volume-chains path: /volume/chains operations: - name: getvolumestatsbychain method: GET description: Get trading stats by chain outputRawFormat: json outputParameters: - name: result type: object value: $. - name: volume-timeseries path: /volume/timeseries operations: - name: gettimeseriesvolume method: GET description: Retrieve timeseries trading stats by chain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: timeframe in: query type: string description: The timeframe to query required: true - name: volume-timeseries-categoryId path: /volume/timeseries/{categoryId} operations: - name: gettimeseriesvolumebycategory method: GET description: Retrieve timeseries trading stats by category outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: timeframe in: query type: string description: The timeframe to query required: true - name: categoryId in: path type: string description: The category id required: true - name: address-erc20 path: /{address}/erc20 operations: - name: getwallettokenbalances method: GET description: Get ERC20 token balances by wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: address in: path type: string description: The address from which token balances will be checked required: true - name: to_block in: query type: number description: The block number up to which the balances will be checked. - name: token_addresses in: query type: array description: The addresses to get balances for (optional) - name: exclude_spam in: query type: boolean description: Exclude spam tokens from the result - name: address-erc20-transfers path: /{address}/erc20/transfers operations: - name: getwallettokentransfers method: GET description: Get ERC20 token transfers by wallet address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: from_block in: query type: integer description: The minimum block number from which to get the transactions - name: to_block in: query type: integer description: The maximum block number from which to get the transactions. - name: from_date in: query type: string description: The start date from which to get the transactions (format in seconds or datestring accepted by momentjs) - name: to_date in: query type: string description: Get the transactions up to this date (format in seconds or datestring accepted by momentjs) - name: address in: path type: string description: The address of the wallet required: true - name: contract_addresses in: query type: array description: List of contract addresses of transfers - name: limit in: query type: integer description: The desired page size of the result. - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). authentication: type: apikey key: X-API-Key value: '{{env.MORALIS_API_KEY}}' placement: header exposes: - type: rest namespace: evm-token-rest port: 8080 description: REST adapter for EVM API — Token. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/erc20/exchange/{exchangename}/bonding name: erc20-exchange-exchangename-bonding description: REST surface for erc20-exchange-exchangeName-bonding. operations: - method: GET name: getbondingtokensbyexchange description: Get bonding tokens by exchange call: evm-token.getbondingtokensbyexchange with: chain: rest.chain exchangeName: rest.exchangeName limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/erc20/exchange/{exchangename}/graduated name: erc20-exchange-exchangename-graduated description: REST surface for erc20-exchange-exchangeName-graduated. operations: - method: GET name: getgraduatedtokensbyexchange description: Get graduated tokens by exchange call: evm-token.getgraduatedtokensbyexchange with: chain: rest.chain exchangeName: rest.exchangeName limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/erc20/exchange/{exchangename}/new name: erc20-exchange-exchangename-new description: REST surface for erc20-exchange-exchangeName-new. operations: - method: GET name: getnewtokensbyexchange description: Get new tokens by exchange call: evm-token.getnewtokensbyexchange with: chain: rest.chain exchangeName: rest.exchangeName limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/erc20/metadata name: erc20-metadata description: REST surface for erc20-metadata. operations: - method: GET name: gettokenmetadata description: Get ERC20 token metadata by contract call: evm-token.gettokenmetadata with: chain: rest.chain addresses: rest.addresses outputParameters: - type: object mapping: $. - path: /v1/erc20/metadata/symbols name: erc20-metadata-symbols description: REST surface for erc20-metadata-symbols. operations: - method: GET name: gettokenmetadatabysymbol description: Get ERC20 token metadata by symbols call: evm-token.gettokenmetadatabysymbol with: chain: rest.chain symbols: rest.symbols outputParameters: - type: object mapping: $. - path: /v1/erc20/prices name: erc20-prices description: REST surface for erc20-prices. operations: - method: POST name: getmultipletokenprices description: Get Multiple ERC20 token prices call: evm-token.getmultipletokenprices with: chain: rest.chain include: rest.include max_token_inactivity: rest.max_token_inactivity min_pair_side_liquidity_usd: rest.min_pair_side_liquidity_usd body: rest.body outputParameters: - type: object mapping: $. - path: /v1/erc20/{address}/price name: erc20-address-price description: REST surface for erc20-address-price. operations: - method: GET name: gettokenprice description: Get ERC20 token price call: evm-token.gettokenprice with: chain: rest.chain address: rest.address exchange: rest.exchange to_block: rest.to_block include: rest.include max_token_inactivity: rest.max_token_inactivity min_pair_side_liquidity_usd: rest.min_pair_side_liquidity_usd outputParameters: - type: object mapping: $. - path: /v1/erc20/{address}/stats name: erc20-address-stats description: REST surface for erc20-address-stats. operations: - method: GET name: gettokenstats description: Get ERC20 token stats call: evm-token.gettokenstats with: chain: rest.chain address: rest.address outputParameters: - type: object mapping: $. - path: /v1/erc20/{address}/swaps name: erc20-address-swaps description: REST surface for erc20-address-swaps. operations: - method: GET name: getswapsbytokenaddress description: Get swap transactions by token address call: evm-token.getswapsbytokenaddress with: chain: rest.chain address: rest.address cursor: rest.cursor limit: rest.limit order: rest.order fromBlock: rest.fromBlock toBlock: rest.toBlock fromDate: rest.fromDate toDate: rest.toDate transactionTypes: rest.transactionTypes outputParameters: - type: object mapping: $. - path: /v1/erc20/{address}/top-gainers name: erc20-address-top-gainers description: REST surface for erc20-address-top-gainers. operations: - method: GET name: gettopprofitablewalletpertoken description: Get top traders for a given ERC20 token call: evm-token.gettopprofitablewalletpertoken with: address: rest.address days: rest.days chain: rest.chain outputParameters: - type: object mapping: $. - path: /v1/erc20/{address}/transfers name: erc20-address-transfers description: REST surface for erc20-address-transfers. operations: - method: GET name: gettokentransfers description: Get ERC20 token transfers by contract address call: evm-token.gettokentransfers with: chain: rest.chain from_block: rest.from_block to_block: rest.to_block from_date: rest.from_date to_date: rest.to_date address: rest.address limit: rest.limit order: rest.order cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/erc20/{tokenaddress}/bondingstatus name: erc20-tokenaddress-bondingstatus description: REST surface for erc20-tokenAddress-bondingStatus. operations: - method: GET name: gettokenbondingstatus description: Get the token bonding status call: evm-token.gettokenbondingstatus with: chain: rest.chain tokenAddress: rest.tokenAddress outputParameters: - type: object mapping: $. - path: /v1/erc20/{tokenaddress}/holders name: erc20-tokenaddress-holders description: REST surface for erc20-tokenAddress-holders. operations: - method: GET name: gettokenholders description: Get a holders summary by token address call: evm-token.gettokenholders with: chain: rest.chain tokenAddress: rest.tokenAddress outputParameters: - type: object mapping: $. - path: /v1/erc20/{tokenaddress}/holders/historical name: erc20-tokenaddress-holders-historical description: REST surface for erc20-tokenAddress-holders-historical. operations: - method: GET name: gethistoricaltokenholders description: Get timeseries holders data call: evm-token.gethistoricaltokenholders with: chain: rest.chain tokenAddress: rest.tokenAddress fromDate: rest.fromDate toDate: rest.toDate limit: rest.limit cursor: rest.cursor timeFrame: rest.timeFrame outputParameters: - type: object mapping: $. - path: /v1/erc20/{token-address}/owners name: erc20-token-address-owners description: REST surface for erc20-token_address-owners. operations: - method: GET name: gettokenowners description: Get ERC20 token owners by contract call: evm-token.gettokenowners with: chain: rest.chain token_address: rest.token_address limit: rest.limit cursor: rest.cursor order: rest.order outputParameters: - type: object mapping: $. - path: /v1/erc20/{token-address}/pairs name: erc20-token-address-pairs description: REST surface for erc20-token_address-pairs. operations: - method: GET name: gettokenpairs description: Get token pairs by address call: evm-token.gettokenpairs with: token_address: rest.token_address chain: rest.chain limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/erc20/{token-address}/pairs/stats name: erc20-token-address-pairs-stats description: REST surface for erc20-token_address-pairs-stats. operations: - method: GET name: getaggregatedtokenpairstats description: Get aggregated token pair statistics by address call: evm-token.getaggregatedtokenpairstats with: token_address: rest.token_address chain: rest.chain outputParameters: - type: object mapping: $. - path: /v1/pairs/{address}/ohlcv name: pairs-address-ohlcv description: REST surface for pairs-address-ohlcv. operations: - method: GET name: getpaircandlesticks description: Get OHLCV by pair address call: evm-token.getpaircandlesticks with: address: rest.address chain: rest.chain timeframe: rest.timeframe currency: rest.currency fromDate: rest.fromDate toDate: rest.toDate limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/pairs/{address}/snipers name: pairs-address-snipers description: REST surface for pairs-address-snipers. operations: - method: GET name: getsnipersbypairaddress description: Get snipers by pair address call: evm-token.getsnipersbypairaddress with: chain: rest.chain address: rest.address blocksAfterCreation: rest.blocksAfterCreation outputParameters: - type: object mapping: $. - path: /v1/pairs/{address}/stats name: pairs-address-stats description: REST surface for pairs-address-stats. operations: - method: GET name: getpairstats description: Get stats by pair address call: evm-token.getpairstats with: address: rest.address chain: rest.chain outputParameters: - type: object mapping: $. - path: /v1/pairs/{address}/swaps name: pairs-address-swaps description: REST surface for pairs-address-swaps. operations: - method: GET name: getswapsbypairaddress description: Get swap transactions by pair address call: evm-token.getswapsbypairaddress with: chain: rest.chain address: rest.address cursor: rest.cursor limit: rest.limit fromBlock: rest.fromBlock toBlock: rest.toBlock fromDate: rest.fromDate toDate: rest.toDate order: rest.order transactionTypes: rest.transactionTypes outputParameters: - type: object mapping: $. - path: /v1/tokens/analytics name: tokens-analytics description: REST surface for tokens-analytics. operations: - method: POST name: getmultipletokenanalytics description: Get token analytics for a list of token addresses call: evm-token.getmultipletokenanalytics with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tokens/analytics/timeseries name: tokens-analytics-timeseries description: REST surface for tokens-analytics-timeseries. operations: - method: POST name: gettimeseriestokenanalytics description: Retrieve timeseries trading stats by token addresses call: evm-token.gettimeseriestokenanalytics with: timeframe: rest.timeframe body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tokens/categories name: tokens-categories description: REST surface for tokens-categories. operations: - method: GET name: gettokencategories description: Get ERC20 token categories call: evm-token.gettokencategories outputParameters: - type: object mapping: $. - path: /v1/tokens/search name: tokens-search description: REST surface for tokens-search. operations: - method: GET name: searchtokens description: Search for tokens based on contract address, pair address, token name or token symbol. call: evm-token.searchtokens with: chains: rest.chains query: rest.query limit: rest.limit isVerifiedContract: rest.isVerifiedContract sortBy: rest.sortBy boostVerifiedContracts: rest.boostVerifiedContracts outputParameters: - type: object mapping: $. - path: /v1/tokens/trending name: tokens-trending description: REST surface for tokens-trending. operations: - method: GET name: gettrendingtokensv2 description: Get trending tokens call: evm-token.gettrendingtokensv2 with: chain: rest.chain limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/tokens/{tokenaddress}/analytics name: tokens-tokenaddress-analytics description: REST surface for tokens-tokenAddress-analytics. operations: - method: GET name: gettokenanalytics description: Get token analytics by token address call: evm-token.gettokenanalytics with: chain: rest.chain tokenAddress: rest.tokenAddress outputParameters: - type: object mapping: $. - path: /v1/tokens/{tokenaddress}/score name: tokens-tokenaddress-score description: REST surface for tokens-tokenAddress-score. operations: - method: GET name: gettokenscore description: Get token score by token address call: evm-token.gettokenscore with: chain: rest.chain tokenAddress: rest.tokenAddress outputParameters: - type: object mapping: $. - path: /v1/tokens/{tokenaddress}/score/historical name: tokens-tokenaddress-score-historical description: REST surface for tokens-tokenAddress-score-historical. operations: - method: GET name: gethistoricaltokenscore description: Get historical token score by token address call: evm-token.gethistoricaltokenscore with: chain: rest.chain tokenAddress: rest.tokenAddress timeframe: rest.timeframe outputParameters: - type: object mapping: $. - path: /v1/volume/categories name: volume-categories description: REST surface for volume-categories. operations: - method: GET name: getvolumestatsbycategory description: Get trading stats by categories call: evm-token.getvolumestatsbycategory with: chain: rest.chain outputParameters: - type: object mapping: $. - path: /v1/volume/chains name: volume-chains description: REST surface for volume-chains. operations: - method: GET name: getvolumestatsbychain description: Get trading stats by chain call: evm-token.getvolumestatsbychain outputParameters: - type: object mapping: $. - path: /v1/volume/timeseries name: volume-timeseries description: REST surface for volume-timeseries. operations: - method: GET name: gettimeseriesvolume description: Retrieve timeseries trading stats by chain call: evm-token.gettimeseriesvolume with: chain: rest.chain timeframe: rest.timeframe outputParameters: - type: object mapping: $. - path: /v1/volume/timeseries/{categoryid} name: volume-timeseries-categoryid description: REST surface for volume-timeseries-categoryId. operations: - method: GET name: gettimeseriesvolumebycategory description: Retrieve timeseries trading stats by category call: evm-token.gettimeseriesvolumebycategory with: chain: rest.chain timeframe: rest.timeframe categoryId: rest.categoryId outputParameters: - type: object mapping: $. - path: /v1/{address}/erc20 name: address-erc20 description: REST surface for address-erc20. operations: - method: GET name: getwallettokenbalances description: Get ERC20 token balances by wallet call: evm-token.getwallettokenbalances with: chain: rest.chain address: rest.address to_block: rest.to_block token_addresses: rest.token_addresses exclude_spam: rest.exclude_spam outputParameters: - type: object mapping: $. - path: /v1/{address}/erc20/transfers name: address-erc20-transfers description: REST surface for address-erc20-transfers. operations: - method: GET name: getwallettokentransfers description: Get ERC20 token transfers by wallet address call: evm-token.getwallettokentransfers with: chain: rest.chain from_block: rest.from_block to_block: rest.to_block from_date: rest.from_date to_date: rest.to_date address: rest.address contract_addresses: rest.contract_addresses limit: rest.limit order: rest.order cursor: rest.cursor outputParameters: - type: object mapping: $. - type: mcp namespace: evm-token-mcp port: 9090 transport: http description: MCP adapter for EVM API — Token. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-bonding-tokens-exchange description: Get bonding tokens by exchange hints: readOnly: true destructive: false idempotent: true call: evm-token.getbondingtokensbyexchange with: chain: tools.chain exchangeName: tools.exchangeName limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: get-graduated-tokens-exchange description: Get graduated tokens by exchange hints: readOnly: true destructive: false idempotent: true call: evm-token.getgraduatedtokensbyexchange with: chain: tools.chain exchangeName: tools.exchangeName limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: get-new-tokens-exchange description: Get new tokens by exchange hints: readOnly: true destructive: false idempotent: true call: evm-token.getnewtokensbyexchange with: chain: tools.chain exchangeName: tools.exchangeName limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: get-erc20-token-metadata-contract description: Get ERC20 token metadata by contract hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenmetadata with: chain: tools.chain addresses: tools.addresses outputParameters: - type: object mapping: $. - name: get-erc20-token-metadata-symbols description: Get ERC20 token metadata by symbols hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenmetadatabysymbol with: chain: tools.chain symbols: tools.symbols outputParameters: - type: object mapping: $. - name: get-multiple-erc20-token-prices description: Get Multiple ERC20 token prices hints: readOnly: true destructive: false idempotent: false call: evm-token.getmultipletokenprices with: chain: tools.chain include: tools.include max_token_inactivity: tools.max_token_inactivity min_pair_side_liquidity_usd: tools.min_pair_side_liquidity_usd body: tools.body outputParameters: - type: object mapping: $. - name: get-erc20-token-price description: Get ERC20 token price hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenprice with: chain: tools.chain address: tools.address exchange: tools.exchange to_block: tools.to_block include: tools.include max_token_inactivity: tools.max_token_inactivity min_pair_side_liquidity_usd: tools.min_pair_side_liquidity_usd outputParameters: - type: object mapping: $. - name: get-erc20-token-stats description: Get ERC20 token stats hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenstats with: chain: tools.chain address: tools.address outputParameters: - type: object mapping: $. - name: get-swap-transactions-token-address description: Get swap transactions by token address hints: readOnly: true destructive: false idempotent: true call: evm-token.getswapsbytokenaddress with: chain: tools.chain address: tools.address cursor: tools.cursor limit: tools.limit order: tools.order fromBlock: tools.fromBlock toBlock: tools.toBlock fromDate: tools.fromDate toDate: tools.toDate transactionTypes: tools.transactionTypes outputParameters: - type: object mapping: $. - name: get-top-traders-given-erc20 description: Get top traders for a given ERC20 token hints: readOnly: true destructive: false idempotent: true call: evm-token.gettopprofitablewalletpertoken with: address: tools.address days: tools.days chain: tools.chain outputParameters: - type: object mapping: $. - name: get-erc20-token-transfers-contract description: Get ERC20 token transfers by contract address hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokentransfers with: chain: tools.chain from_block: tools.from_block to_block: tools.to_block from_date: tools.from_date to_date: tools.to_date address: tools.address limit: tools.limit order: tools.order cursor: tools.cursor outputParameters: - type: object mapping: $. - name: get-token-bonding-status description: Get the token bonding status hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenbondingstatus with: chain: tools.chain tokenAddress: tools.tokenAddress outputParameters: - type: object mapping: $. - name: get-holders-summary-token-address description: Get a holders summary by token address hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenholders with: chain: tools.chain tokenAddress: tools.tokenAddress outputParameters: - type: object mapping: $. - name: get-timeseries-holders-data description: Get timeseries holders data hints: readOnly: true destructive: false idempotent: true call: evm-token.gethistoricaltokenholders with: chain: tools.chain tokenAddress: tools.tokenAddress fromDate: tools.fromDate toDate: tools.toDate limit: tools.limit cursor: tools.cursor timeFrame: tools.timeFrame outputParameters: - type: object mapping: $. - name: get-erc20-token-owners-contract description: Get ERC20 token owners by contract hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenowners with: chain: tools.chain token_address: tools.token_address limit: tools.limit cursor: tools.cursor order: tools.order outputParameters: - type: object mapping: $. - name: get-token-pairs-address description: Get token pairs by address hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenpairs with: token_address: tools.token_address chain: tools.chain limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: get-aggregated-token-pair-statistics description: Get aggregated token pair statistics by address hints: readOnly: true destructive: false idempotent: true call: evm-token.getaggregatedtokenpairstats with: token_address: tools.token_address chain: tools.chain outputParameters: - type: object mapping: $. - name: get-ohlcv-pair-address description: Get OHLCV by pair address hints: readOnly: true destructive: false idempotent: true call: evm-token.getpaircandlesticks with: address: tools.address chain: tools.chain timeframe: tools.timeframe currency: tools.currency fromDate: tools.fromDate toDate: tools.toDate limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: get-snipers-pair-address description: Get snipers by pair address hints: readOnly: true destructive: false idempotent: true call: evm-token.getsnipersbypairaddress with: chain: tools.chain address: tools.address blocksAfterCreation: tools.blocksAfterCreation outputParameters: - type: object mapping: $. - name: get-stats-pair-address description: Get stats by pair address hints: readOnly: true destructive: false idempotent: true call: evm-token.getpairstats with: address: tools.address chain: tools.chain outputParameters: - type: object mapping: $. - name: get-swap-transactions-pair-address description: Get swap transactions by pair address hints: readOnly: true destructive: false idempotent: true call: evm-token.getswapsbypairaddress with: chain: tools.chain address: tools.address cursor: tools.cursor limit: tools.limit fromBlock: tools.fromBlock toBlock: tools.toBlock fromDate: tools.fromDate toDate: tools.toDate order: tools.order transactionTypes: tools.transactionTypes outputParameters: - type: object mapping: $. - name: get-token-analytics-list-token description: Get token analytics for a list of token addresses hints: readOnly: true destructive: false idempotent: false call: evm-token.getmultipletokenanalytics with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-timeseries-trading-stats-token description: Retrieve timeseries trading stats by token addresses hints: readOnly: true destructive: false idempotent: false call: evm-token.gettimeseriestokenanalytics with: timeframe: tools.timeframe body: tools.body outputParameters: - type: object mapping: $. - name: get-erc20-token-categories description: Get ERC20 token categories hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokencategories outputParameters: - type: object mapping: $. - name: search-tokens-based-contract-address description: Search for tokens based on contract address, pair address, token name or token symbol. hints: readOnly: true destructive: false idempotent: true call: evm-token.searchtokens with: chains: tools.chains query: tools.query limit: tools.limit isVerifiedContract: tools.isVerifiedContract sortBy: tools.sortBy boostVerifiedContracts: tools.boostVerifiedContracts outputParameters: - type: object mapping: $. - name: get-trending-tokens description: Get trending tokens hints: readOnly: true destructive: false idempotent: true call: evm-token.gettrendingtokensv2 with: chain: tools.chain limit: tools.limit outputParameters: - type: object mapping: $. - name: get-token-analytics-token-address description: Get token analytics by token address hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenanalytics with: chain: tools.chain tokenAddress: tools.tokenAddress outputParameters: - type: object mapping: $. - name: get-token-score-token-address description: Get token score by token address hints: readOnly: true destructive: false idempotent: true call: evm-token.gettokenscore with: chain: tools.chain tokenAddress: tools.tokenAddress outputParameters: - type: object mapping: $. - name: get-historical-token-score-token description: Get historical token score by token address hints: readOnly: true destructive: false idempotent: true call: evm-token.gethistoricaltokenscore with: chain: tools.chain tokenAddress: tools.tokenAddress timeframe: tools.timeframe outputParameters: - type: object mapping: $. - name: get-trading-stats-categories description: Get trading stats by categories hints: readOnly: true destructive: false idempotent: true call: evm-token.getvolumestatsbycategory with: chain: tools.chain outputParameters: - type: object mapping: $. - name: get-trading-stats-chain description: Get trading stats by chain hints: readOnly: true destructive: false idempotent: true call: evm-token.getvolumestatsbychain outputParameters: - type: object mapping: $. - name: retrieve-timeseries-trading-stats-chain description: Retrieve timeseries trading stats by chain hints: readOnly: true destructive: false idempotent: true call: evm-token.gettimeseriesvolume with: chain: tools.chain timeframe: tools.timeframe outputParameters: - type: object mapping: $. - name: retrieve-timeseries-trading-stats-category description: Retrieve timeseries trading stats by category hints: readOnly: true destructive: false idempotent: true call: evm-token.gettimeseriesvolumebycategory with: chain: tools.chain timeframe: tools.timeframe categoryId: tools.categoryId outputParameters: - type: object mapping: $. - name: get-erc20-token-balances-wallet description: Get ERC20 token balances by wallet hints: readOnly: true destructive: false idempotent: true call: evm-token.getwallettokenbalances with: chain: tools.chain address: tools.address to_block: tools.to_block token_addresses: tools.token_addresses exclude_spam: tools.exclude_spam outputParameters: - type: object mapping: $. - name: get-erc20-token-transfers-wallet description: Get ERC20 token transfers by wallet address hints: readOnly: true destructive: false idempotent: true call: evm-token.getwallettokentransfers with: chain: tools.chain from_block: tools.from_block to_block: tools.to_block from_date: tools.from_date to_date: tools.to_date address: tools.address contract_addresses: tools.contract_addresses limit: tools.limit order: tools.order cursor: tools.cursor outputParameters: - type: object mapping: $.