Moralis · Capability

EVM API — DeFi

EVM API — DeFi. 3 operations. Lead operation: Get DEX token pair reserves. Self-contained Naftiko capability covering one Moralis business surface.

Run with Naftiko MoralisDeFi

What You Can Do

GET
Getpairreserves — Get DEX token pair reserves
/v1/{pair-address}/reserves
GET
Getpairaddress — Get DEX token pair address
/v1/{token0-address}/{token1-address}/pairaddress
GET
Getpairprice — Get DEX token pair price
/v1/{token0-address}/{token1-address}/price

MCP Tools

get-dex-token-pair-reserves

Get DEX token pair reserves

read-only idempotent
get-dex-token-pair-address

Get DEX token pair address

read-only idempotent
get-dex-token-pair-price

Get DEX token pair price

read-only idempotent

Capability Spec

evm-defi.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: EVM API — DeFi
  description: 'EVM API — DeFi. 3 operations. Lead operation: Get DEX token pair reserves. Self-contained Naftiko capability
    covering one Moralis business surface.'
  tags:
  - Moralis
  - DeFi
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MORALIS_API_KEY: MORALIS_API_KEY
capability:
  consumes:
  - type: http
    namespace: evm-defi
    baseUri: https://deep-index.moralis.io/api/v2.2
    description: EVM API — DeFi business capability. Self-contained, no shared references.
    resources:
    - name: pair_address-reserves
      path: /{pair_address}/reserves
      operations:
      - name: getpairreserves
        method: GET
        description: Get DEX token pair reserves
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: chain
          in: query
          type: string
          description: The chain to query
        - name: to_block
          in: query
          type: string
          description: The block number to get the reserves from
        - name: to_date
          in: query
          type: string
          description: Get the reserves up to this date (format in seconds or datestring accepted by momentjs)
        - name: pair_address
          in: path
          type: string
          description: The liquidity pair address
          required: true
    - name: token0_address-token1_address-pairAddress
      path: /{token0_address}/{token1_address}/pairAddress
      operations:
      - name: getpairaddress
        method: GET
        description: Get DEX token pair address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: chain
          in: query
          type: string
          description: The chain to query
        - name: to_block
          in: query
          type: string
          description: The block number to get the reserves from
        - name: to_date
          in: query
          type: string
          description: Get the reserves up to this date (format in seconds or datestring accepted by momentjs)
        - name: exchange
          in: query
          type: string
          description: The factory name or address of the token exchange
          required: true
        - name: token0_address
          in: path
          type: string
          description: The token0 address
          required: true
        - name: token1_address
          in: path
          type: string
          description: The token1 address
          required: true
    - name: token0_address-token1_address-price
      path: /{token0_address}/{token1_address}/price
      operations:
      - name: getpairprice
        method: GET
        description: Get DEX token pair price
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: chain
          in: query
          type: string
          description: The chain to query
        - name: to_block
          in: query
          type: string
          description: The block number to get the reserves from
        - name: to_date
          in: query
          type: string
          description: Get the price up to this date (format in seconds or datestring accepted by momentjs)
        - name: token0_address
          in: path
          type: string
          description: The token0 address
          required: true
        - name: token1_address
          in: path
          type: string
          description: The token1 address
          required: true
        - name: exchange
          in: query
          type: string
          description: The factory name or address of the token exchange
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.MORALIS_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: evm-defi-rest
    port: 8080
    description: REST adapter for EVM API — DeFi. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/{pair-address}/reserves
      name: pair-address-reserves
      description: REST surface for pair_address-reserves.
      operations:
      - method: GET
        name: getpairreserves
        description: Get DEX token pair reserves
        call: evm-defi.getpairreserves
        with:
          chain: rest.chain
          to_block: rest.to_block
          to_date: rest.to_date
          pair_address: rest.pair_address
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{token0-address}/{token1-address}/pairaddress
      name: token0-address-token1-address-pairaddress
      description: REST surface for token0_address-token1_address-pairAddress.
      operations:
      - method: GET
        name: getpairaddress
        description: Get DEX token pair address
        call: evm-defi.getpairaddress
        with:
          chain: rest.chain
          to_block: rest.to_block
          to_date: rest.to_date
          exchange: rest.exchange
          token0_address: rest.token0_address
          token1_address: rest.token1_address
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{token0-address}/{token1-address}/price
      name: token0-address-token1-address-price
      description: REST surface for token0_address-token1_address-price.
      operations:
      - method: GET
        name: getpairprice
        description: Get DEX token pair price
        call: evm-defi.getpairprice
        with:
          chain: rest.chain
          to_block: rest.to_block
          to_date: rest.to_date
          token0_address: rest.token0_address
          token1_address: rest.token1_address
          exchange: rest.exchange
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: evm-defi-mcp
    port: 9090
    transport: http
    description: MCP adapter for EVM API — DeFi. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-dex-token-pair-reserves
      description: Get DEX token pair reserves
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: evm-defi.getpairreserves
      with:
        chain: tools.chain
        to_block: tools.to_block
        to_date: tools.to_date
        pair_address: tools.pair_address
      outputParameters:
      - type: object
        mapping: $.
    - name: get-dex-token-pair-address
      description: Get DEX token pair address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: evm-defi.getpairaddress
      with:
        chain: tools.chain
        to_block: tools.to_block
        to_date: tools.to_date
        exchange: tools.exchange
        token0_address: tools.token0_address
        token1_address: tools.token1_address
      outputParameters:
      - type: object
        mapping: $.
    - name: get-dex-token-pair-price
      description: Get DEX token pair price
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: evm-defi.getpairprice
      with:
        chain: tools.chain
        to_block: tools.to_block
        to_date: tools.to_date
        token0_address: tools.token0_address
        token1_address: tools.token1_address
        exchange: tools.exchange
      outputParameters:
      - type: object
        mapping: $.