{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ehjmb3e2u8f8","handle":"x402-tools","url":"https://wellknown.network/agents/x402-tools","links":{"self":"https://wellknown.network/agents/x402-tools/record.json","html":"https://wellknown.network/agents/x402-tools","markdown":"https://wellknown.network/agents/x402-tools/record.md","api":"https://wellknown.network/api/v1/agents/x402-tools","status":"https://wellknown.network/api/v1/agents/x402-tools/status","claim":"https://wellknown.network/agents/x402-tools/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/x402-tools/claim.json","badge":"https://wellknown.network/agents/x402-tools/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/x402-tools/history","tools":"https://wellknown.network/api/v1/agents/x402-tools/tools"},"ard":{"identifier":"urn:air:flat-rate-llm.kikoribera03.workers.dev:server:x402-tools","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"x402-tools","summary":"61 x402 pay-per-call tools that chain: each answer names the next call. No API key, no account.","description":"61 x402 pay-per-call tools that chain: each answer names the next call. No API key, no account.","publisher":{"name":"dev.workers.kikoribera03.flat-rate-llm","url":null},"homepage":"https://flat-rate-llm.kikoribera03.workers.dev/","repository":null,"version":"1.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://flat-rate-llm.kikoribera03.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-11T17:42:45.804266Z","publishedAt":"2026-09-11T17:42:45.804266Z","registryName":"dev.workers.kikoribera03.flat-rate-llm/x402-tools"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.translation","name":"Translation","confidence":1,"provenance":"derived"},{"slug":"media.image-generation","name":"Image Generation","confidence":1,"provenance":"derived"},{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":1,"provenance":"derived"},{"slug":"data.weather","name":"Weather","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":0.933,"provenance":"derived"},{"slug":"media.image-editing","name":"Image Editing","confidence":0.554,"provenance":"derived"}],"categories":["commerce","content","data","documents","finance","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-12T15:42:15.514Z","lastProbedAt":"2026-10-12T15:42:15.514Z","statusComputedAt":"2026-10-12T15:43:03.186Z","reliability30d":{"probes":113,"successRate":1,"p50Ms":21,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":110,"ok":110,"authBoundaryOk":0,"serviceOk":110,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T15:42:15.514Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":53,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 72 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. C"},{"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 40"},{"name":"do","description":"Describe a job in plain words and it gets done in ONE paid call: picks the right tools from 71 capabilities - transcription, translation, documents, images, web"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":73,"toolsHash":"a82020f88bfd35f3e95e3011375f34c5cafe10171a056f62657d160b20736148","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T09:25:10.523Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 72 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. C"},{"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 40"},{"name":"do","description":"Describe a job in plain words and it gets done in ONE paid call: picks the right tools from 71 capabilities - transcription, translation, documents, images, web"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":73,"toolsHash":"67829f0223307c5aab38491b6a7251149c78a79ddeb44ff354b302fdad0c8abb","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T03:24:01.615Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":11,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 72 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. C"},{"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 40"},{"name":"do","description":"Describe a job in plain words and it gets done in ONE paid call: picks the right tools from 71 capabilities - transcription, translation, documents, images, web"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":73,"toolsHash":"67829f0223307c5aab38491b6a7251149c78a79ddeb44ff354b302fdad0c8abb","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T20:23:35.029Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 72 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. C"},{"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 40"},{"name":"do","description":"Describe a job in plain words and it gets done in ONE paid call: picks the right tools from 71 capabilities - transcription, translation, documents, images, web"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":73,"toolsHash":"67829f0223307c5aab38491b6a7251149c78a79ddeb44ff354b302fdad0c8abb","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T13:24:38.863Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":65,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 71 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. C"},{"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 40"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":72,"toolsHash":"f041f7f5308516294441092355f0bd286da44aa57d5ecda69ff30659d2f75852","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T07:23:13.964Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 71 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. C"},{"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 40"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":72,"toolsHash":"f041f7f5308516294441092355f0bd286da44aa57d5ecda69ff30659d2f75852","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T01:22:23.494Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 71 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. C"},{"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 40"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":72,"toolsHash":"f041f7f5308516294441092355f0bd286da44aa57d5ecda69ff30659d2f75852","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T18:28:39.282Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":52,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 70 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. C"},{"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 40"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":71,"toolsHash":"33ed796469692e0f43d4653d500b3233ee05f3d2b228a525701e24dd2796697f","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T12:28:13.249Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 70 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. C"},{"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 40"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":71,"toolsHash":"33ed796469692e0f43d4653d500b3233ee05f3d2b228a525701e24dd2796697f","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T05:29:40.861Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":11,"error":null,"detail":{"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 70 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. C"},{"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 40"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"toolCount":71,"toolsHash":"33ed796469692e0f43d4653d500b3233ee05f3d2b228a525701e24dd2796697f","serverName":"flat-rate-x402-tools","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"catalog","description":"FREE, no payment needed. Lists all 72 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. C"},{"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 40"},{"name":"do","description":"Describe a job in plain words and it gets done in ONE paid call: picks the right tools from 71 capabilities - transcription, translation, documents, images, web"},{"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_getBalanc"},{"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 (b"},{"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"},{"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,"},{"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_"},{"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_getBlockB"},{"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. $"},{"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"},{"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 "},{"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_"},{"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 hat"},{"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 "},{"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"},{"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 "},{"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"},{"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"},{"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 instea"},{"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 an"},{"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 ar"},{"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, bl"},{"name":"evm_verdict","description":"One-call verdict on any ERC20 on Base, Ethereum, Polygon, Arbitrum or Optimism: a machine-readable label for who can act on your balance (no-owner-powers, owner"},{"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 CREA"},{"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"},{"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 al"},{"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"},{"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"},{"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 it"},{"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 "},{"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 "},{"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 han"},{"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 plai"},{"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 dec"},{"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 op"},{"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"},{"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 charac"},{"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 wha"},{"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, abbre"},{"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 w"},{"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 "},{"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,"},{"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 "},{"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, re"},{"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 rep"},{"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 i"},{"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 "},{"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 fro"},{"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 f"},{"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 w"},{"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, l"},{"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, "},{"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 whe"},{"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, con"},{"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, "},{"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,"},{"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 r"},{"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/Ca"},{"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 withi"},{"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, "},{"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. Retu"},{"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 aggregato"},{"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, revo"},{"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"},{"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"},{"name":"ai_image_styled","description":"Generates an illustration from a text prompt with DreamShaper 8 LCM in about 2 seconds: painterly and character art rather than photoreal. Takes a seed for a re"},{"name":"ai_image_edit","description":"Edits an image you provide instead of generating one from scratch: pass the image and a black-and-white mask, and Stable Diffusion inpainting repaints only the "},{"name":"ai_image_describe","description":"Describes what is in an image in about one second: pass an https URL or base64 and ask anything about it, from a one-line caption to reading a sign. Pairs with "},{"name":"ai_document","description":"Turns a document into clean Markdown in about a second: pass an https URL or base64 of a PDF, Word, Excel, PowerPoint, HTML, CSV or XML file and get the text ba"},{"name":"ai_speech","description":"Turns text into natural speech in English, Spanish, French, Chinese, Japanese or Korean in one or two seconds: Deepgram Aura-2 for English and Spanish, MeloTTS "},{"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, th"},{"name":"ai_translate","description":"Translates text between about 100 languages with Meta M2M100 1.2B: pass the text and the target language (ISO code like es, fr, de, zh, ja, or its English name)"}],"package":null,"toolSurface":{"id":"ts_egh8ssk956mq","endpointId":"ep_q5pp5ue3vxjj","hash":"a82020f88bfd35f3e95e3011375f34c5cafe10171a056f62657d160b20736148","toolCount":73,"serverName":"flat-rate-x402-tools","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-12T15:42:15.506Z","lastSeenAt":"2026-10-12T15:42:15.506Z","observations":1,"toolNames":["catalog","llm_completion","do","evm_balance","evm_erc20_balance","evm_token_info","evm_token_price","evm_gas","evm_block","evm_tx","evm_nonce","evm_is_contract","evm_chains","evm_call","evm_receipt","evm_estimate_gas","evm_storage","evm_erc20_allowance","evm_nft_owner","evm_portfolio","evm_fees","evm_ens","evm_token_safety","evm_verdict","util_keccak256","util_sha256","util_address","util_units","util_hex","util_base64","util_uuid","util_verify_signature","util_selector","random_dice","random_coinflip","random_pick","random_shuffle","random_password","random_number","time_convert","time_now","time_zones","content_horror_story","content_roast","content_joke","content_fact","content_riddle","content_advice","content_word_of_the_day","red_email_check","red_domain_check","web_read","util_iban","util_vat","web_status","red_ip","red_asn","red_dnsbl","util_phone","fx_convert","red_whois","weather_now","weather_forecast","red_cert","crypto_sanctions","ai_image","ai_image_styled","ai_image_edit","ai_image_describe","ai_document","ai_speech","ai_transcribe","ai_translate"],"distinctSurfaces":14},"endpointFacts":[{"id":"ep_q5pp5ue3vxjj","url":"https://flat-rate-llm.kikoribera03.workers.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-11T20:23:35.035Z","auth":{"observedAt":"2026-10-11T20:23:35.050Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://flat-rate-llm.kikoribera03.workers.dev/.well-known/oauth-protected-resource/mcp","resource":"https://flat-rate-llm.kikoribera03.workers.dev","authorizationServers":[],"scopesSupported":[]},"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":true,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-11T20:23:35.073Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"kikoribera03.workers.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-08T18:42:00.000Z","validTo":"2026-12-07T19:40:32.000Z","daysToExpiry":55,"sanCount":2,"fingerprint256":"04:23:13:D1:1E:76:32:F9:23:AD:FC:1C:8F:EF:13:B4:42:BF:0E:BC:EF:39:03:3E:4D:D5:55:AE:AD:91:B7:F1"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.workers.kikoribera03.flat-rate-llm/x402-tools","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.workers.kikoribera03.flat-rate-llm%2Fx402-tools","firstSeenAt":"2026-09-09T21:22:24.972Z","fetchedAt":"2026-10-12T12:18:44.313Z","normalizedAt":"2026-10-12T12:18:44.313Z"}]},"firstSeenAt":"2026-09-09T21:22:24.972Z","updatedAt":"2026-10-12T15:44:29.014Z"}