freetier-agent-api.pages.dev

No description published for this endpoint.

OtherLiveeip155:8453Exactvia facilitator:thirdweb
Calls · 30d
1
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 26 snapshots so far.
$0.58
Verified settled volume
133 settlements proven x402 by their on-chain EIP-3009 marker.
$0.0015
Listed price
As published in the catalog. Always read the live 402 before paying.
—
Calls · 30d
Upstream's own call count for this endpoint, not ours.
—
Unique payers · 30d
Never called
—
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x165Eb3dC3E98403ecB1141e90400F5e71806554B

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "docs": "https://freetier-agent-api.pages.dev/products/geocode",
  "error": "Payment required: $0.0015 USDC on Base. Send PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (x402 v1). To use your 1 free call, repeat the request with real parameters (example: https://freetier-agent-api.pages.dev/api/geocode?q=Eiffel+Tower%2C+Paris).",
  "policy": "Failed calls are never charged: the payment is verified first, the request runs, and the payment is settled only if it succeeded. Errors (4xx/5xx) are not settled, and invalid input is rejected before any payment or free call.",
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
      "scheme": "exact",
      "network": "base",
      "mimeType": "application/json",
      "resource": "https://freetier-agent-api.pages.dev/api/geocode",
      "description": "Geocoding with OpenStreetMap Nominatim: address or place name -> coordinates (up to 5 matches, optional country filter), or lat+lon -> structured address (reverse). Structured address fields, country code, bounding box, OSM id. Cached; ODbL attribution included.",
      "outputSchema": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "q": {
              "type": "string",
              "description": "address or place name (forward geocoding)"
            },
            "lat": {
              "type": "string",
              "description": "latitude for reverse geocoding (with lon)"
            },
            "lon": {
              "type": "string",
              "description": "longitude for reverse geocoding (with lat)"
            },
            "lang": {
              "type": "string",
              "description": "result language, default en"
            },
            "limit": {
              "type": "string",
              "description": "1-5 matches, default 1"
            },
            "country": {
              "type": "string",
              "description": "ISO 3166-1 alpha-2 filter, e.g. dk or us,ca"
            }
          },
          "discoverable": true
        },
        "output": {
          "mode": "forward",
          "count": 1,
          "query": {
            "q": "Eiffel Tower, Paris",
            "limit": 1,
            "country": null
          },
          "results": [
            {
              "lat": 48.8582599,
              "lon": 2.2945006,
              "osm": {
                "id": 5013364,
                "type": "way"
              },
              "bbox": [
                48.8574753,
                48.8590453
              ],
              "name": "Eiffel Tower",
              "type": "tower",
              "address": {
                "city": "Paris",
                "road": "Avenue Anatole France",
                "state": "Ile-de-France",
                "county": null,
                "country": "France",
                "postcode": "75007",
                "country_code": "FR",
                "house_number": "5"
              },
              "category": "man_made",
              "importance": 0.621,
              "display_name": "Eiffel Tower, 5, Avenue Anatole France, Quartier du Gros-Caillou, 7th Arrondissement, Paris, Ile-de-France, Metropolitan France, 75007, France"
            }
          ],
          "sources": [
            {
              "url": "https://nominatim.org/",
              "name": "OpenStreetMap Nominatim",
              "license": "ODbL 1.0"
            }
          ],
          "attribution": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright"
        }
      },
      "maxAmountRequired": "1500",
      "maxTimeoutSeconds": 300
    }
  ],
  "free_call": "1 free call per route per caller (lifetime), with real parameters; a bare request without parameters always gets this 402.",
  "no_wallet": "No wallet? Buy 1,000 calls by card ($3): https://freetier.gumroad.com/l/gvyfk , then send your Gumroad license key as HTTP header X-License-Key: <key>.",
  "price_usd": 0.0015,
  "price_unit": "per call",
  "pay_by_card": {
    "how": "Buy a credit pack by card (1,000 credits $3, 5,000 $12, 20,000 $40; 1 credit = $0.001), then send header X-License-Key: <your key> on any paid route. Failed calls are never charged; credits do not expire.",
    "url": "https://freetier.gumroad.com/l/gvyfk"
  },
  "verified_by": {
    "tx": "0x45358a14da592ecdb70e8699448bd32e05b3eee9a616093218dbd99cd0225e02",
    "url": "https://payapi.market/api/agent-extraction-api-geocode-reverse-geocode-openstreetmap",
    "name": "PayAPI Market",
    "what": "Verified = PayAPI Market made one settled test payment (USDC on Base) to the route and received a valid response. One test payment per route; it is not an audit, a review or an uptime guarantee. invoice-json is not verified on PayAPI Market yet.",
    "listings": [
      {
        "tx": "0xac7061becf519224a65e72675e3a70e56d8b7b898cb773007578d958e57a7c18",
        "url": "https://payapi.market/api/freetier-agent-api",
        "route": "/api/holidays"
      },
      {
        "tx": "0x515564cbeac0710003a3974a52868e5837359b842cb88f3b8640bf4d3185831e",
        "url": "https://payapi.market/api/agent-extraction-api-token-risk-erc-20-base-ethereum",
        "route": "/api/token-risk"
      },
      {
        "tx": "0x1e6a7906ce26e1b2802c513f5071d5ad2607970af193b736b4424030b25e4735",
        "url": "https://payapi.market/api/agent-extraction-api-site-contacts-company-website-to-contact-row",
        "route": "/api/site-contacts"
      },
      {
        "tx": "0x6b0dd103e9d33f409e800fde77a7e533c986e2a5e79a6a335bc180634bfa9f63",
        "url": "https://payapi.market/api/agent-extraction-api-page-to-rag-web-page-to-markdown-chunks",
        "route": "/api/page-rag"
      },
      {
        "tx": "0x2e133da5bd0cb927ed575f9cbc2512d746b891024986d1aef23bd900d157eb9d",
        "url": "https://payapi.market/api/agent-extraction-api-tx-explain-payment-check-base-ethereum",
        "route": "/api/tx-explain"
      },
      {
        "tx": "0x1d1db3bc3e1d7d7f433e47e2cd21ceea8e8aef72bf57945b19d80026794167b1",
        "url": "https://payapi.market/api/agent-extraction-api-wallet-profile-base-ethereum-address",
        "route": "/api/wallet-profile"
      },
      {
        "tx": "0x54c1b0a1f53e8436f143c3fe288162daf3bccb2e6b5dd09a5bcb57860c4b20ef",
        "url": "https://payapi.market/api/agent-extraction-api-contract-abi-proxy-resolver-base-ethereum",
        "route": "/api/contract-abi"
      },
      {
        "tx": "0x60d1af025e8a5cd38964d1053df8264464ba265b9100d5010b44c856e0d05489",
        "url": "https://payapi.market/api/agent-extraction-api-token-info-usd-price-erc-20-5-chains",
        "route": "/api/token-info"
      },
      {
        "tx": "0x99d1cf63eac473e7370d8806911caaa2d7fdd3cd0fa39fa71458ddca9a585ade",
        "url": "https://payapi.market/api/agent-extraction-api-ens-basenames-resolver-forward-reverse",
        "route": "/api/ens"
      },
      {
        "tx": "0x14ce0ef6b653ed44b9124e2b2d239c3ada0dc797e3d069c929c1585392b8355b",
        "url": "https://payapi.market/api/agent-extraction-api-transaction-status-poller-5-evm-chains",
        "route": "/api/tx-status"
      },
      {
        "tx": "0xdd4a100ee7c49af4b8acd711d06a2287db143682f3e2c09fa57ebbc6cf450b8e",
        "url": "https://payapi.market/api/agent-extraction-api-dns-spf-dmarc-mail-auth-check",
        "route": "/api/dns"
      },
      {
        "tx": "0x3f835455f2f275f22d8b9beb49f02eb050014dac658e5a60f3d38dfa53f46d78",
        "url": "https://payapi.market/api/agent-extraction-api-domain-whois-via-rdap-registrar-expiry",
        "route": "/api/domain-whois"
      },
      {
        "tx": "0x0cea4319e1b01a3b0b52bc4c7ca563c958f891ea237890a4446d69b01187dd55",
        "url": "https://payapi.market/api/agent-extraction-api-ssl-certificate-check-ct-logs-days-left",
        "route": "/api/ssl-cert"
      },
      {
        "tx": "0x45358a14da592ecdb70e8699448bd32e05b3eee9a616093218dbd99cd0225e02",
        "url": "https://payapi.market/api/agent-extraction-api-geocode-reverse-geocode-openstreetmap",
        "route": "/api/geocode"
      }
    ],
    "route_verified": true
  },
  "when_to_use": "Use geocode to turn an address or place into coordinates, or coordinates into an address (OpenStreetMap).",
  "x402Version": 1,
  "example_output": {
    "mode": "forward",
    "count": 1,
    "query": {
      "q": "Eiffel Tower, Paris",
      "limit": 1,
      "country": null
    },
    "results": [
      {
        "lat": 48.8582599,
        "lon": 2.2945006,
        "osm": {
          "id": 5013364,
          "type": "way"
        },
        "bbox": [
          48.8574753,
          48.8590453
        ],
        "name": "Eiffel Tower",
        "type": "tower",
        "address": {
          "city": "Paris",
          "road": "Avenue Anatole France",
          "state": "Ile-de-France",
          "county": null,
          "country": "France",
          "postcode": "75007",
          "country_code": "FR",
          "house_number": "5"
        },
        "category": "man_made",
        "importance": 0.621,
        "display_name": "Eiffel Tower, 5, Avenue Anatole France, Quartier du Gros-Caillou, 7th Arrondissement, Paris, Ile-de-France, Metropolitan France, 75007, France"
      }
    ],
    "sources": [
      {
        "url": "https://nominatim.org/",
        "name": "OpenStreetMap Nominatim",
        "license": "ODbL 1.0"
      }
    ],
    "attribution": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright"
  },
  "example_request": {
    "url": "https://freetier-agent-api.pages.dev/api/geocode?q=Eiffel+Tower%2C+Paris",
    "method": "GET"
  },
  "pay_with_any_token": {
    "note": "Each tx hash pays for one call. If the call fails (4xx/5xx) the tx can be reused for a retry of the same route. USDC works this way too.",
    "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
    "quote": "https://freetier-agent-api.pages.dev/api/pay/quote?route=%2Fapi%2Fgeocode&token=",
    "steps": [
      "GET https://freetier-agent-api.pages.dev/api/pay/quote?route=/api/geocode&token=<token address> -> amount (atomic units)",
      "Send that amount with an ERC-20 transfer() to payTo on Base (you pay gas)",
      "Repeat this request with headers X-PAYMENT-TX: <tx hash> and X-PAYMENT-TOKEN: <token address> within 30 minutes"
    ],
    "chains": "Base (default) plus ethereum, arbitrum, optimism, polygon, bsc: add &chain=<name> to the quote and header X-PAYMENT-CHAIN: <name>; token=native pays with the chain coin (ETH/POL/BNB). NFTs are not accepted (no safe free price source).",
    "scheme": "freetier-direct-transfer (non-standard, buyer pays gas)",
    "tokens": "any ERC-20 on Base with >= $10000 DEX liquidity that passes the GoPlus safety filter (no honeypots, no sell blocks, no pausable/owner-controlled balances, tax <= 10%)",
    "network": "eip155:8453"
  }
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.0015USDC≈ $0.0015 USD
on Base · exact scheme

Pay 0.0015 USDC on Base to 0x165E…6554B. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
1500 smallest units
Returns
application/json
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
    "scheme": "exact",
    "network": "eip155:8453",
    "mimeType": "application/json",
    "resource": "https://freetier-agent-api.pages.dev/api/geocode",
    "description": "",
    "maxAmountRequired": "1500",
    "maxTimeoutSeconds": 300
  }
]

Provenance

Seen in the source catalog
2026-10-31 16:53Z
Last indexed by Roundhouse
2026-11-07 05:46Z
Last enriched (probe, favicon, geo)
2026-11-01 10:46Z
x402 version
1
Max timeout
300s
Liveness probe
HTTP 402
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 26 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service freetier-agent-api.pages.dev and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=freetier-agent-api.pages.dev'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://freetier-agent-api.pages.dev/api/geocode, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at
GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at
https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.