Back to directory

flat-rate-llm — pay-per-call data APIs for AI agents

https://flat-rate-llm.kikoribera03.workers.dev/mcp
● healthy general

63 keyless pay-per-call endpoints for AI agents, paid in USDC on Base over x402: on-chain reads (balances, transactions, token info, token safety, Uniswap V3 price), network checks (RDAP whois, DNS, TLS certificates, IP/ASN, blocklists), email verdict with a 0-100 score and the evidence behind it, OFAC SDN screening, ECB FX rates, weather and time zones. Every answer carries a `next` array with the follow-up call prefilled. $0.001–$0.01 per call. No account, no API key.

Category
general
Chains
eip155:137, eip155:42161, eip155:8453
Price
$0.0050 USDC / call

Quality grade

How grading works
B+ 84.0 / 100
Availability 40.0 / 40
Endpoint responded (HTTP 200)
Payability 20.0 / 20
  • ✓ Answers a real HTTP 402 challenge
  • ✓ Publishes a /.well-known/x402 descriptor
  • ✓ Payment address on record
  • ✓ Settlement network declared
  • ✓ Price declared
Demand 24.0 / 40
43 distinct payers, 661 USDC transfers in the last 30 days
Owner verified 0.0 / 3
Nobody has claimed this listing yet
Endpoint last checked 5 h ago. On-chain activity last read 2 d ago. Availability and on-chain demand are both re-probed daily; the grade updates automatically on the next pass. This grade sets search order and leaderboards; the readiness score below is shown for reference only.

x402 readiness

B · 87/100

Readiness is how fully this listing follows its protocol and how it behaved in our probes over 30 days. It is shown for reference and does not move it in search. Search order and leaderboards use the separate quality grade (here B+, 84.0/100), which weighs availability, payability and on-chain demand. How the two differ

Valid payment requirements 10/10 Payment requirements carry a payee, a mainnet network and a price.
Live 402 challenge 20/25 Endpoint reachable; its 402 challenge was seen earlier (425 ms).
x402 version n/a x402 version not observed yet.
Signed descriptor n/a No x402 standard defines a signed descriptor.
Uptime (30 days) 15/15 32/32 probes succeeded over 30 days (100%).
Resource declaration 10/10 Declares 78 paid resource(s).
Verified identity 5/10 Publisher descriptor (/.well-known/x402 or OpenAPI) on record; claim this listing to verify domain control.
Freshness + modern flags 5/5 seen in a source within 7 days; declares x402.
Security declaration n/a Payment is the access control for an x402 resource.
Applicable criteria total 75 points, scaled to 100.
Responsiveness: Responsive (425 ms; bands ≤2.5 s, ≤5 s, ≤8 s, slower; penalty only).
Payment evidence: x402_challenge — We sent a request and got a live HTTP 402 challenge. Also: x402_manifest, bazaar_feed, catalog_listing. Qualifies the payment claim; adds no points.
Measured 2026-11-11.
Nine criteria, the same as the A2A readiness score, read from our daily probe of the paid endpoint, its payment requirements and 30-day probe history. Signed descriptor and security declaration are n/a for x402 (payment is the access control), as is an x402 version we have not observed; the remaining points are scaled to 100. Grades: A>=90, B>=75, C>=60, D>=40, F<40. Display only: search order uses the quality grade.

Compared with peers

Against 10,060 reachable x402 APIs in our daily snapshot (2026-11-12 01:39 UTC). Display only; it does not change search order.

Readiness
Higher than 75% of peers
This listing 87 · peer median 78
Latency
Faster than 25% of peers
This listing 425 ms · peer median 205 ms

Where it loses the most points, and how to win them back

  • Live 402 challenge −5 — Answer the paid path with a valid 402 challenge.
    Now: Endpoint reachable; its 402 challenge was seen earlier (425 ms).
  • Verified identity −5 — Claim the listing and prove control of its domain.
    Now: Publisher descriptor (/.well-known/x402 or OpenAPI) on record; claim this listing to verify domain control.

How many agent tools actually work · All statistics

Paid endpoints

78 resource(s) advertised by this origin. Each price below is that resource's own x402 price; the headline price is the range across them.

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/do

Use when an agent has a job to get done and does not know which tool or in what order: describe it in plain words and it happens in ONE paid call: picks from 71 capabilities - transcription, translation, documents, images, web, on-chain, domains, IPs, weather, FX - fills their parameters and chains

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/balance

Use when an agent has to decide whether a wallet can pay before building a transaction: the native coin balance (ETH, MATIC...) of any address on Base, Ethereum, Polygon, Arbitrum or Optimism, returned both as wei (exact integer string) and as ether, with the chain it was read on. Do not use for tok

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/erc20-balance

Use when an agent must confirm a wallet holds enough of a token before it swaps, pays or settles: the ERC-20 balance of any address for any token (USDC, USDT, DAI or any other), returned raw (exact integer string) with its decimals, the formatted amount and the symbol, so no rounding is forced on yo

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/token-info

Use when an agent has a bare token address and must label or format it before showing or computing anything: name, symbol, decimals and total supply of any ERC-20 in one call. decimals is what stops an amount being shown a million times too big. Do not use for a holder's balance (/v1/evm/erc20-balan

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/token-price

Use when an agent must put a number on a token before trading or reporting, and be able to defend it: spot price read straight from the deepest Uniswap V3 pool against USDC, on Base, Ethereum, Polygon, Arbitrum or Optimism. Returns the pool address, fee tier, liquidity, sqrtPriceX96, tick and block,

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/gas

Use when an agent is about to send a transaction and needs to know what it costs right now: the chain's current gas price in wei and gwei plus the cost of a plain transfer in ether. It is the price now, not a forecast. Do not use for EIP-1559 fee caps (/v1/evm/fees returns the base fee with maxFeePe

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/block

Use when an agent has to decide whether what it just read on-chain is fresh, or whether a node is behind: the latest block height, its timestamp and how many seconds old the chain head is. Do not use for one transaction's outcome (/v1/evm/tx) or to compare several chains at once (/v1/evm/chains does

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/tx

Use when an agent has sent a transaction and must decide what to do next: the transaction by hash merged with its receipt in one call, so you get sender, recipient, value, gas used, success or revert, and the block it landed in without chaining two RPC calls. Do not use to find out whether it has be

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/nonce

Use when an agent signs transactions one after another and must not collide with one already in flight: the confirmed nonce, the pending nonce (the one to use while an earlier transaction is still unmined) and whether the address is a contract. Do not use to check the transaction is affordable (/v1/

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/is-contract

Use when an agent is about to send funds and must decide whether the destination is a plain wallet or a contract: returns isContract and the size of the deployed bytecode. A wallet where you expected a contract, or the reverse, is the cheapest mistake to catch before signing. Do not use to judge whe

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/chains

Use when an agent has to pick a chain that is actually answering before it commits to one: every supported chain in a single call, each with its chain id, block height, how many seconds stale its head is, and ok. Do not use for one chain on its own (/v1/evm/block) or for what a transaction will cost

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/call

Use when an agent needs a contract value that none of the typed routes covers: it runs any read-only call with your own calldata on five chains and returns the raw 32-byte result plus asUint, so you can decode it yourself. The escape hatch, not the first choice. Do not use for balances, allowances,

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/receipt

Use when an agent is waiting on a transaction and has to answer «did it work, and what did it cost»: the receipt by hash with success or revert, gas used, the fee actually paid in ether, and how many logs it emitted. found: false means it is not mined yet, which is the answer a waiting agent needs.

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/estimate-gas

Use when an agent is about to sign a transaction and must know whether it will fail and what it will cost: the gas this exact call needs, the current gas price, the cost in ether, and wouldRevert, which says the transaction would fail before you spend anything finding out. Do not use for the price o

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/can-i-send

Use when an agent is about to sign a transaction and must decide whether it will go through right now: one call that answers canSend with the facts behind it - the sender's balance, the gas this exact transaction needs, what it will cost, whether the node says it would revert, the nonce to use if ea

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/gas-window

Use when an agent can choose WHEN to send and must decide whether waiting would save anything: the fee paid across the last ~1000 blocks of this chain in one call, with the cost now, the window percentiles, where now sits in it, and timingMatters, which says whether this chain moves enough for the q

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/storage

Use when an agent must read something a contract does not expose with a getter and has to decide from it: a raw storage slot, returned as hex and as an integer. It is how you find a proxy's implementation address, an owner or a paused flag. Do not use when the contract has a public getter (/v1/evm/c

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/erc20-allowance

Use when an agent is about to approve a spender, or is auditing what it approved before: how much of a token the spender may still move on the owner's behalf, raw and formatted with its decimals, plus unlimited, which flags a forgotten infinite approval. Do not use for what the wallet actually holds

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/nft-owner

Use when an agent must decide whether an NFT is still held by who it thinks: the current owner of an ERC-721 token id, with its tokenURI and the collection name in the same call, read straight from the contract with no indexer in between. Do not use for a whole wallet's holdings or for ERC-1155 bala

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/portfolio

Use when an agent must see at once whether a wallet can cover something: the native balance plus the balance of every token you list, on one chain, in a single call, each already formatted with its symbol and decimals. One request instead of one per token. Do not use for a single token (/v1/evm/erc2

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/fees

Use when an agent is building an EIP-1559 transaction and must choose fee caps that will actually get it mined: the base fee plus suggested maxFeePerGas and maxPriorityFeePerGas at slow, normal and fast, computed from the last 20 blocks of real fee history. Do not use for a legacy gas price (/v1/evm

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/ens

Use when an agent has a name where it needs an address, or the other way round, before it can act: resolves an ENS name to its address or an address to its primary ENS name, read straight from Ethereum mainnet, with found telling you when there is no record. Do not use to check an address is well fo

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/token-safety

Use when an agent must decide whether to touch a token at all: a pre-trade risk check on Base, Ethereum, Polygon, Arbitrum or Optimism, straight from the deployed bytecode and live state. Detects mint, pause, blacklist, upgradeable proxy and mutable buy/sell tax powers, and reports whether ownership

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/evm/verdict

Use when an agent needs one answer it can act on: a verdict on any ERC20 on five chains - a machine-readable label for who can act on your balance (no-owner-powers, owner-can-intervene, owner-controls-balances, not-a-token), a headline, a plain reading and a paste-ready card, with the evidence selec

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/keccak256

Use when an agent is building something Ethereum will hash and must get the same digest the chain gets: Keccak-256 of any string or hex payload, with the byte count. It is NOT SHA3-256, and that confusion is the usual reason a selector or a CREATE2 address comes out wrong. Do not use for file digest

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/sha256

Use when an agent must prove two payloads are the same byte for byte, or sign an API request: SHA-256 of any string or hex payload, returned as hex and as base64, which are the two forms signatures and content addresses are written in. Do not use for anything Ethereum hashes: the chain uses Keccak-2

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/address

Use when an agent is handed an address and must decide whether it is safe to use before sending anything: it validates it and returns the EIP-55 mixed-case checksum form, plus whether the input was already checksummed. An address that fails the checksum is almost always mistyped. Do not use to find

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/units

Use when an agent must turn an on-chain integer into a human amount, or back, without losing money to rounding: converts between wei, gwei, ether and any token decimals with exact integer maths, no floating point. Being off by a factor of a thousand on decimals is the mistake that costs real funds.

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/hex

Use when an agent has raw RPC output and must read it as a number or as text: converts between hex, decimal and UTF-8 in one call, with big integers kept exact because a 32-byte word overflows a JavaScript number. Do not use to decode a whole ABI-encoded struct: this converts one value. No API key,

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/base64

Use when an agent must put bytes through a header, a URL or a JSON field, or read what came back: base64 in both directions, including the URL-safe alphabet, with UTF-8 handled properly. x402 itself rides on base64, so this is the one that reads a payment header. Do not use for hashing (/v1/util/sha

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/uuid

Use when an agent needs ids that must not collide: cryptographically random UUID v4s, up to 100 in one call, straight from the platform CSPRNG. For idempotency keys, request ids and correlation ids, where a repeat means a duplicate charge or a lost trace. Do not use for a secret or a password (/v1/r

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/verify-signature

Use when an agent must decide whether whoever is talking to it really controls a wallet: it recovers the address that signed a personal_sign (EIP-191) message and says whether it matches the one you expected. This is the check that turns a claimed address into a proven one. Do not use for EIP-712 ty

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/util/selector

Use when an agent is building calldata by hand or filtering logs and needs the exact identifiers: it turns a Solidity signature such as transfer(address,uint256) into its 4-byte function selector and its 32-byte event topic0. Do not use to run the call once you have the calldata (/v1/evm/call) or to

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/random/dice

Use when an agent has to produce a roll a player or an audit will check: dice with any number of faces, every individual roll, the total and the standard notation (3d6, 1d20). It uses the platform CSPRNG with rejection sampling, so every face is equally likely, which a plain modulo is not. Do not us

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/random/coinflip

Use when an agent must break a tie or split a test and cannot be seen to have chosen: one or more fair coins, each result and the tally of heads and tails, cryptographically random rather than Math.random. Do not use to pick among more than two options (/v1/random/pick) or to order a list (/v1/rando

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/random/pick

Use when an agent has several options and no reason to prefer any, and the choice has to be defensible: picks one or more items from the list you send, with or without repeats, and tells you how many it had to choose from. Do not use to order the whole list (/v1/random/shuffle) or to draw a number i

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/random/shuffle

Use when an agent must put a list in an order nobody can claim was arranged: a uniformly random shuffle with Fisher-Yates over the platform CSPRNG, so every permutation is equally likely, which sorting by a random key does not give you. Do not use to take just one or a few items (/v1/random/pick). N

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/random/password

Use when an agent must mint a secret and be able to justify its strength: strong random passwords from the platform CSPRNG, returned with their entropy in bits so the strength is a number and not an opinion. Four alphabets, one with no look-alike characters for anything a human has to read back or d

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/random/number

Use when an agent needs numbers in a range that will stand up to inspection: uniform random integers between your own bounds, with or without repeats, drawn with rejection sampling so the ends of the range are not slightly less likely, which is what modulo does. Do not use to choose among items (/v1

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/time/convert

Use when an agent is about to commit to a time in someone else's zone and cannot be an hour wrong: converts between any two IANA zones with daylight saving applied from the runtime's own tz database. Returns both sides with their UTC offset, abbreviation and DST flag, plus the UTC instant and the di

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/time/now

Use when an agent must stamp or schedule something in a particular place and needs every form at once: ISO with offset, 24-hour, 12-hour, weekday, unix timestamp and UTC. It also says whether daylight saving is active right now and what the zone's standard offset is, so a shifted clock can be told a

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/time/zones

Use when an agent has a city or a country and needs the exact zone name the other routes expect: searches the full IANA list and gives each zone's current UTC offset, abbreviation, local time and DST state. Use it to turn a city or a country into the exact zone name the other endpoints expect, or to

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/horror-story

Use when an agent has to perform something short and timed, not just print text: a two-sentence horror story, in English or Spanish, by theme: domestic, technological, cosmic or folk. Returned SPLIT into setup and payoff as well as joined, so a narrating agent can deliver the first line, pause, and

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/roast

Use when a code-review agent wants to land a joke about the actual stack in front of it: a lighthearted developer roast aimed at a target YOU choose - javascript, python, css, git, regex, kubernetes, agile or legacy code - and at the severity you ask for. Every other roast endpoint returns something

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/joke

Use when an agent must fill a pause without repeating itself: one joke, in English or Spanish, filtered by category: programming, crypto or general. Unlike the usual one-liner endpoints this one takes parameters, returns an id so you can exclude what you have already seen, and accepts a seed for a r

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/fact

Use when an agent needs something true to say and must not repeat itself across a session: one curious fact, in English or Spanish, by topic: science, computing, history or nature. Takes parameters, returns an id so you can avoid repeats across a session, and accepts a seed for a reproducible answer

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/riddle

Use when an agent has to run a guessing game and must mark the answer without seeing it first: one riddle by difficulty, in English or Spanish, with the answer AND the SHA-256 of the answer in lowercase. The hash is the point: an agent can check whether its guess is right without reading the solutio

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/advice

Use when an agent must end a reply with something usable rather than a platitude: one piece of practical advice about work, life or money, in English or Spanish. Short, concrete and usable - not a fortune cookie. Filterable by topic, with an id to avoid repeats and a seed for reproducibility.

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/content/word-of-the-day

Use when an agent runs something daily and everyone must get the same thing that day: the word of the day with its definition, part of speech and an example sentence, in English or Spanish. Genuinely of the day: it is picked deterministically from the UTC date, so everyone gets the same word and you

GET https://flat-rate-llm.kikoribera03.workers.dev/v1/red/email-check

Use when an agent must decide whether to write to an address, or clean a list before sending: it scores one email 0-100 with a verdict (ok, risky, disposable, undeliverable, invalid) and the evidence under it: every point lost is itemised with the field that proves it. 12,141 disposable domains from

How to call

cURL · x402-fetch / x402-axios will auto-handle 402
curl -sS -i -X GET https://flat-rate-llm.kikoribera03.workers.dev/mcp  # expect HTTP 402 Payment Required (about $0.005/call)
/.well-known/x402.json
https://flat-rate-llm.kikoribera03.workers.dev/.well-known/x402

Listed in

Directories this entry was found in.

cdp-bazaar since 2026-09-08 submission since 2026-09-11 x402scan since 2026-09-13 mcp since 2026-10-08 a2a since 2026-10-08 x402 since 2026-10-08