{"openapi":"3.1.0","info":{"title":"Rated Network (BYOK) API","version":"0.1.0","description":"Rated Network (BYOK) lets an AI assistant read your own Rated Network data through the Rated Network API with a key you supply (Rated API key). Read-only: 11 tools (get_ethereum_overview, get_ethereum_performance, get_ethereum_rewards, get_ethereum_staking_queues, list_ethereum_validators, get_ethereum_validator, get_validator_effectiveness, list_staking_entities, get_entity_apr,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-rated.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rated/docs"},"termsOfService":"https://connectorbay.com/byok-rated/terms"},"servers":[{"url":"https://byok-rated.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rated/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_ethereum_overview":{"post":{"operationId":"get_ethereum_overview","summary":"Network-wide Ethereum staking overview: validator count, active stake, missed slots, decentralisation (Gini) and average","description":"Network-wide Ethereum staking overview: validator count, active stake, missed slots, decentralisation (Gini) and average effectiveness per time window. Use for \"How many validators does Ethereum have and how much is staked\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"window":{"anyOf":[{"enum":["1d","7d","30d","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window of the aggregation: 1d, 7d, 30d or all.","title":"Window"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"}},"title":"get_ethereum_overviewArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ethereum_performance":{"post":{"operationId":"get_ethereum_performance","summary":"Network-wide Ethereum validator performance per time window: average effectiveness, inclusion delay and uptime. Use for ","description":"Network-wide Ethereum validator performance per time window: average effectiveness, inclusion delay and uptime. Use for \"How well are Ethereum validators performing over the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"window":{"anyOf":[{"enum":["1d","7d","30d","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window of the aggregation: 1d, 7d, 30d or all.","title":"Window"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"}},"title":"get_ethereum_performanceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ethereum_rewards":{"post":{"operationId":"get_ethereum_rewards","summary":"Network-wide Ethereum staking reward metrics per time window: average and median APR split into consensus and execution ","description":"Network-wide Ethereum staking reward metrics per time window: average and median APR split into consensus and execution layers. Use for \"What is the average Ethereum staking APR over the last 7 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"window":{"anyOf":[{"enum":["1d","7d","30d","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window of the aggregation: 1d, 7d, 30d or all.","title":"Window"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"}},"title":"get_ethereum_rewardsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ethereum_staking_queues":{"post":{"operationId":"get_ethereum_staking_queues","summary":"Current Ethereum staking queues: activation, exit and withdrawal wait times in minutes and how many validators are in ea","description":"Current Ethereum staking queues: activation, exit and withdrawal wait times in minutes and how many validators are in each. Use for \"How long is the Ethereum validator entry and exit queue\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"window":{"anyOf":[{"enum":["1d","7d","30d","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window of the aggregation: 1d, 7d, 30d or all.","title":"Window"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"}},"title":"get_ethereum_staking_queuesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_ethereum_validators":{"post":{"operationId":"list_ethereum_validators","summary":"List Ethereum validators with their index, public key and activation, exit and withdrawable epochs. Use for \"List some E","description":"List Ethereum validators with their index, public key and activation, exit and withdrawable epochs. Use for \"List some Ethereum validators sorted by index\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Name of a result field to sort by.","title":"Sort By"},"sort_order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc or desc.","title":"Sort Order"}},"title":"list_ethereum_validatorsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ethereum_validator":{"post":{"operationId":"get_ethereum_validator","summary":"Get one Ethereum validator by index: public key and activation, exit and withdrawable epochs. Use for \"When was Ethereum","description":"Get one Ethereum validator by index: public key and activation, exit and withdrawable epochs. Use for \"When was Ethereum validator 100000 activated\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"validator_index_or_pubkey":{"description":"Validator index (a whole number such as 100000).","minimum":0,"title":"Validator Index Or Pubkey","type":"integer"}},"required":["validator_index_or_pubkey"],"title":"get_ethereum_validatorArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_validator_effectiveness":{"post":{"operationId":"get_validator_effectiveness","summary":"Get the effectiveness history of one Ethereum validator (attestation correctness, inclusion delay, uptime, proposer effe","description":"Get the effectiveness history of one Ethereum validator (attestation correctness, inclusion delay, uptime, proposer effectiveness) by day, week, month and so on. Use for \"How effective has Ethereum validator 100000 been recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"validator_index_or_pubkey":{"description":"Validator index (a whole number such as 100000).","minimum":0,"title":"Validator Index Or Pubkey","type":"integer"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"},"granularity":{"anyOf":[{"enum":["hour","day","week","month","quarter","year","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Size of each time bucket: hour, day, week, month, quarter, year or all.","title":"Granularity"},"from_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End date, YYYY-MM-DD.","title":"To Date"}},"required":["validator_index_or_pubkey"],"title":"get_validator_effectivenessArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_staking_entities":{"post":{"operationId":"list_staking_entities","summary":"List staking pools, node operators and other entities with validator count, average effectiveness and share of the netwo","description":"List staking pools, node operators and other entities with validator count, average effectiveness and share of the network. Use for \"Which Ethereum staking pools have the most validators\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"entity_type":{"anyOf":[{"enum":["depositAddress","withdrawalAddress","nodeOperator","pool","poolShare","subNodeOperator","entity","validator","privateSet"],"type":"string"},{"type":"null"}],"default":"pool","description":"Kind of entity to list.","title":"Entity Type"},"window":{"anyOf":[{"enum":["1d","7d","30d","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window of the aggregation: 1d, 7d, 30d or all.","title":"Window"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Name of a result field to sort by.","title":"Sort By"},"sort_order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc or desc.","title":"Sort Order"}},"title":"list_staking_entitiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_entity_apr":{"post":{"operationId":"get_entity_apr","summary":"Get the staking APR of one pool, operator or address over a time window, split into consensus and execution rewards. Use","description":"Get the staking APR of one pool, operator or address over a time window, split into consensus and execution rewards. Use for \"What APR does the Lido pool earn on Ethereum\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"entity_id":{"description":"Entity identifier as used by Rated, for example the pool or operator name 'Lido'.","maxLength":200,"title":"Entity Id","type":"string"},"entity_type":{"description":"Kind of entity the id refers to.","enum":["depositAddress","withdrawalAddress","nodeOperator","pool","poolShare","subNodeOperator","entity","validator","privateSet"],"title":"Entity Type","type":"string"},"window":{"anyOf":[{"enum":["1d","7d","30d","all"],"type":"string"},{"type":"null"}],"default":null,"description":"Time window of the aggregation: 1d, 7d, 30d or all.","title":"Window"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"}},"required":["entity_id","entity_type"],"title":"get_entity_aprArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_ethereum_blocks":{"post":{"operationId":"list_ethereum_blocks","summary":"List recent Ethereum slots and blocks with proposer, fee recipient, gas, fees, MEV and reward figures; can filter by val","description":"List recent Ethereum slots and blocks with proposer, fee recipient, gas, fees, MEV and reward figures; can filter by validator or slot range. Use for \"Show the latest Ethereum blocks and their priority fees\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return per page (default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip before the first one, for paging.","title":"Offset"},"validator_index":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only blocks proposed by this validator index.","title":"Validator Index"},"from_slot":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"First consensus slot of the range.","title":"From Slot"},"to_slot":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Last consensus slot of the range.","title":"To Slot"}},"title":"list_ethereum_blocksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_solana_network_overview":{"post":{"operationId":"get_solana_network_overview","summary":"Solana network overview per time window: network effectiveness, vote success rate, validator and delegator APY, active v","description":"Solana network overview per time window: network effectiveness, vote success rate, validator and delegator APY, active validators and total delegated stake. Use for \"How is the Solana validator network doing and what is the staking APY\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_solana_network_overviewArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}