{"name":"dev.workers.kikoribera03.flat-rate-llm/x402-tools","slug":"flat-rate-llm-x402-tools","title":null,"description":"61 x402 pay-per-call tools that chain: each answer names the next call. No API key, no account.","url":"https://mcp.market/server/flat-rate-llm-x402-tools","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T21:15:32.258Z","last_ok_at":"2026-09-20T21:15:32.258Z","latency_ms":224},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://flat-rate-llm.kikoribera03.workers.dev/","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://flat-rate-llm.kikoribera03.workers.dev/mcp"}],"packages":[],"tools":[{"name":"ai_image","description":"Generates a 1024x1024 JPEG from a text prompt with FLUX.1 [schnell] in about 2 seconds. Returns a hosted image URL valid for 24 hours that you can hand straight to the next tool; add inline=true to also get the base64. Choose 1-8 diffusion steps (default 4). You are only charged if the image is delivered. No API key, no account. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prompt":{"type":"string","description":"What to draw, up to 2048 characters. English works best."},"steps":{"type":"number","description":"Diffusion steps, 1-8. More is sharper and slower. Default 4."},"inline":{"type":"boolean","description":"Also return the JPEG as base64. Default false."}},"required":["prompt"],"additionalProperties":false}},{"name":"ai_speech","description":"Turns text into natural speech with MeloTTS in English, Spanish, French, Chinese, Japanese or Korean, in about a second. Returns a hosted WAV URL valid for 24 hours plus its size; add inline=true to also get the base64. Up to 2000 characters per call. You are only charged if the audio is delivered. No API key, no account. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"What to say, up to 2000 characters."},"lang":{"type":"string","description":"en, es, fr, zh, ja or ko. Default en."},"inline":{"type":"boolean","description":"Also return the WAV as base64. Default false."}},"required":["text"],"additionalProperties":false}},{"name":"ai_transcribe","description":"Transcribes an audio file with Whisper large v3 turbo: pass an https URL (mp3, wav, flac, m4a, ogg, up to 10 MB) or base64 audio in a POST. Returns the text, the detected language with its probability, the duration, and timed segments; add words=true for word-level timestamps. Around 100 languages. You are only charged if the transcript is delivered. No API key, no account. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"https URL of the audio file, up to 10 MB."},"audio":{"type":"string","description":"Alternative to url: the audio as base64 (POST only)."},"language":{"type":"string","description":"Optional ISO code to skip detection, e.g. es."},"words":{"type":"boolean","description":"Include word-level timestamps. Default false."}},"required":[],"additionalProperties":false}},{"name":"catalog","description":"FREE, no payment needed. Lists all 65 tools with a real example of the input and of the output each one returns, plus what a call costs and how to pay for it. Call this first if a tool answered HTTP 402.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"content_advice","description":"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. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"type":"string","description":"work | life | money. Omit for any."},"language":{"type":"string","description":"en | es. Defaults to en."},"seed":{"type":"string","description":"Same seed always returns the same advice."},"exclude":{"type":"array","description":"Ids already seen, comma-separated in a GET."}},"required":[],"additionalProperties":false}},{"name":"content_fact","description":"One curious but true fact, in English or Spanish, filtered 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. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"type":"string","description":"science | computing | history | nature. Omit for any."},"language":{"type":"string","description":"en | es. Defaults to en."},"seed":{"type":"string","description":"Same seed always returns the same fact."},"exclude":{"type":"array","description":"Ids already seen, comma-separated in a GET."}},"required":[],"additionalProperties":false}},{"name":"content_horror_story","description":"One 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 then land the second. Takes parameters, returns an id to avoid repeats, and accepts a seed for a reproducible answer. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"theme":{"type":"string","description":"domestic | technological | cosmic | folk. Omit for any."},"language":{"type":"string","description":"en | es. Defaults to en."},"seed":{"type":"string","description":"Same seed always returns the same story."},"exclude":{"type":"array","description":"Ids already seen, comma-separated in a GET."}},"required":[],"additionalProperties":false}},{"name":"content_joke","description":"One random 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 reproducible answer. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string","description":"programming | crypto | general. Omit for any."},"language":{"type":"string","description":"en | es. Defaults to en."},"seed":{"type":"string","description":"Same seed always returns the same joke."},"exclude":{"type":"array","description":"Ids already seen, comma-separated in a GET."}},"required":[],"additionalProperties":false}},{"name":"content_riddle","description":"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 solution first, which no other riddle endpoint lets you do. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"difficulty":{"type":"string","description":"easy | medium | hard. Omit for any."},"language":{"type":"string","description":"en | es. Defaults to en."},"seed":{"type":"string","description":"Same seed always returns the same riddle."},"exclude":{"type":"array","description":"Ids already seen, comma-separated in a GET."}},"required":[],"additionalProperties":false}},{"name":"content_roast","description":"One 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 generic; this one lets a code-review agent roast the actual stack in front of it. Bilingual, seedable and repeat-free. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"target":{"type":"string","description":"javascript | python | css | git | regex | kubernetes | agile | legacy. Omit for any."},"severity":{"type":"string","description":"mild | medium | savage. Omit for any."},"language":{"type":"string","description":"en | es. Defaults to en."},"seed":{"type":"string","description":"Same seed always returns the same roast."},"exclude":{"type":"array","description":"Ids already seen, comma-separated in a GET."}},"required":[],"additionalProperties":false}},{"name":"content_word_of_the_day","description":"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 can reproduce any past day by passing it. The usual endpoints just return a random word and call it the word of the day. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"language":{"type":"string","description":"en | es. Defaults to en."},"date":{"type":"string","description":"YYYY-MM-DD in UTC. Defaults to today, and any past date is reproducible."}},"required":[],"additionalProperties":false}},{"name":"crypto_sanctions","description":"Checks one crypto address against the OFAC SDN list published by the US Treasury, across 16 currencies including Ethereum, Bitcoin, Tron and USDT. A hit returns the actual list entry - sanctioned entity, its type and its sanctions programmes - not a risk score. Exact matching only, never fuzzy. Every answer carries the publication date of the list snapshot. No API key, no account. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"The crypto address to check. Any chain: EVM, Bitcoin, Tron, Litecoin, Monero and the rest of the list."}},"required":["address"],"additionalProperties":false}},{"name":"evm_balance","description":"Native coin balance (ETH, MATIC...) for any address, on Base, Ethereum, Polygon, Arbitrum or Optimism. Flat price, no rate limits, no API key. Via eth_getBalance. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"0x-prefixed address to look up."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism. Defaults to base."}},"required":["address"],"additionalProperties":false}},{"name":"evm_block","description":"Latest block height and timestamp of any supported chain, plus how old the chain head is in seconds. Tells an agent whether a node is in sync. Via eth_getBlockByNumber. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":[],"additionalProperties":false}},{"name":"evm_call","description":"Runs any read-only contract call (eth_call) with your own calldata and returns the raw result, on five chains, with no API key and no rate limit. The escape hatch for anything the typed endpoints do not cover. $0.005 per call, paid over x402 (USDC).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"to":{"type":"string","description":"Contract address to call."},"data":{"type":"string","description":"0x-prefixed calldata: 4-byte selector plus encoded arguments."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."},"from":{"type":"string","description":"Optional caller address, for calls that check msg.sender."},"block":{"type":"string","description":"Block tag or number. Defaults to latest."}},"required":["to","data"],"additionalProperties":false}},{"name":"evm_chains","description":"Live health of every supported chain in one call: chain id, block height and how stale the head is. Use it to pick a chain that is actually responding. Via eth_getBlockByNumber. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"evm_ens","description":"Resolves an ENS name to its address, or an address back to its primary ENS name, reading Ethereum mainnet directly. Names are what humans paste and addresses are what chains need. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"ENS name to resolve, such as vitalik.eth."},"address":{"type":"string","description":"Address to reverse-resolve. Use instead of name."}},"required":[],"additionalProperties":false}},{"name":"evm_erc20_allowance","description":"How much of a token a spender is still allowed to move on an owner's behalf, and whether that approval is unlimited. The check to run before an approve, and the one that finds forgotten infinite approvals. Via eth_call (allowance). $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"Address that owns the tokens."},"spender":{"type":"string","description":"Address allowed to spend them."},"token":{"type":"string","description":"ERC20 contract address."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["owner","spender","token"],"additionalProperties":false}},{"name":"evm_erc20_balance","description":"ERC20 token balance for any wallet - USDC, USDT, DAI or any token - via balanceOf. Returns the raw amount and the decimals so you can format it. Via eth_call (balanceOf). $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Wallet to look up."},"token":{"type":"string","description":"ERC20 contract address."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["address","token"],"additionalProperties":false}},{"name":"evm_estimate_gas","description":"Estimates the gas a transaction would need and prices it at the current gas price, before you sign anything. Also the cheapest way to find out that a call would revert. Via eth_estimateGas. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"to":{"type":"string","description":"Destination address."},"from":{"type":"string","description":"Sender address."},"data":{"type":"string","description":"Optional 0x calldata."},"value":{"type":"string","description":"Optional value in wei, as a decimal string."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["to"],"additionalProperties":false}},{"name":"evm_fees","description":"Suggested maxFeePerGas and maxPriorityFeePerGas from the last 20 blocks of real fee history, at slow, normal and fast percentiles. Beats guessing a gas price and getting stuck in the mempool. Via eth_feeHistory. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":[],"additionalProperties":false}},{"name":"evm_gas","description":"Current gas price and base fee for any supported chain, in wei and gwei, plus the cost estimate of a plain transfer. For agents planning a transaction. Via eth_gasPrice. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":[],"additionalProperties":false}},{"name":"evm_is_contract","description":"Tells whether an address is a smart contract or a plain wallet, and how big its bytecode is. A cheap safety check before sending funds. Via eth_getCode. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Address to inspect."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["address"],"additionalProperties":false}},{"name":"evm_nft_owner","description":"Who owns a given ERC721 token id, plus its tokenURI and collection name in the same call. Answers is this NFT still theirs without an indexer or an API key. Via eth_call (ownerOf). $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contract":{"type":"string","description":"ERC721 contract address."},"tokenId":{"type":"string","description":"Token id, in decimal."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["contract","tokenId"],"additionalProperties":false}},{"name":"evm_nonce","description":"Next transaction nonce for any address, and whether the address is a contract. What an agent needs before signing a transaction. Via eth_getTransactionCount. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Address to look up."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["address"],"additionalProperties":false}},{"name":"evm_portfolio","description":"Native balance plus the balance of every token you list, on one chain, in a single paid call - each with symbol and decimals already applied. One request instead of one per token. Via eth_getBalance + eth_call. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Wallet to inspect."},"tokens":{"type":"array","description":"Up to 20 ERC20 contract addresses."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["address"],"additionalProperties":false}},{"name":"evm_receipt","description":"Receipt of a transaction: whether it succeeded or reverted, gas used, fee actually paid, and how many logs it emitted. The call that answers did my transaction work. Via eth_getTransactionReceipt. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hash":{"type":"string","description":"32-byte transaction hash."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["hash"],"additionalProperties":false}},{"name":"evm_storage","description":"Reads a raw storage slot of any contract, decoded as hex, integer and address. How you inspect proxy implementation slots, owners and paused flags that have no public getter. Via eth_getStorageAt. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Contract to read."},"slot":{"type":"string","description":"Slot number in decimal, or a 0x slot key such as an EIP-1967 hash."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["address"],"additionalProperties":false}},{"name":"evm_token_info","description":"Name, symbol, decimals and total supply of any ERC20 contract in one call. Useful to label a token address before showing it to a user. Via eth_call. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"ERC20 contract address."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["token"],"additionalProperties":false}},{"name":"evm_token_price","description":"Spot price of any ERC20 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, so the number can be audited instead of trusted. No aggregator and no API key: the source is the chain itself. Via eth_call. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"ERC20 contract address to price."},"quote":{"type":"string","description":"Token to price it against. Defaults to the chain's native USDC."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["token"],"additionalProperties":false}},{"name":"evm_token_safety","description":"Pre-trade risk check for any ERC20 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 is renounced. Unlike LLM-written verdicts this returns the EVIDENCE - the exact selector found and its byte offset - so an agent can apply its own policy. Deterministic: same contract, same answer. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"ERC20 contract address to check."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["token"],"additionalProperties":false}},{"name":"evm_tx","description":"Full transaction details by hash, merged with its receipt: from, to, value, gas used, status and block. One call instead of two. Via eth_getTransactionByHash. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hash":{"type":"string","description":"Transaction hash."},"chain":{"type":"string","description":"base | ethereum | polygon | arbitrum | optimism."}},"required":["hash"],"additionalProperties":false}},{"name":"fx_convert","description":"Converts an amount between any two of the ~30 currencies in the European Central Bank's official reference rates, on today's publication or on a past date within the last 90 days. Returns the rate used, its publication date and whether it was crossed through the euro. This is the auditable rate accounting and customs ask for, not a live market quote: it is published once a day and it is reproducible. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from":{"type":"string","description":"Source currency, ISO 4217, e.g. USD."},"to":{"type":"string","description":"Target currency, ISO 4217, e.g. EUR."},"amount":{"type":"number","description":"Amount to convert. Defaults to 1."},"date":{"type":"string","description":"Optional publication date, YYYY-MM-DD, within the last 90 days. Defaults to the latest publication."}},"required":["from","to"],"additionalProperties":false}},{"name":"llm_completion","description":"LLM inference at a flat $1.00 per call, with no account, no API key and no token metering. POST a prompt, get the completion: the same price for 10 tokens or 4000, while metered gateways scale with usage. Automatic failover across several large models; typical response under 1s. Pay per call in USDC over x402 - nothing to sign up for. $1.00 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prompt":{"type":"string","description":"The request for the model. Up to 24000 characters."},"sistema":{"type":"string","description":"Optional system instruction."},"maxTokens":{"type":"number","description":"Output token cap, up to 4000. Does not change the price."}},"required":["prompt"],"additionalProperties":false}},{"name":"random_coinflip","description":"Flip one or more fair coins and get heads or tails, with the tally. Cryptographically random, not Math.random. For tie-breaks and A/B splits an agent has to decide on its own. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"count":{"type":"number","description":"How many coins to flip, 1-100. Defaults to 1."}},"required":[],"additionalProperties":false}},{"name":"random_dice","description":"Roll dice with any number of faces and get every roll plus the total. Uses the platform CSPRNG with rejection sampling, so every face is equally likely - a plain modulo is biased. Standard dice notation: 3d6, 1d20. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"faces":{"type":"number","description":"Faces per die, 2-1000000. Defaults to 6."},"count":{"type":"number","description":"How many dice to roll, 1-100. Defaults to 1."}},"required":[],"additionalProperties":false}},{"name":"random_number","description":"Uniform random integers in any range you give, with or without repeats. Rejection sampling, so the ends of the range are not slightly less likely - which is what happens with modulo. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min":{"type":"number","description":"Lowest value, inclusive. Defaults to 1."},"max":{"type":"number","description":"Highest value, inclusive. Defaults to 100."},"count":{"type":"number","description":"How many to draw, 1-100. Defaults to 1."},"unique":{"type":"boolean","description":"No repeats. Needs a range at least as wide as count."}},"required":[],"additionalProperties":false}},{"name":"random_password","description":"Generate strong random secrets from the platform CSPRNG, with the entropy in bits so you can judge them. Four alphabets, including one with no look-alike characters for anything a human has to read back. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"length":{"type":"number","description":"Characters per secret, 8-256. Defaults to 20."},"alphabet":{"type":"string","description":"alnum | legible | hex | completo. Defaults to legible."},"count":{"type":"number","description":"How many to generate, 1-50. Defaults to 1."}},"required":[],"additionalProperties":false}},{"name":"random_pick","description":"Pick one or more items at random from a list you send, with or without repeats. The list is yours, so this is the unbiased chooser an agent needs when it has options and no reason to prefer any. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"items":{"type":"string","description":"The options, comma-separated. A JSON array of strings is also accepted in a POST body."},"count":{"type":"number","description":"How many to pick, 1-100. Defaults to 1."},"repeat":{"type":"boolean","description":"Allow the same item more than once. Defaults to false."}},"required":["items"],"additionalProperties":false}},{"name":"random_shuffle","description":"Shuffle a list into a uniformly random order with Fisher-Yates over the platform CSPRNG. Every permutation is equally likely, which sorting by a random key does not give you. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"items":{"type":"string","description":"The list to shuffle, comma-separated. A JSON array of strings is also accepted in a POST body."}},"required":["items"],"additionalProperties":false}},{"name":"red_asn","description":"Everything the authoritative public sources say about one autonomous system number: the RDAP registry record via the ARIN-to-RIR referral chain (holder, status, allocation dates, abuse contact), the AS name, country and RIR from Team Cymru's DNS service, and the prefixes it is announcing right now in the global routing table, from RIPEstat, split into IPv4 and IPv6 with a sample. Keyless and free at the source. The natural second call after /v1/red/ip gives you an origin ASN. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asn":{"type":"string","description":"The AS number, with or without the AS prefix: 15169 or AS15169."}},"required":["asn"],"additionalProperties":false}},{"name":"red_cert","description":"Every currently valid TLS certificate publicly issued for one domain, read from the Certificate Transparency logs: issuer, validity window, days to expiry, revocation status and every hostname each certificate covers. It reports what was ISSUED, which is how you find certificates you did not know existed - not what the server is serving today. No API key, no account. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"The domain to look up. A full URL or an email address is accepted and reduced to its host."},"subdomains":{"type":"boolean","description":"Also return certificates issued for subdomains. Defaults to false."}},"required":["domain"],"additionalProperties":false}},{"name":"red_dnsbl","description":"Checks one IPv4 address against nine public DNS blocklists at once — SpamCop, UCEPROTECT, PSBL, Barracuda, DroneBL and four more — and returns each list's raw return code plus the reason text the list itself publishes, not a score. Every list is re-checked on each call with its RFC 5782 test entry, so a dead list or one that refuses queries comes back as unavailable instead of reading as clean. Includes the delisting URL for each hit. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","description":"The IPv4 address to check. IPv6 is not accepted: these nine lists are IPv4 zones."}},"required":["ip"],"additionalProperties":false}},{"name":"red_domain_check","description":"Everything DNS says about one domain in a single call: whether it is registered, its A and AAAA addresses, nameservers, MX servers, SPF and DMARC, DNSSEC, and whether it looks parked. Built for going through a list of domains one at a time. Live DNS, no API key, no account. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"The domain to check. A full URL or an email address is accepted and reduced to its host."}},"required":["domain"],"additionalProperties":false}},{"name":"red_email_check","description":"Scores one email address 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 two maintained open lists pinned to a commit, 4,897 free providers, 1,018 role names, typo fix (gmial.com > gmail.com), live MX/SPF/DMARC. No SMTP probe, no API key. $0.005 per call, paid over x402 (USDC).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","description":"The address to check, e.g. someone@example.com."}},"required":["email"],"additionalProperties":false}},{"name":"red_ip","description":"Looks up one IPv4 or IPv6 address against the two authoritative, keyless public sources: RDAP registry data (who holds the block, in which country, since when, abuse contact) via the ARIN-to-RIR referral chain, and the origin ASN from Team Cymru's DNS service. No city-level geolocation and no VPN/proxy detection — those need a licensed commercial database this endpoint deliberately does not use. Built for going through a list of IPs one at a time. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","description":"The IPv4 or IPv6 address to look up."}},"required":["ip"],"additionalProperties":false}},{"name":"red_whois","description":"Registration data for one domain, read from the registry's own RDAP service through the IANA bootstrap — not scraped from port-43 whois text. Returns creation, expiry and last-change dates, age and days to expiry, registrar, EPP status codes, nameservers, DNSSEC and the abuse contact. TLDs with no RDAP server say so instead of reporting the domain as unregistered. No API key, no account. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"The domain to look up. A full URL or an email address is accepted and reduced to its host."}},"required":["domain"],"additionalProperties":false}},{"name":"time_convert","description":"Convert a time between any two IANA time 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 difference in hours. Warns when the time you asked for does not exist or happens twice because the clocks change that day: the two cases that quietly make a hand-made conversion wrong. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"time":{"type":"string","description":"Wall clock as YYYY-MM-DD HH:MM in the \"from\" zone, or an ISO string with Z or an offset, or a unix timestamp, or \"now\". Defaults to now."},"from":{"type":"string","description":"Source IANA time zone, e.g. \"Europe/Madrid\". Required."},"to":{"type":"string","description":"Target IANA time zone, e.g. \"Asia/Tokyo\". Required."}},"required":["from","to"],"additionalProperties":false}},{"name":"time_now","description":"The current time in any IANA time zone, in every form an agent needs 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 apart from a permanent one. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zone":{"type":"string","description":"IANA time zone, e.g. \"Asia/Tokyo\" or \"UTC\". Required."}},"required":["zone"],"additionalProperties":false}},{"name":"time_zones","description":"Search the full IANA time zone list and get 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 find every zone sitting at a given offset right now. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"search":{"type":"string","description":"Substring matched against the zone name, case-insensitive. Omit to list them all."},"offset":{"type":"string","description":"Keep only zones at this current UTC offset, e.g. \"+09:00\" or \"-5\"."},"limit":{"type":"number","description":"Maximum zones returned, 1-500. Defaults to 50."}},"required":[],"additionalProperties":false}},{"name":"util_address","description":"Validates an EVM address and returns it in EIP-55 mixed-case checksum form. Catches typos before you send funds: an address that fails the checksum is almost always mistyped. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"The address to validate, in any case."}},"required":["address"],"additionalProperties":false}},{"name":"util_base64","description":"Base64 in both directions, including the URL-safe alphabet, with UTF-8 handled properly. Encoding is what carries payloads through headers and JSON, and x402 itself rides on it. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"input":{"type":"string","description":"The text or base64 to convert."},"mode":{"type":"string","description":"encode | decode. Defaults to encode."},"urlSafe":{"type":"boolean","description":"Use the URL-safe alphabet (-_ instead of +/)."}},"required":["input"],"additionalProperties":false}},{"name":"util_hex","description":"Converts between hex, decimal and UTF-8 text in one call, with big integers handled exactly. For reading raw RPC output, which comes back as hex and overflows a JavaScript number. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":"string","description":"A 0x-prefixed hex string, a decimal number, or text."},"as":{"type":"string","description":"hex | decimal | text. What the value IS. Defaults to autodetect."}},"required":["value"],"additionalProperties":false}},{"name":"util_iban","description":"Validates one IBAN offline: country, expected length, ISO 7064 mod-97 check digits, whether it is inside SEPA, and the account number split out. Deterministic, no network call and no third party that can go down. Built for cleaning a list of accounts one at a time. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"iban":{"type":"string","description":"The IBAN to check. Spaces and lowercase are accepted."}},"required":["iban"],"additionalProperties":false}},{"name":"util_keccak256","description":"Keccak-256 of any string or hex payload - the hash Ethereum actually uses, which is NOT the same as SHA3-256. Needed for selectors, event topics, salts and CREATE2 addresses. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"input":{"type":"string","description":"Plain text, or a 0x-prefixed hex payload to hash as bytes."}},"required":["input"],"additionalProperties":false}},{"name":"util_phone","description":"Checks one phone number offline: normalises it to E.164, works out its country (including the twelve calling codes shared by several countries, such as +1 US/Canada/Caribbean) and validates the national number length against that country's numbering plan. Returns the tel: URI and the national dialling form. Numbering data from Google's libphonenumber. No network call and no API key, so it cannot fail because a third party is down. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"phone":{"type":"string","description":"The phone number, in any usual notation: +34 612 34 56 78, 0034612345678, (612) 345-678."},"country":{"type":"string","description":"Optional ISO 3166-1 alpha-2 country, e.g. ES. Only used when the number carries no country code."}},"required":["phone"],"additionalProperties":false}},{"name":"util_selector","description":"Turns a Solidity signature like transfer(address,uint256) into its 4-byte function selector and its 32-byte event topic0. What you need to build calldata by hand or to filter logs. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"signature":{"type":"string","description":"Canonical signature: name(type1,type2), no spaces and no argument names."}},"required":["signature"],"additionalProperties":false}},{"name":"util_sha256","description":"SHA-256 of any string or hex payload, returned as hex and as base64. The hash everything outside Ethereum uses: file digests, API signatures, content addressing. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"input":{"type":"string","description":"Plain text, or a 0x-prefixed hex payload to hash as bytes."}},"required":["input"],"additionalProperties":false}},{"name":"util_units","description":"Converts between wei, gwei, ether and any token decimals using exact integer maths - no floating point, no silent rounding. The mistake that costs real money is being off by a thousand on decimals. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"type":"string","description":"The quantity, as a string to avoid float loss."},"from":{"type":"string","description":"wei | gwei | ether, or a number of decimals."},"to":{"type":"string","description":"wei | gwei | ether, or a number of decimals."}},"required":["amount","from","to"],"additionalProperties":false}},{"name":"util_uuid","description":"Cryptographically random UUID v4s, up to 100 per call, straight from the platform CSPRNG. For idempotency keys, request ids and correlation ids - the ones that must not collide. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"count":{"type":"number","description":"How many to generate, 1-100. Defaults to 1."}},"required":[],"additionalProperties":false}},{"name":"util_vat","description":"Validates one EU VAT number offline: country prefix, the format that country uses, and the published check-digit algorithm where one exists. Says explicitly whether the check digits were verified or only the format. Deterministic, no network call. Built for cleaning a list of companies one at a time. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"vat":{"type":"string","description":"The VAT number, with or without the country prefix and with any spacing."}},"required":["vat"],"additionalProperties":false}},{"name":"util_verify_signature","description":"Recovers the address that signed a personal_sign (EIP-191) message and tells you whether it matches the address you expected. This is how you prove a wallet is controlled by whoever is talking to you. $0.0025 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"message":{"type":"string","description":"The exact message that was signed."},"signature":{"type":"string","description":"65-byte 0x signature from personal_sign."},"expected":{"type":"string","description":"Optional address to compare the recovered signer against."}},"required":["message","signature"],"additionalProperties":false}},{"name":"weather_forecast","description":"Day-by-day forecast for any point on Earth, up to nine days out, from the Norwegian Meteorological Institute's official model rather than a commercial aggregator. Each day carries its minimum and maximum temperature, total precipitation, strongest wind and the midday symbol, together with the exact model run and the institute's declared units, so a planning decision can cite where the number came from. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lat":{"type":"number","description":"Latitude in decimal degrees, -90 to 90. Rounded to 4 decimals."},"lon":{"type":"number","description":"Longitude in decimal degrees, -180 to 180. Rounded to 4 decimals."},"days":{"type":"number","description":"How many days to return, 1-9. Defaults to 5. The last day is usually partial and says so."}},"required":["lat","lon"],"additionalProperties":false}},{"name":"weather_now","description":"Current conditions for any point on Earth, taken from the Norwegian Meteorological Institute's official forecast model rather than a commercial aggregator. Returns temperature, humidity, pressure, wind speed and bearing, cloud cover and the next hour's precipitation, plus the exact model run it came from and the units the institute itself declares, so the figure can be cited and checked instead of merely trusted. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lat":{"type":"number","description":"Latitude in decimal degrees, -90 to 90. Rounded to 4 decimals, which is what the institute accepts."},"lon":{"type":"number","description":"Longitude in decimal degrees, -180 to 180. Rounded to 4 decimals."},"hours":{"type":"number","description":"How many hourly steps to include after the current one, 0-24. Defaults to 6."}},"required":["lat","lon"],"additionalProperties":false}},{"name":"web_read","description":"Fetches one URL and returns the readable page as markdown: title, description, headings, paragraphs and links with their destinations, plus the canonical URL, language and word count. Boilerplate, scripts and navigation are stripped. Built for going through a list of links one at a time. No API key, no account. $0.01 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The page to read. http and https only; private and loopback addresses are refused."},"links":{"type":"boolean","description":"Also return the outbound links as a list. Defaults to false."}},"required":["url"],"additionalProperties":false}},{"name":"web_status","description":"Checks one URL without downloading the page: HTTP status, the full redirect chain hop by hop with the code of each, the final URL, whether it ends on HTTPS, content type and size, and the security headers the server sends. Built for going through a list of links one at a time. No API key, no account. $0.005 per call, paid over x402 (USDC).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to check. http and https only; private and loopback addresses are refused."},"method":{"type":"string","description":"HEAD (default) or GET. Some servers refuse HEAD and only answer GET."}},"required":["url"],"additionalProperties":false}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-19T20:15:12.116Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:15:12.064Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 401ms"]},"poisoning":{"score":15,"max":15,"notes":["66 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://flat-rate-llm.kikoribera03.workers.dev/mcp","reachable":true,"authRequired":false,"latencyMs":401,"serverInfo":{"name":"flat-rate-x402-tools","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}