ToolAssay

Uniswap V2-style pair reader for 16 EVM chains

Uniswap V2-style pair reader for 16 EVM chains: both tokens with symbols, reserves, implied spot price both ways, LP supply and last update.

Answeringour last check, 2026-10-21
1 of 1checks answered this week
304 msmedian answer time
$0.01listed price per call
$0.01price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://saylorinnovations.com/api/chain/uniswap-v2-pair

CategoryMarket data
Provider hostsaylorinnovations.com
Networkseip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-21 valid payment request 402$0.01 304 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "chain": "ethereum",
    "pair": "0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "chain": {
              "description": "chain name (ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, gnosis, linea, scroll, mantle, blast, sonic, celo, berachain, unichain) or chain id",
              "type": "string"
            },
            "pair": {
              "description": "the V2-style liquidity pair contract address",
              "type": "string"
            }
          },
          "required": [
            "chain",
            "pair"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "chain": {
              "description": "the chain name that was queried",
              "type": "string"
            },
            "chain_id": {
              "description": "EIP-155 chain id of that network",
              "type": "number"
            },
            "factory": {
              "description": "factory that created the pair",
              "type": [
                "string",
                "null"
              ]
            },
            "last_update": {
              "description": "time of the last reserve update",
              "type": [
                "string",
                "null"
              ]
            },
            "lp_total_supply": {
              "description": "LP tokens outstanding",
              "type": [
                "string",
                "null"
              ]
            },
            "note": {
              "description": "plain-language reading of the result",
              "type": "string"
            },
            "pair": {
              "description": "the pair contract",
              "type": "string"
            },
            "price_token0_per_token1": {
              "description": "spot price: token0 per one token1",
              "type": [
                "number",
                "null"
              ]
            },
            "price_token1_per_token0": {
              "description": "spot price: token1 per one token0",
              "type": [
                "number",
                "null"
              ]
            },
            "reserve0": {
              "description": "token0 reserve in token units",
              "type": "string"
            },
            "reserve1": {
              "description": "token1 reserve in token units",
              "type": "string"
            },
            "source": {
              "description": "where the data was read from or how it was computed",
              "type": "string"
            },
            "token0": {
              "description": "first token with address, symbol and decimals",
              "properties": {
                "address": {
                  "description": "token contract",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "decimals": {
                  "description": "token decimals",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "symbol": {
                  "description": "token symbol",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "token1": {
              "description": "second token with address, symbol and decimals",
              "properties": {
                "address": {
                  "description": "token contract",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "decimals": {
                  "description": "token decimals",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "symbol": {
                  "description": "token symbol",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "required": [
            "chain",
            "chain_id",
            "pair",
            "token0",
            "token1",
            "reserve0",
            "reserve1",
            "note",
            "source"
          ],
          "type": "object"
        },
        "type": {
          "const": "json",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON