FlexYield — blockchain RPC gateway
RPC gateway for agents: six mainnets, measured failover, a key without signup, pay per call in USDC.
От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетНужен API-ключГлобальныйБесплатноТолько чтение
Что умеет
Какие данные видит
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
RPC gateway for agents: six mainnets, measured failover, a key without signup, pay per call in USDC.
Список инструментов сервера (35)
Технические названия из tools/list. Нужны только разработчикам.
| get_key | Get a FlexYield API key with no signup: public supply, 10,000 weighted units per UTC day, 5 requests/s, every tool. Use it once, when you have no key yet; then send the key as the bearer on every other call. Not for a key you already hold (use what_can_i_do to see where it stands) and not for a human's paid plan (use list_plans). Returns JSON: key (shown once), key_prefix, door (how the key was obtained: public, wallet-bound or owner-adopted), fences (the limits) with doorways (the path past each limit), terms, skill. Creates a key; at most 3 per IP per day. No key needed. |
| bind_key_start | Step 1 of binding the API key you are calling with to a wallet: returns the exact SIWE (EIP-4361) message that wallet must sign. Use it when your key came from get_key and you want it to persist across sessions with 1M units/month. Not for claiming an agent you already run on another key (use claim_agent_start) and not for a key that is already bound. Returns JSON: message_to_sign, expires_in_seconds, note. Follow with bind_key_complete before the message expires. Needs your API key. |
| bind_key_complete | Step 2 of binding the API key you are calling with to a wallet: pass the wallet's signature over the message from bind_key_start. Use it right after bind_key_start, with the same key. Not for the first step (use bind_key_start) and not for agent claims (use claim_agent_complete). Returns JSON: bound, door (now wallet-bound), key_prefix, bound_address, fences (the limits) with doorways (the path past each), terms, skill. Idempotent for the same wallet. Needs your API key. |
| claim_agent_start | Step 1 of claiming an agent by its EVM address for the account you are calling with: returns the exact SIWE message the agent's wallet must sign. Use it when an account owner wants a budgeted key for an agent that proves control of a wallet. Not for binding your own key (use bind_key_start) and not for plain key creation without a wallet (use create_api_key). Returns JSON: address, message_to_sign, expires_in_seconds, note. Follow with claim_agent_complete. Needs your API key. |
| claim_agent_complete | Step 2 of claiming an agent: verify the wallet's signature over the message from claim_agent_start and equip the agent with its own budgeted API key (default 50000 requests/month). Use it right after claim_agent_start. Not for the first step and not for changing a budget later (use configure_key). Returns JSON: agent, address, monthly_request_cap, plaintext_token (shown once — store it), note. Creates a key. Needs your API key. |
| create_api_key | Create an additional API key on the account you are calling with (a name, optional monthly unit cap). Use it to give a service or a teammate its own key with its own budget. Not for your first key (use get_key, no signup) and not for a wallet-proven agent key (use claim_agent_start). Returns JSON: id, name, monthly_request_cap, prefix, plaintext_token (shown once — store it, it cannot be read again), note. Creates a key; a key obtained from get_key cannot mint further keys. Needs your API key. |
| configure_key | Configure one API key of your account by id: monthly_request_cap (a monthly unit budget; omitted = unchanged, 0 = remove the cap), enabled (the list of services it may use: rpc, data, gas, tx_status, ens, prices, contracts, utils) and caps ({service_key: units} per service). Use it to budget or restrict one key; key ids come from list_api_keys. Not for account-wide service settings (use configure_services) and not for revoking (use revoke_api_key). Returns JSON: id, name, monthly_request_cap, note when the budget changed; id, name, window, key_id, services when services changed. Needs your API key. |
| revoke_api_key | Revoke one API key of your account by id; calls with that key stop working immediately and the key cannot be restored. Use it when a key leaked or a service is retired; ids come from list_api_keys. Not for pausing a key (set its budget to a small cap with configure_key instead) and not for the key you are calling with unless you hold another. Returns JSON: id, name, revoked_at. Idempotent. Needs your API key. |
| list_api_keys | List the API keys of your account (scope='keys', default) or its agent fleet with wallet claims and budgets (scope='agents'). Use it to find a key id before configure_key or revoke_api_key, or to see which keys are in use. Not for usage numbers (use get_usage) and not for your own key's standing (use what_can_i_do). Returns JSON: count, keys[{id, name, prefix, status, monthly_request_cap, created_at, last_used_at, agent}] for keys; an array of {name, address, claimed_via, claimed_at, key_id, key_prefix, monthly_request_cap, services_off} for agents. Read-only. Needs your API key. |
| get_billing_status | Billing state of your account: tier, whether payments are live, the subscription (plan, interval, price in USD cents, status, period end, cancel-at-period-end), the card on file (brand, last4, expiry — never the number), prepaid pack balances, any founding-price reservation and the soft-landing state. Use it before buy_pack or when a call was refused for budget reasons. Not for usage numbers (use get_usage), invoices (use get_statement) or plan prices (use list_plans). Returns JSON: tier, payments_live, billing_customer, subscription, payment_method, founding_reservation, packs, soft_landing. Read-only; plan changes happen in the web console. Needs your API key. |
| configure_services | Read or change the account-wide service settings: which gateway services (rpc, data, gas, tx_status, ens, prices, contracts, utils) are enabled and an optional monthly unit cap per service. Use it with no arguments to read; pass enabled and/or caps to change. Not for one key's budget or services (use configure_key). Returns JSON: window, key_id, services[{service, enabled, cap, used}]. A capped service answers error -32014 once month-to-date units reach the cap; a disabled one answers -32012. Needs your API key. |
| update_account | Update your account's preferences: notifications (notify_incidents, time_zone) and/or the insights that tailor the service (use_case, team_size, volume, region, previous_provider, referral_source, chains, wish_chains, wish_chain_other). Use it when the owner's preferences change; only the fields you pass change. Not for keys (use configure_key), services (use configure_services) or billing (web console). Returns JSON: notify_usage_80, notify_usage_100, notify_incidents, time_zone after a notification change; insights after an insights change. Needs your API key. |
| join_enterprise_wishlist | Send FlexYield an enterprise wishlist: what would need to be true for you to run on FlexYield (chains, SLAs, compliance, features, prices; max 1000 chars) plus a contact email; the founders reply by email. Use it when the public plans do not fit and a human wants to talk. Not for bugs or account questions (use manage_tickets) and not for product ideas from a signed-in account (use manage_feedback). Returns JSON: sent, contact. Creates a record and a mail. No key needed. |
| join_waitlist | Join the FlexYield early-access waitlist with an email and a qualifier (developer, investor or curious). Use it only when a human asked to be kept informed; an agent that needs access now should call get_key instead. Not for support (use manage_tickets) or enterprise needs (use join_enterprise_wishlist). Returns JSON: joined, already_on_list. Creates a waitlist entry. No key needed. |
| list_plans | List FlexYield's public plans: price in integer USD cents, billing interval, monthly included units and burst rate limits, plus the enterprise line and the signup URL. Use it to compare plans or before telling an owner what an upgrade costs. Not for what a single call costs (use get_quote), your own tier or balances (use get_billing_status) or the break-even at your volume (use what_can_i_do). Returns JSON: plans[{key, name, price_cents, interval, included_units, rate_limit, …}], enterprise, signup_url. Read-only. No key needed. |
| get_usage | Your account's usage in one of three views. view='report': requests, weighted units, errors and latency per key, method and chain over a look-back window (hours, default 24; optional chain). view='stats': one console report — report='latency' | 'errors' | 'spend' | 'cache' — for a window ('24h', '7d', '30d'). view='volume': request counts over time (optional chain). Use it to answer 'how much did we use, where, and how fast'. Not for invoices (use get_statement), balances (use get_billing_status) or one key's settings (use list_api_keys). Returns JSON: report → since, total_requests, weighted_units, by_class, cache_hits, success_rate, p50/p95_duration_ms, by_key, by_method, by_chain; stats → window, buckets, series, summary and report-specific totals; volume → window, bucket_seconds, buckets. Read-only. Needs your API key. |
| get_statement | Your account's statement for one billing period (default: the current one): invoice facts plus usage grouped by API key or agent, chain and method class — requests, weighted units, cache hits, refusals; period='list' enumerates the periods available. Use it for month-end reconciliation or to show an owner what a period cost. Not for live usage (use get_usage) or the card and subscription (use get_billing_status). Returns JSON: account, period, scope, plan, invoices, totals, at_the_limit, keys, generated_at; for 'list' → scope, periods. An agent's own key sees only that agent's usage; periods follow the subscription cycle or calendar months. Read-only. Needs your API key. |
| manage_tickets | Your support tickets with FlexYield. action='create' (subject, message, optional request_id of the failing call, optional category) opens a ticket with the call's evidence attached; action='list' (optional status); action='get' (reference); action='reply' (reference, message, optional resolve/reopen). Use it when a call was refused or failed and the doorway said to file it, or to follow up. Not for reading what an error code means (use explain_error first) and not for product ideas (use manage_feedback). Returns JSON: create/reply → reference, subject, status, category, priority, channel, created_at, last_activity_at, url; list → tickets; get → the same plus messages, evidence, suggested_paths. Needs your API key. |
| manage_feedback | Product feedback to FlexYield. action='submit' (kind: 'feature' | 'chain' | 'praise' | 'complaint' | 'other', title, optional body, optional chain) files it and we answer on the feedback page; action='list' (optional status) shows what you filed and our replies. Use it for ideas, a chain you want added, or praise and complaints that need no fix on your account. Not for a failing call or a refusal (use manage_tickets, it carries the evidence) and not for enterprise terms (use join_enterprise_wishlist). Returns JSON: submit → id, kind, title, chain, status, reply, created_at; list → feedback. Needs your API key. |
| get_balances | Native balance and ERC-20 token balances of an address on one chain (eth_mainnet, base_mainnet, arbitrum_one, optimism_mainnet, polygon_pos, solana_mainnet; tokens where a data-capable upstream exists). Use it for a portfolio or a pre-flight funds check. Not for transfer history (use get_history) and not for a raw eth_getBalance you want to shape yourself (use rpc_call). Returns JSON: chain, address, native, tokens, tokens_note. Read-only; costs 10 weighted units, metered on your key. Needs your API key. |
| get_history | Recent asset transfers (sent and received, newest first) of an address on one EVM chain with a data-capable upstream. Use it to answer 'what moved in or out of this address lately'. Not for current balances (use get_balances), one transaction's state (use get_tx_status) or Solana. Returns JSON: chain, address, transfers[]. Read-only; costs 10 weighted units, metered on your key. Needs your API key. |
| get_prices | Prices. kind='gas' (chain): EIP-1559 gas recommendations (slow/standard/fast) computed from our pool on an EVM chain, 1 weighted unit. kind='token' (symbols, comma-separated e.g. 'ETH,USDC'): current token prices in USD. Use it before sending a transaction (gas) or to value a balance (token). Not for what a FlexYield call costs in units (use get_quote) and not for plan prices (use list_plans). Returns JSON: gas → chain, base_fee_per_gas, recommendations, computed_from, computed_at, unit_weight; token → prices, quote, source, checked_at. Read-only. Needs your API key. |
| get_tx_status | Status of one transaction hash on any supported chain: confirmed, failed, pending or unknown, with confirmations and gas on EVM chains or slot and commitment on Solana. Use it to poll a transaction you sent or were told about. Not for an address's transfers (use get_history) and not for decoding what the transaction did (use decode_calldata). Returns JSON: chain, hash, status, checked_at, unit_weight, plus block_number, confirmations, gas_used, effective_gas_price_wei (EVM) or slot, confirmation_status (Solana). Read-only; metered on your key. Needs your API key. |
| resolve_ens | ENS resolution on Ethereum mainnet: pass a name ('vitalik.eth') to get its address, or an address (0x…) to get its reverse-record name, read on-chain through our pool. Use it whenever a user gives you a .eth name instead of an address. Not for other name systems and not for balances (use get_balances with the resolved address). Returns JSON: forward → name, address, resolved, checked_at; reverse → address, name, resolved, note, checked_at. Reverse records are self-declared — forward-resolve the name before trusting it. Read-only. Needs your API key. |
| get_abi | The verified ABI of a contract (with its name and match level) from Sourcify's open dataset on eth_mainnet, base_mainnet, arbitrum_one, optimism_mainnet or polygon_pos. Use it before calling or decoding a contract you do not have the ABI for. Not for decoding a specific calldata blob (use decode_calldata, it fetches the ABI itself) and not for a function selector (use convert_evm). Returns JSON: chain, address, verified, name, match, abi, source; an unverified contract returns verified=false with a note on how to verify it. Read-only. Needs your API key. |
| decode_calldata | Decode a transaction's calldata against the target contract's verified ABI (Sourcify): the function signature, its selector and the argument values (static types decoded; dynamic types shown raw and labelled). Use it to explain what a pending or past transaction does. Not for the whole ABI (use get_abi), a transaction's status (use get_tx_status) or computing a selector from a signature (use convert_evm). Returns JSON: chain, address, function, selector, args, source. Read-only. Needs your API key. |
| convert_evm | Offline EVM utilities, no chain call: op='checksum' (EIP-55 checksum and validity of input=address), op='convert' (unit conversion wei…gwei…eth: input=value, from=unit, to=unit), op='selector' (4-byte selector and topic0 of input=function signature) and op='keccak' (keccak256 of input text). Use it for address hygiene and unit maths before an rpc_call. Not for verifying a signature (use verify_signature) or decoding calldata (use decode_calldata). Returns JSON: checksum → valid_address, checksummed; convert → value, from, to, result; selector → signature, selector, topic0; keccak → input, keccak256. Read-only, deterministic. Needs your API key. |
| verify_signature | Verify a signature offline: mode='personal' checks an EIP-191 personal_sign signature (message, 65-byte 0x signature, optional expected address); mode='siwe' checks a SIWE / EIP-4361 message (the exact signed text plus signature — parses the fields, checks signature and expiry; domain and nonce policy stay with you). Use it to authenticate a wallet-holder or validate a login message. Not for binding or claiming keys on FlexYield (use bind_key_complete / claim_agent_complete, they verify themselves) and not for hashing (use convert_evm). Returns JSON: personal → recovered_address, valid, expected_address; siwe → valid, recovered_address, expired, fields, note. Recovery only — FlexYield never holds keys. Read-only. Needs your API key. |
| what_can_i_do | The status overview of the API key you are calling with: its door (how it was obtained: public via get_key, wallet-bound, or adopted by a paying owner), its tier, the budgets left (month, day, prepaid packs), the fences (its limits) each with a doorway (the path past that limit: bind, adopt, buy a pack, or a ticket), your last-30-day volume priced on every lane (a lane = a price tier: cheap, balanced, fast), the break-even sentence (the volume at which a paid plan beats pay-per-call, for your owner), the account features and the other doors. Use it first in a session, and whenever a call was refused, to decide what to do next. Not for detailed usage (use get_usage), billing facts (use get_billing_status) or a single call's price (use get_quote). Returns JSON: you, budgets, fences_as_doorways, volume_30d_units, ladder_at_your_volume, break_even, recommendation, active_advice, account_features, doors, pricing. Read-only; no parameters. Needs your API key. |
| get_quote | Quote one JSON-RPC call before making it: the weighted units it costs (standard 1, heavy 2, or not offered) and the USD per 1M units on every lane (a lane = a price tier: cheap, balanced, fast). Use it when an owner asks what a workload would cost or before a heavy method. Not for gas or token prices (use get_prices), plan prices (use list_plans) or your own balances (use get_billing_status). Returns JSON: chain, method, offered, units, tier, multiplier, lanes, note; a method we do not offer returns offered=false with a reason. Read-only. No key needed. |
| explain_error | Explain a FlexYield error code (e.g. -32007): what it means, the steps to take and its doorway (the path past the limit that caused it). Use it whenever a call returned an error with a code you do not know, before retrying or filing a ticket. Not for upstream chain errors that are not ours and not for filing the problem (use manage_tickets with the request_id). Returns JSON: code, http, title, meaning, steps, doorway, decoder; an unknown code returns known=false with a hint. Read-only. No key needed. |
| recommend | A recommendation from our live measurements. what='chain': which chain fits a task (optional family, candidates, prefer), ranked from our probes and method rules. what='route': which lane (price tier: cheap, balanced, fast) to use for one call (chain, method, optional need). Use it when you can choose the chain or the lane and want the measured answer. Not for the price itself (use get_quote), current gas (use get_prices) or making the call (use rpc_call). Returns JSON: chain → pick, reason, ranked, measured_at, note; route → chain, method, offered, units, weight_class, pick, reason, tiers, note. Read-only. No key needed. |
| migrate | A compatibility report for switching your RPC provider to FlexYield: paste your current config as text (endpoint URLs, env lines, code) and get every endpoint mapped to our chain URL, every JSON-RPC method you name with its unit weight and limits, and the list of what changes (auth header, units instead of compute units, no overage, refusals as doorways, measured status). Use it before you swap URLs. Not for pricing your volume (use get_quote or what_can_i_do) or for making calls (use rpc_call). Keys in the pasted text are masked and nothing is stored. Returns JSON: ready, summary, endpoints (source, chain, served, replacement, key_in_url, note), methods (name, weight, offered, note), changes (what, before, after), next_steps. Read-only. No key needed. |
| buy_pack | Start the purchase of a prepaid unit pack (size 's': 1.2M units $10, 'm': 7M $50, 'l': 32M $200, +5 % units when bought here) and get a checkout URL the account owner completes on a card; units become available when the payment lands, are consumed after the plan's monthly quota and stay valid 12 months. Use it when what_can_i_do or a refusal says the monthly budget is running out. Not for changing the plan (web console) and not for reading balances (use get_billing_status). Returns JSON: checkout_url, size, units, bonus_units, total_units, price_usd, note. Creates a checkout; no money moves until a human pays. Needs your API key. |
| rpc_call | Send one JSON-RPC call through the FlexYield gateway — the same routing, failover, cache and meter as POST /rpc/{chain}. chain: 'eth_mainnet' | 'base_mainnet' | 'arbitrum_one' | 'optimism_mainnet' | 'polygon_pos' | 'solana_mainnet'; method e.g. 'eth_blockNumber'; params as the method expects. Use it for any read the shaped tools do not cover (blocks, logs, eth_call, storage) and for sending signed transactions. Not for balances, transfers or transaction status when a shaped tool exists (use get_balances, get_history, get_tx_status — one call, decoded) and not for pricing a call first (use get_quote). Returns JSON: the raw JSON-RPC body — jsonrpc, id, result — or jsonrpc, id, error with our request_id and the doorway in error.data when refused. Metered on your key (standard 1 unit, heavy 2; cache hits 0). Needs your API key. |