naftiko: 1.0.0-alpha2 info: label: EVM API — Discovery description: 'EVM API — Discovery. 11 operations. Lead operation: Get token details. Self-contained Naftiko capability covering one Moralis business surface.' tags: - Moralis - Discovery created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MORALIS_API_KEY: MORALIS_API_KEY capability: consumes: - type: http namespace: evm-discovery baseUri: https://deep-index.moralis.io/api/v2.2 description: EVM API — Discovery business capability. Self-contained, no shared references. resources: - name: discovery-token path: /discovery/token operations: - name: getdiscoverytoken method: GET description: Get token details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query required: true - name: token_address in: query type: string description: The address of the token required: true - name: discovery-tokens path: /discovery/tokens operations: - name: getfilteredtokens method: POST description: Returns a list of tokens that match the specified filters and criteria outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: discovery-tokens-blue-chip path: /discovery/tokens/blue-chip operations: - name: getbluechiptokens method: GET description: Get tokens with blue chip outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: min_token_age_in_days in: query type: number description: The minimum age of token in days - name: time_frame in: query type: string description: The time frame used for price percent change ordering in response - name: discovery-tokens-buying-pressure path: /discovery/tokens/buying-pressure operations: - name: getbuyingpressuretokens method: GET description: Get tokens with buying pressure outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: one_month_net_volume_change_usd in: query type: number description: The minimum one month net volume change in usd of a token - name: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: twitter_followers in: query type: number description: The minimum twitter followers of a token - name: one_month_volume_change_usd in: query type: number description: The minimum one month volume change in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: one_month_price_percent_change_usd in: query type: number description: The minimum one month price percent change of a token - name: discovery-tokens-experienced-buyers path: /discovery/tokens/experienced-buyers operations: - name: getexperiencedbuyerstokens method: GET description: Get tokens with experienced buyers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: one_week_experienced_net_buyers_change in: query type: number description: The minimum one week experienced buyers change of a token - name: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: discovery-tokens-rising-liquidity path: /discovery/tokens/rising-liquidity operations: - name: getrisingliquiditytokens method: GET description: Get tokens with rising liquidity outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: one_month_liquidity_change_usd in: query type: number description: The minimum one month liquidity change in usd of a token - name: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: twitter_followers in: query type: number description: The minimum twitter followers of a token - name: one_month_volume_change_usd in: query type: number description: The minimum one month volume change in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: one_month_price_percent_change_usd in: query type: number description: The minimum one month price percent change of a token - name: discovery-tokens-risky-bets path: /discovery/tokens/risky-bets operations: - name: getriskybetstokens method: GET description: Get tokens with risky bets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: max_market_cap in: query type: number description: The maximum market cap in usd of a token - name: one_week_holders_change in: query type: number description: The minimum one week holders change of a token - name: one_week_net_volume_change_usd in: query type: number description: The minimum one week net volume change in usd of a token - name: one_month_volume_change_usd in: query type: number description: The minimum one month volume change in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: one_month_price_percent_change_usd in: query type: number description: The minimum one month price percent change of a token - name: discovery-tokens-solid-performers path: /discovery/tokens/solid-performers operations: - name: getsolidperformerstokens method: GET description: Get tokens with solid performance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: one_month_net_volume_change_usd in: query type: number description: The minimum one month net volume change in usd of a token - name: one_week_net_volume_change_usd in: query type: number description: The minimum one week net volume change in usd of a token - name: one_day_net_volume_change_usd in: query type: number description: The minimum one day net volume change in usd of a token - name: one_month_volume_change_usd in: query type: number description: The minimum one month volume change in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: one_month_price_percent_change_usd in: query type: number description: The minimum one month price percent change of a token - name: discovery-tokens-top-gainers path: /discovery/tokens/top-gainers operations: - name: gettopgainerstokens method: GET description: Get tokens with top gainers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: time_frame in: query type: string description: The time frame used for price percent change ordering in response - name: discovery-tokens-top-losers path: /discovery/tokens/top-losers operations: - name: gettoploserstokens method: GET description: Get tokens with top losers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: security_score in: query type: number description: The minimum security score of a token - name: time_frame in: query type: string description: The time frame used for price percent change ordering in response - name: discovery-tokens-trending path: /discovery/tokens/trending operations: - name: gettrendingtokens 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: min_market_cap in: query type: number description: The minimum market cap in usd of a token - name: security_score in: query type: number description: The minimum security score of a token authentication: type: apikey key: X-API-Key value: '{{env.MORALIS_API_KEY}}' placement: header exposes: - type: rest namespace: evm-discovery-rest port: 8080 description: REST adapter for EVM API — Discovery. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/discovery/token name: discovery-token description: REST surface for discovery-token. operations: - method: GET name: getdiscoverytoken description: Get token details call: evm-discovery.getdiscoverytoken with: chain: rest.chain token_address: rest.token_address outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens name: discovery-tokens description: REST surface for discovery-tokens. operations: - method: POST name: getfilteredtokens description: Returns a list of tokens that match the specified filters and criteria call: evm-discovery.getfilteredtokens with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/blue-chip name: discovery-tokens-blue-chip description: REST surface for discovery-tokens-blue-chip. operations: - method: GET name: getbluechiptokens description: Get tokens with blue chip call: evm-discovery.getbluechiptokens with: chain: rest.chain min_market_cap: rest.min_market_cap security_score: rest.security_score min_token_age_in_days: rest.min_token_age_in_days time_frame: rest.time_frame outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/buying-pressure name: discovery-tokens-buying-pressure description: REST surface for discovery-tokens-buying-pressure. operations: - method: GET name: getbuyingpressuretokens description: Get tokens with buying pressure call: evm-discovery.getbuyingpressuretokens with: chain: rest.chain one_month_net_volume_change_usd: rest.one_month_net_volume_change_usd min_market_cap: rest.min_market_cap twitter_followers: rest.twitter_followers one_month_volume_change_usd: rest.one_month_volume_change_usd security_score: rest.security_score one_month_price_percent_change_usd: rest.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/experienced-buyers name: discovery-tokens-experienced-buyers description: REST surface for discovery-tokens-experienced-buyers. operations: - method: GET name: getexperiencedbuyerstokens description: Get tokens with experienced buyers call: evm-discovery.getexperiencedbuyerstokens with: chain: rest.chain one_week_experienced_net_buyers_change: rest.one_week_experienced_net_buyers_change min_market_cap: rest.min_market_cap security_score: rest.security_score outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/rising-liquidity name: discovery-tokens-rising-liquidity description: REST surface for discovery-tokens-rising-liquidity. operations: - method: GET name: getrisingliquiditytokens description: Get tokens with rising liquidity call: evm-discovery.getrisingliquiditytokens with: chain: rest.chain one_month_liquidity_change_usd: rest.one_month_liquidity_change_usd min_market_cap: rest.min_market_cap twitter_followers: rest.twitter_followers one_month_volume_change_usd: rest.one_month_volume_change_usd security_score: rest.security_score one_month_price_percent_change_usd: rest.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/risky-bets name: discovery-tokens-risky-bets description: REST surface for discovery-tokens-risky-bets. operations: - method: GET name: getriskybetstokens description: Get tokens with risky bets call: evm-discovery.getriskybetstokens with: chain: rest.chain max_market_cap: rest.max_market_cap one_week_holders_change: rest.one_week_holders_change one_week_net_volume_change_usd: rest.one_week_net_volume_change_usd one_month_volume_change_usd: rest.one_month_volume_change_usd security_score: rest.security_score one_month_price_percent_change_usd: rest.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/solid-performers name: discovery-tokens-solid-performers description: REST surface for discovery-tokens-solid-performers. operations: - method: GET name: getsolidperformerstokens description: Get tokens with solid performance call: evm-discovery.getsolidperformerstokens with: chain: rest.chain one_month_net_volume_change_usd: rest.one_month_net_volume_change_usd one_week_net_volume_change_usd: rest.one_week_net_volume_change_usd one_day_net_volume_change_usd: rest.one_day_net_volume_change_usd one_month_volume_change_usd: rest.one_month_volume_change_usd security_score: rest.security_score one_month_price_percent_change_usd: rest.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/top-gainers name: discovery-tokens-top-gainers description: REST surface for discovery-tokens-top-gainers. operations: - method: GET name: gettopgainerstokens description: Get tokens with top gainers call: evm-discovery.gettopgainerstokens with: chain: rest.chain min_market_cap: rest.min_market_cap security_score: rest.security_score time_frame: rest.time_frame outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/top-losers name: discovery-tokens-top-losers description: REST surface for discovery-tokens-top-losers. operations: - method: GET name: gettoploserstokens description: Get tokens with top losers call: evm-discovery.gettoploserstokens with: chain: rest.chain min_market_cap: rest.min_market_cap security_score: rest.security_score time_frame: rest.time_frame outputParameters: - type: object mapping: $. - path: /v1/discovery/tokens/trending name: discovery-tokens-trending description: REST surface for discovery-tokens-trending. operations: - method: GET name: gettrendingtokens description: Get trending tokens call: evm-discovery.gettrendingtokens with: chain: rest.chain min_market_cap: rest.min_market_cap security_score: rest.security_score outputParameters: - type: object mapping: $. - type: mcp namespace: evm-discovery-mcp port: 9090 transport: http description: MCP adapter for EVM API — Discovery. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-token-details description: Get token details hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getdiscoverytoken with: chain: tools.chain token_address: tools.token_address outputParameters: - type: object mapping: $. - name: returns-list-tokens-that-match description: Returns a list of tokens that match the specified filters and criteria hints: readOnly: true destructive: false idempotent: false call: evm-discovery.getfilteredtokens with: body: tools.body outputParameters: - type: object mapping: $. - name: get-tokens-blue-chip description: Get tokens with blue chip hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getbluechiptokens with: chain: tools.chain min_market_cap: tools.min_market_cap security_score: tools.security_score min_token_age_in_days: tools.min_token_age_in_days time_frame: tools.time_frame outputParameters: - type: object mapping: $. - name: get-tokens-buying-pressure description: Get tokens with buying pressure hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getbuyingpressuretokens with: chain: tools.chain one_month_net_volume_change_usd: tools.one_month_net_volume_change_usd min_market_cap: tools.min_market_cap twitter_followers: tools.twitter_followers one_month_volume_change_usd: tools.one_month_volume_change_usd security_score: tools.security_score one_month_price_percent_change_usd: tools.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - name: get-tokens-experienced-buyers description: Get tokens with experienced buyers hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getexperiencedbuyerstokens with: chain: tools.chain one_week_experienced_net_buyers_change: tools.one_week_experienced_net_buyers_change min_market_cap: tools.min_market_cap security_score: tools.security_score outputParameters: - type: object mapping: $. - name: get-tokens-rising-liquidity description: Get tokens with rising liquidity hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getrisingliquiditytokens with: chain: tools.chain one_month_liquidity_change_usd: tools.one_month_liquidity_change_usd min_market_cap: tools.min_market_cap twitter_followers: tools.twitter_followers one_month_volume_change_usd: tools.one_month_volume_change_usd security_score: tools.security_score one_month_price_percent_change_usd: tools.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - name: get-tokens-risky-bets description: Get tokens with risky bets hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getriskybetstokens with: chain: tools.chain max_market_cap: tools.max_market_cap one_week_holders_change: tools.one_week_holders_change one_week_net_volume_change_usd: tools.one_week_net_volume_change_usd one_month_volume_change_usd: tools.one_month_volume_change_usd security_score: tools.security_score one_month_price_percent_change_usd: tools.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - name: get-tokens-solid-performance description: Get tokens with solid performance hints: readOnly: true destructive: false idempotent: true call: evm-discovery.getsolidperformerstokens with: chain: tools.chain one_month_net_volume_change_usd: tools.one_month_net_volume_change_usd one_week_net_volume_change_usd: tools.one_week_net_volume_change_usd one_day_net_volume_change_usd: tools.one_day_net_volume_change_usd one_month_volume_change_usd: tools.one_month_volume_change_usd security_score: tools.security_score one_month_price_percent_change_usd: tools.one_month_price_percent_change_usd outputParameters: - type: object mapping: $. - name: get-tokens-top-gainers description: Get tokens with top gainers hints: readOnly: true destructive: false idempotent: true call: evm-discovery.gettopgainerstokens with: chain: tools.chain min_market_cap: tools.min_market_cap security_score: tools.security_score time_frame: tools.time_frame outputParameters: - type: object mapping: $. - name: get-tokens-top-losers description: Get tokens with top losers hints: readOnly: true destructive: false idempotent: true call: evm-discovery.gettoploserstokens with: chain: tools.chain min_market_cap: tools.min_market_cap security_score: tools.security_score time_frame: tools.time_frame outputParameters: - type: object mapping: $. - name: get-trending-tokens description: Get trending tokens hints: readOnly: true destructive: false idempotent: true call: evm-discovery.gettrendingtokens with: chain: tools.chain min_market_cap: tools.min_market_cap security_score: tools.security_score outputParameters: - type: object mapping: $.