{
"error": "Bad request. Please check your input and try again."
}
{
"error": "Unauthorized. Please provide a valid API key."
}
{
"error": "endpoint not allowed for your subscription tier. upgrade your subscription at https://beaconcha.in/pricing."
}
{
"error": "The requested resource was not found."
}
{
"error": "method not allowed: GET. all public API endpoints use POST."
}
{
"error": "Rate limit exceeded. Please try again later."
}
{
"error": "internal server error. please try again later."
}
{
"error": "An unexpected error occurred."
}
Queues
Network Queue Overview
Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is.
Use case guide:Queue tracking explains how to choose between network and validator queue views, estimate wait times, and measure staking flows.
The estimated_processed_at field in each queue always refers to the very last item in the network queue
(i.e. when the entire queue will be fully processed).
The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with Accept: application/vnd.beaconcha.in.v2+json receive 410 Gone; all other requests receive the v2.1 schema shown in the response section below.
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Knowledge Base","colors":{"primary":"#2f6bff","light":"#2f6bff","dark":"#4d87ff"},"logo":{"light":"https://mintcdn.com/bitflyexplorergmbh/mis7Gg5q4_j4hzka/images/logo_light.transparent.png?fit=max\u0026auto=format\u0026n=mis7Gg5q4_j4hzka\u0026q=85\u0026s=f4937b576e7c0255ffe22197eafc93e9","dark":"https://mintcdn.com/bitflyexplorergmbh/mis7Gg5q4_j4hzka/images/logo_dark.transparent.png?fit=max\u0026auto=format\u0026n=mis7Gg5q4_j4hzka\u0026q=85\u0026s=4fd81d79d3d1a307cbe621f7a728c0b7","href":"https://docs.beaconcha.in"},"favicon":"https://mintcdn.com/bitflyexplorergmbh/ai7I6vS_c5RPp4wC/images/favicon.ico?fit=max\u0026auto=format\u0026n=ai7I6vS_c5RPp4wC\u0026q=85\u0026s=15681e9562ed19ba657cee264d79970b","background":{"color":{"light":"#f5f7fb","dark":"#0c1018"}},"navbar":{"links":[{"icon":"discord","href":"https://dsc.gg/beaconchain","label":"Discord"}],"primary":{"type":"button","label":"Get API Key","href":"https://beaconcha.in/user/settings"}},"footer":{"socials":{"x":"https://x.com/beaconcha_in","github":"https://github.com/gobitfly","discord":"https://dsc.gg/beaconchain"},"links":[{"header":"General","items":[{"label":"API Pricing","href":"https://beaconcha.in/pricing"},{"label":"API Status","href":"https://status.beaconcha.in/"}]},{"header":"Legal","items":[{"label":"Imprint","href":"https://docs.beaconcha.in/legal/imprint"},{"label":"Terms","href":"https://docs.beaconcha.in/legal/terms"},{"label":"Privacy","href":"https://docs.beaconcha.in/legal/privacy"}]}]},"fonts":{"heading":{"family":"Urbanist","weight":600},"body":{"family":"Urbanist","weight":400}},"integrations":{"ga4":{"measurementId":"G-FG07H4ST8Q"},"cookies":{"key":"bc-analytics-consent","value":"granted"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bitflyexplorergmbh","hasAudioNarration":false,"actualSubdomain":"bitflyexplorergmbh","customDomains":["docs.beaconcha.in"],"gitSource":{"type":"github","owner":"gobitfly","repo":"beaconchain-monorepo","deployBranch":"docs-deploy","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aea04aa8c693588234f6500","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Docs","count":93},{"language":"default","tag":"V2 API Docs","count":82},{"language":"default","tag":"Network","count":28},{"language":"default","tag":"Documentation","count":21},{"language":"default","tag":"Use Cases","count":20},{"language":"default","tag":"Beaconcha.in Features","count":15},{"language":"default","tag":"V1 API Docs","count":10},{"language":"default","tag":"Validator Duties","count":10},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"Validator Metrics","count":8}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":false,"email":"support@beaconcha.in","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--primary: 47 107 255;--primary-light: 91 140 255;--primary-dark: 31 76 190;--background-light: 245 247 251;--background-dark: 12 16 24;--bc-border-light: 214 221 234;--bc-border-dark: 54 63 78;--bc-surface-light: 255 255 255;--bc-surface-dark: 20 25 35}html,body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{background:radial-gradient(circle at 5% 10%, rgba(47, 107, 255, 0.08), transparent 30%),\n radial-gradient(circle at 92% 14%, rgba(0, 188, 212, 0.08), transparent 28%)}.dark body{background:radial-gradient(circle at 8% 8%, rgba(47, 107, 255, 0.22), transparent 34%),\n radial-gradient(circle at 96% 16%, rgba(9, 16, 31, 0.78), transparent 32%),\n linear-gradient(180deg, #0c1018 0%, #090d14 100%)}a{text-underline-offset:0.2em}.prose code,pre{border:1px solid rgba(var(--bc-border-light), 0.8)}.dark .prose code,.dark pre{border-color:rgba(var(--bc-border-dark), 0.85)}nav,aside,header,main [class*=\"card\"],main [class*=\"panel\"]{border-color:rgba(var(--bc-border-light), 0.65)}.dark nav,.dark aside,.dark header,.dark main [class*=\"card\"],.dark main [class*=\"panel\"]{border-color:rgba(var(--bc-border-dark), 0.75)}tbody tr:hover{background:rgba(47, 107, 255, 0.07)}.dark tbody tr:hover{background:rgba(47, 107, 255, 0.14)}[data-testid=\"optional-fields-group\"]{display:block!important;content-visibility:visible!important}[data-testid=\"optional-fields-row\"],[data-testid=\"optional-fields-toggle\"]{display:none!important}"}],"page":{"pagePath":"api-reference/ethereum/queues","slug":"/api-reference/ethereum/queues","pageMetadata":{"title":"Network Queue Overview","description":"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is.\n\n**Use case guide:** [Queue tracking](/use-cases/queue-tracking) explains how to choose between network and validator queue views, estimate wait times, and measure staking flows.\n\nThe `estimated_processed_at` field in each queue always refers to the very last item in the network queue\n(i.e. when the entire queue will be fully processed).\n\nFor per-validator queue details, use:\n- [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues) — overview per validator\n\n### Deprecation Notice\n\nThe legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with `Accept: application/vnd.beaconcha.in.v2+json` receive `410 Gone`; all other requests receive the v2.1 schema shown in the response section below.\n","deprecated":null,"version":null,"sidebarTitle":"Network Queue Overview","openapi":"/v3/bundled.yaml post /api/v2/ethereum/queues","href":"/api-reference/ethereum/queues","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n h3: \"h3\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Use case guide:\"\n }), \" \", _jsx(_components.a, {\n href: \"/use-cases/queue-tracking\",\n children: \"Queue tracking\"\n }), \" explains how to choose between network and validator queue views, estimate wait times, and measure staking flows.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The \", _jsx(_components.code, {\n children: \"estimated_processed_at\"\n }), \" field in each queue always refers to the very last item in the network queue\\n(i.e. when the entire queue will be fully processed).\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"For per-validator queue details, use:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.a, {\n href: \"/api-reference/ethereum/validators/queues\",\n children: \"/api/v2/ethereum/validators/queues\"\n }), \" — overview per validator\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.h3, {\n children: \"Deprecation Notice\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with \", _jsx(_components.code, {\n children: \"Accept: application/vnd.beaconcha.in.v2+json\"\n }), \" receive \", _jsx(_components.code, {\n children: \"410 Gone\"\n }), \"; all other requests receive the v2.1 schema shown in the response section below.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Network Queue Overview","description":"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is.\n\n**Use case guide:** [Queue tracking](/use-cases/queue-tracking) explains how to choose between network and validator queue views, estimate wait times, and measure staking flows.\n\nThe `estimated_processed_at` field in each queue always refers to the very last item in the network queue\n(i.e. when the entire queue will be fully processed).\n\nFor per-validator queue details, use:\n- [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues) — overview per validator\n\n### Deprecation Notice\n\nThe legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with `Accept: application/vnd.beaconcha.in.v2+json` receive `410 Gone`; all other requests receive the v2.1 schema shown in the response section below.\n","deprecated":null,"version":null,"sidebarTitle":"Network Queue Overview","openapi":"/v3/bundled.yaml post /api/v2/ethereum/queues","href":"/api-reference/ethereum/queues","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/bitflyexplorergmbh/0accca00cdc5cb9a/support-widget.js","/_mintlify/custom/bitflyexplorergmbh/f7c459cc7b5d3b45/ga-page-views.js","/_mintlify/custom/bitflyexplorergmbh/ce23a3e5e6eeb907/analytics-consent.js"],"openApiReferenceData":{"operation":{"tags":["Network"],"summary":"Network Queue Overview","operationId":"GetStakingQueues","x-mint":{"href":"/api-reference/ethereum/queues","metadata":{"sidebarTitle":"Network Queue Overview"}},"description":"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is.\n\n**Use case guide:** [Queue tracking](/use-cases/queue-tracking) explains how to choose between network and validator queue views, estimate wait times, and measure staking flows.\n\nThe `estimated_processed_at` field in each queue always refers to the very last item in the network queue\n(i.e. when the entire queue will be fully processed).\n\nFor per-validator queue details, use:\n- [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues) — overview per validator\n\n### Deprecation Notice\n\nThe legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with `Accept: application/vnd.beaconcha.in.v2+json` receive `410 Gone`; all other requests receive the v2.1 schema shown in the response section below.\n","requestBody":"53145d28-af93-438a-8ff3-601743700c11","responses":{"200":"531cc565-2010-4c31-9275-5e07005ec27a","400":"f946d2e5-25fa-409b-9db0-98a4a9644c65","401":"224bba35-9276-4c9b-9ff1-c8348400787e","403":"c8041682-0208-4b03-8c76-5dc973a430ef","404":"f1695986-b44b-4d6c-b13b-d80e0dce40e3","405":"c5a30061-3c6c-4c2f-ac4c-4918614f64fb","429":"761a0e5a-feb0-4667-a85a-d5c8d774644c","500":"e65c5cdd-6c7d-4fce-9fcd-1be9ae4cd564","default":"f548e1e0-dabc-4d39-a063-9de9735359fc"},"method":"post","type":"path","servers":["68600598-006f-4d78-a840-93daacf4d3c9"],"security":["e0f71b8f-ce4e-47ec-a449-3f4991045d07"],"path":"/api/v2/ethereum/queues","baseUrlOptions":["https://beaconcha.in"],"title":"Network Queue Overview","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","enum":["mainnet","hoodi"],"default":"mainnet","description":"The Ethereum chain to query.","uniqueKey":"chain","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"chain":"mainnet"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"531cc565-2010-4c31-9275-5e07005ec27a":{"description":"Successful response.","content":{"application/vnd.beaconcha.in.v2.1+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deposit_queue":{"oneOf":[{"type":"object","description":"Deposit queue statistics.\nFor the network aggregate, this represents the entire deposit queue.\nFor individual validators, this represents the validator's position in the deposit queue.\nThe `estimated_processed_at` always refers to the very last deposit being referenced\n(for the network: end of the network queue; for a validator with multiple deposits: when the last deposit is processed).\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual deposits and the slots they were queued and processed in, see [/api/v2/ethereum/validators/deposit-slots](/api-reference/ethereum/validators/deposit-slots).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"deposit_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n","uniqueKey":"data.deposit_queue.oneOf.0.deposit_count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n","uniqueKey":"data.deposit_queue.oneOf.0.deposit_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.deposit_count","typeLabel":"integer | null"},"deposit_balance":{"oneOf":[{"type":"string","description":"Total balance of new validator deposits in the queue (excludes top-ups).","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.deposit_queue.oneOf.0.deposit_balance.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.deposit_queue.oneOf.0.deposit_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.deposit_balance","typeLabel":"string | null"},"topup_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n","uniqueKey":"data.deposit_queue.oneOf.0.topup_count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n","uniqueKey":"data.deposit_queue.oneOf.0.topup_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.topup_count","typeLabel":"integer | null"},"topup_balance":{"oneOf":[{"type":"string","description":"Total balance of top-up deposits in the queue (excludes new validator deposits).","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.deposit_queue.oneOf.0.topup_balance.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.deposit_queue.oneOf.0.topup_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.topup_balance","typeLabel":"string | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Deposit queue statistics.\nFor the network aggregate, this represents the entire deposit queue.\nFor individual validators, this represents the validator's position in the deposit queue.\nThe `estimated_processed_at` always refers to the very last deposit being referenced\n(for the network: end of the network queue; for a validator with multiple deposits: when the last deposit is processed).\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual deposits and the slots they were queued and processed in, see [/api/v2/ethereum/validators/deposit-slots](/api-reference/ethereum/validators/deposit-slots).\n","properties":{"deposit_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n"},{"type":"null","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n"}]},"deposit_balance":{"oneOf":[{"type":"string","description":"Total balance of new validator deposits in the queue (excludes top-ups).","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null"}]},"topup_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n"},{"type":"null","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n"}]},"topup_balance":{"oneOf":[{"type":"string","description":"Total balance of top-up deposits in the queue (excludes new validator deposits).","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null"}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit_queue","typeLabel":"object | null"},"exit_queue":{"oneOf":[{"type":"object","description":"Exit queue statistics.\nFor the network aggregate, this represents the entire exit queue.\nFor individual validators, this represents the validator's position in the exit queue.\nThe `estimated_processed_at` always refers to the very last exit being referenced\n(for the network: end of the network queue; for a validator: when the exit is processed).\n\nFor the network, this is null when nothing holds the exit churn past the earliest exit epoch a new request can get: no validator is exiting and no queued partial withdrawal request has a later exit epoch. While queued partial withdrawal requests hold the churn and no validator is exiting, it is present with `count` and `balance` at 0.\n\nFor a validator, this is set from the moment it gets an exit epoch until that epoch starts, whatever started the exit (a voluntary exit, an execution-layer exit request, an ejection or a slashing) and whether or not the validator is still attesting. It is null from the exit epoch on, and for the source of a queued consolidation, which leaves through the consolidation churn instead (see `consolidation_queue`), unless the source was slashed: the chain then drops the consolidation.\n\nFor each validator's own exit estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual execution-layer exit and partial withdrawal requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n","uniqueKey":"data.exit_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n","uniqueKey":"data.exit_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.oneOf.0.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.exit_queue.oneOf.0.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.exit_queue.oneOf.0.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.oneOf.0.balance","typeLabel":"string | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Exit queue statistics.\nFor the network aggregate, this represents the entire exit queue.\nFor individual validators, this represents the validator's position in the exit queue.\nThe `estimated_processed_at` always refers to the very last exit being referenced\n(for the network: end of the network queue; for a validator: when the exit is processed).\n\nFor the network, this is null when nothing holds the exit churn past the earliest exit epoch a new request can get: no validator is exiting and no queued partial withdrawal request has a later exit epoch. While queued partial withdrawal requests hold the churn and no validator is exiting, it is present with `count` and `balance` at 0.\n\nFor a validator, this is set from the moment it gets an exit epoch until that epoch starts, whatever started the exit (a voluntary exit, an execution-layer exit request, an ejection or a slashing) and whether or not the validator is still attesting. It is null from the exit epoch on, and for the source of a queued consolidation, which leaves through the consolidation churn instead (see `consolidation_queue`), unless the source was slashed: the chain then drops the consolidation.\n\nFor each validator's own exit estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual execution-layer exit and partial withdrawal requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n"},{"type":"null","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n"}]},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$"}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.exit_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.exit_queue","typeLabel":"object | null"},"manual_withdrawal_queue":{"oneOf":[{"type":"object","description":"Network-level statistics for manual withdrawals — partial withdrawals triggered via an execution-layer withdrawal request (EIP-7002), i.e. a validator operator withdrawing excess balance while the validator stays active.\n\nThis does **not** include full exits: an execution-layer full-exit request (amount `0`) triggers a normal validator exit and is reflected in `exit_queue`, not here. Automatic withdrawals performed by the protocol withdrawal sweep — excess balance for active validators, or the full balance for exited ones — are reflected in `withdrawal_sweep`.\n\n`estimated_processed_at` is when the last partial withdrawal currently in the network queue is expected to be processed.\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue.","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue.","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.balance","typeLabel":"string | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Network-level statistics for manual withdrawals — partial withdrawals triggered via an execution-layer withdrawal request (EIP-7002), i.e. a validator operator withdrawing excess balance while the validator stays active.\n\nThis does **not** include full exits: an execution-layer full-exit request (amount `0`) triggers a normal validator exit and is reflected in `exit_queue`, not here. Automatic withdrawals performed by the protocol withdrawal sweep — excess balance for active validators, or the full balance for exited ones — are reflected in `withdrawal_sweep`.\n\n`estimated_processed_at` is when the last partial withdrawal currently in the network queue is expected to be processed.\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue."},{"type":"null","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue."}]},"balance":{"oneOf":[{"type":"string","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$"}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n"}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue","typeLabel":"object | null"},"withdrawal_sweep":{"oneOf":[{"type":"object","description":"Withdrawal sweep clock statistics.\nThe sweep is not a queue but a rotating clock that cycles through all validators and automatically\nwithdraws any excess balance (rewards above the effective balance) or the full balance for exited validators.\n\nThe sweep delay indicates how long it takes for the clock to complete a full rotation.\n","properties":{"last_swept_validator_index":{"oneOf":[{"type":"integer","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n","isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0.last_swept_validator_index.oneOf.0","typeLabel":"integer"},{"type":"null","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n","isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0.last_swept_validator_index.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0.last_swept_validator_index","typeLabel":"integer | null"},"estimated_sweep_delay":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n","uniqueKey":"data.withdrawal_sweep.oneOf.0.estimated_sweep_delay.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n","uniqueKey":"data.withdrawal_sweep.oneOf.0.estimated_sweep_delay.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.withdrawal_sweep.oneOf.0.estimated_sweep_delay","typeLabel":"integer | null"}},"required":["last_swept_validator_index"],"isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0","typeLabel":"object"},{"type":"null","description":"Withdrawal sweep clock statistics.\nThe sweep is not a queue but a rotating clock that cycles through all validators and automatically\nwithdraws any excess balance (rewards above the effective balance) or the full balance for exited validators.\n\nThe sweep delay indicates how long it takes for the clock to complete a full rotation.\n","properties":{"estimated_sweep_delay":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n"},{"type":"null","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n"}]},"last_swept_validator_index":{"oneOf":[{"type":"integer","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n"},{"type":"null","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n"}]}},"required":["last_swept_validator_index"],"isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.withdrawal_sweep","typeLabel":"object | null"},"consolidation_queue":{"oneOf":[{"type":"object","description":"Consolidation queue statistics.\n\nConsolidation is a two-phase process — the source validator first exits the active set, then its balance\nis swept to the target validator after the withdrawal delay (~256 epochs, roughly 27 hours).\n\n`estimated_exit_at` is when all currently-queued source validators will have exited.\n`estimated_processed_at` is when the last balance transfer will complete (worst-case full duration).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last balance transfer in the current queue will complete (withdrawable epoch).\nFollows `estimated_exit_at` by the withdrawal delay (~256 epochs).\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of consolidations currently in the queue.","uniqueKey":"data.consolidation_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of consolidations currently in the queue.","uniqueKey":"data.consolidation_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.consolidation_queue.oneOf.0.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.consolidation_queue.oneOf.0.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.balance","typeLabel":"string | null"},"estimated_exit_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last source validator in the current queue will exit the active set.\nThis is the earlier of the two milestones — after this point no consolidation sources remain active.\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.0.timestamp","typeLabel":"integer"}},"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at","typeLabel":"object | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Consolidation queue statistics.\n\nConsolidation is a two-phase process — the source validator first exits the active set, then its balance\nis swept to the target validator after the withdrawal delay (~256 epochs, roughly 27 hours).\n\n`estimated_exit_at` is when all currently-queued source validators will have exited.\n`estimated_processed_at` is when the last balance transfer will complete (worst-case full duration).\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of consolidations currently in the queue."},{"type":"null","minimum":0,"description":"Total number of consolidations currently in the queue."}]},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$"}]},"estimated_exit_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last source validator in the current queue will exit the active set.\nThis is the earlier of the two milestones — after this point no consolidation sources remain active.\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}}},{"type":"null"}]},"estimated_processed_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last balance transfer in the current queue will complete (withdrawable epoch).\nFollows `estimated_exit_at` by the withdrawal delay (~256 epochs).\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}}},{"type":"null"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.consolidation_queue","typeLabel":"object | null"},"compounding_switch_queue":{"oneOf":[{"type":"object","description":"Compounding switch queue statistics.\nOnce dequeued, the validator will be switched to compounding mode on the consensus layer,\nallowing it to exceed the normal maximum effective balance cap\n(32 ETH for prefix \"0x00\" or \"0x01\", 2048 ETH for prefix \"0x02\").\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of compounding switch actions currently in the queue.","uniqueKey":"data.compounding_switch_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of compounding switch actions currently in the queue.","uniqueKey":"data.compounding_switch_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.compounding_switch_queue.oneOf.0.count","typeLabel":"integer | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Compounding switch queue statistics.\nOnce dequeued, the validator will be switched to compounding mode on the consensus layer,\nallowing it to exceed the normal maximum effective balance cap\n(32 ETH for prefix \"0x00\" or \"0x01\", 2048 ETH for prefix \"0x02\").\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of compounding switch actions currently in the queue."},{"type":"null","minimum":0,"description":"Total number of compounding switch actions currently in the queue."}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.compounding_switch_queue","typeLabel":"object | null"},"finality":{"type":"string","description":"Indicates the finality status of the data provided. \n - Finalized data cannot be changed without slashing at least one-third of all validators, providing strong economic guarantees.\n - Data marked as not_finalized does not have this guarantee and may still change.\n","enum":["not_finalized"],"isRequired":true,"uniqueKey":"data.finality","typeLabel":"enum\u003cstring>"}},"required":["deposit_queue","exit_queue","manual_withdrawal_queue","withdrawal_sweep","consolidation_queue","compounding_switch_queue","finality"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"description":"Response containing unified queue statistics for the network.","required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"deposit_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"deposit_count":1,"deposit_balance":"\u003cstring>","topup_count":1,"topup_balance":"\u003cstring>","churn":{"amount":"\u003cstring>","interval_seconds":123}},"exit_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"balance":"\u003cstring>","churn":{"amount":"\u003cstring>","interval_seconds":123}},"manual_withdrawal_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"balance":"\u003cstring>"},"withdrawal_sweep":{"last_swept_validator_index":123,"estimated_sweep_delay":1},"consolidation_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"balance":"\u003cstring>","estimated_exit_at":{"epoch":1,"timestamp":1},"churn":{"amount":"\u003cstring>","interval_seconds":123}},"compounding_switch_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"churn":{"amount":"\u003cstring>","interval_seconds":123}},"finality":"not_finalized"}}}},"exampleType":"generated"},"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deposit_queue":{"oneOf":[{"type":"object","description":"Deposit queue statistics.\nFor the network aggregate, this represents the entire deposit queue.\nFor individual validators, this represents the validator's position in the deposit queue.\nThe `estimated_processed_at` always refers to the very last deposit being referenced\n(for the network: end of the network queue; for a validator with multiple deposits: when the last deposit is processed).\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual deposits and the slots they were queued and processed in, see [/api/v2/ethereum/validators/deposit-slots](/api-reference/ethereum/validators/deposit-slots).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"deposit_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n","uniqueKey":"data.deposit_queue.oneOf.0.deposit_count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n","uniqueKey":"data.deposit_queue.oneOf.0.deposit_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.deposit_count","typeLabel":"integer | null"},"deposit_balance":{"oneOf":[{"type":"string","description":"Total balance of new validator deposits in the queue (excludes top-ups).","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.deposit_queue.oneOf.0.deposit_balance.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.deposit_queue.oneOf.0.deposit_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.deposit_balance","typeLabel":"string | null"},"topup_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n","uniqueKey":"data.deposit_queue.oneOf.0.topup_count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n","uniqueKey":"data.deposit_queue.oneOf.0.topup_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.topup_count","typeLabel":"integer | null"},"topup_balance":{"oneOf":[{"type":"string","description":"Total balance of top-up deposits in the queue (excludes new validator deposits).","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.deposit_queue.oneOf.0.topup_balance.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.deposit_queue.oneOf.0.topup_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.topup_balance","typeLabel":"string | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.deposit_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Deposit queue statistics.\nFor the network aggregate, this represents the entire deposit queue.\nFor individual validators, this represents the validator's position in the deposit queue.\nThe `estimated_processed_at` always refers to the very last deposit being referenced\n(for the network: end of the network queue; for a validator with multiple deposits: when the last deposit is processed).\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual deposits and the slots they were queued and processed in, see [/api/v2/ethereum/validators/deposit-slots](/api-reference/ethereum/validators/deposit-slots).\n","properties":{"deposit_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n"},{"type":"null","minimum":0,"description":"Total number of new validator deposits currently in the queue (excludes top-ups).\n"}]},"deposit_balance":{"oneOf":[{"type":"string","description":"Total balance of new validator deposits in the queue (excludes top-ups).","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null"}]},"topup_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n"},{"type":"null","minimum":0,"description":"Total number of top-up deposits currently in the queue (excludes new validator deposits).\n"}]},"topup_balance":{"oneOf":[{"type":"string","description":"Total balance of top-up deposits in the queue (excludes new validator deposits).","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null"}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the deposit queue will be fully processed (network)\nor when this validator's deposit will be processed (per-validator).\n"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.deposit_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deposit_queue","typeLabel":"object | null"},"exit_queue":{"oneOf":[{"type":"object","description":"Exit queue statistics.\nFor the network aggregate, this represents the entire exit queue.\nFor individual validators, this represents the validator's position in the exit queue.\nThe `estimated_processed_at` always refers to the very last exit being referenced\n(for the network: end of the network queue; for a validator: when the exit is processed).\n\nFor the network, this is null when nothing holds the exit churn past the earliest exit epoch a new request can get: no validator is exiting and no queued partial withdrawal request has a later exit epoch. While queued partial withdrawal requests hold the churn and no validator is exiting, it is present with `count` and `balance` at 0.\n\nFor a validator, this is set from the moment it gets an exit epoch until that epoch starts, whatever started the exit (a voluntary exit, an execution-layer exit request, an ejection or a slashing) and whether or not the validator is still attesting. It is null from the exit epoch on, and for the source of a queued consolidation, which leaves through the consolidation churn instead (see `consolidation_queue`), unless the source was slashed: the chain then drops the consolidation.\n\nFor each validator's own exit estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual execution-layer exit and partial withdrawal requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n","uniqueKey":"data.exit_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n","uniqueKey":"data.exit_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.oneOf.0.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.exit_queue.oneOf.0.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.exit_queue.oneOf.0.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.oneOf.0.balance","typeLabel":"string | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.exit_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.exit_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Exit queue statistics.\nFor the network aggregate, this represents the entire exit queue.\nFor individual validators, this represents the validator's position in the exit queue.\nThe `estimated_processed_at` always refers to the very last exit being referenced\n(for the network: end of the network queue; for a validator: when the exit is processed).\n\nFor the network, this is null when nothing holds the exit churn past the earliest exit epoch a new request can get: no validator is exiting and no queued partial withdrawal request has a later exit epoch. While queued partial withdrawal requests hold the churn and no validator is exiting, it is present with `count` and `balance` at 0.\n\nFor a validator, this is set from the moment it gets an exit epoch until that epoch starts, whatever started the exit (a voluntary exit, an execution-layer exit request, an ejection or a slashing) and whether or not the validator is still attesting. It is null from the exit epoch on, and for the source of a queued consolidation, which leaves through the consolidation churn instead (see `consolidation_queue`), unless the source was slashed: the chain then drops the consolidation.\n\nFor each validator's own exit estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual execution-layer exit and partial withdrawal requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n"},{"type":"null","minimum":0,"description":"Total number of validators currently in the exit queue (network) or number of exit requests for this validator (per-validator). Partial withdrawal requests are not counted (see `manual_withdrawal_queue`).\n"}]},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null","description":"Total balance of validators in the exit queue. Partial withdrawal requests are not included.","pattern":"^(0|-?[1-9][0-9]*)$"}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the exit queue will be fully processed (network) or when this validator's exit will be processed (per-validator).\n\nFor the network, this is the later of the latest exit epoch the exit churn has assigned, to a validator exit or to a partial withdrawal request (see `manual_withdrawal_queue`), which takes the same churn, and the earliest exit epoch a new request can get, the current epoch + 1 + `MAX_SEED_LOOKAHEAD`. It is read from the latest queue snapshot, so it matches the newest `exit_queue.estimated_processed_at` of [/api/v2/ethereum/queues/history](/api-reference/ethereum/queues/history) unless that snapshot is older than the current epoch. A new exit request gets this epoch at the earliest. It lands later when exits or partial withdrawal requests booked since the snapshot have filled that epoch, or when the epoch has less room left than the request's effective balance, which adds up to that balance ÷ `churn.amount` epochs, rounded up.\n"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.exit_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.exit_queue","typeLabel":"object | null"},"manual_withdrawal_queue":{"oneOf":[{"type":"object","description":"Network-level statistics for manual withdrawals — partial withdrawals triggered via an execution-layer withdrawal request (EIP-7002), i.e. a validator operator withdrawing excess balance while the validator stays active.\n\nThis does **not** include full exits: an execution-layer full-exit request (amount `0`) triggers a normal validator exit and is reflected in `exit_queue`, not here. Automatic withdrawals performed by the protocol withdrawal sweep — excess balance for active validators, or the full balance for exited ones — are reflected in `withdrawal_sweep`.\n\n`estimated_processed_at` is when the last partial withdrawal currently in the network queue is expected to be processed.\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n","isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue.","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue.","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.manual_withdrawal_queue.oneOf.0.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.manual_withdrawal_queue.oneOf.0.balance","typeLabel":"string | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Network-level statistics for manual withdrawals — partial withdrawals triggered via an execution-layer withdrawal request (EIP-7002), i.e. a validator operator withdrawing excess balance while the validator stays active.\n\nThis does **not** include full exits: an execution-layer full-exit request (amount `0`) triggers a normal validator exit and is reflected in `exit_queue`, not here. Automatic withdrawals performed by the protocol withdrawal sweep — excess balance for active validators, or the full balance for exited ones — are reflected in `withdrawal_sweep`.\n\n`estimated_processed_at` is when the last partial withdrawal currently in the network queue is expected to be processed.\n\nFor each validator's own estimate, see [/api/v2/ethereum/validators/queues](/api-reference/ethereum/validators/queues). To list a validator's individual requests and the slots they were queued and processed in, see [/api/v2/ethereum/validators/withdrawal-slots](/api-reference/ethereum/validators/withdrawal-slots).\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue."},{"type":"null","minimum":0,"description":"Total number of partial withdrawal requests currently in the queue."}]},"balance":{"oneOf":[{"type":"string","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null","description":"Total balance of partial withdrawal requests in the queue.","pattern":"^(0|-?[1-9][0-9]*)$"}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the last partial withdrawal currently in the network queue is expected to be processed.\n\nThe beacon chain gives each request a withdrawable epoch when it queues the request, `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` epochs after the exit epoch the request takes from the exit churn. This is the start of the latest withdrawable epoch among the queued requests, or the next slot once it has passed.\n"}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.manual_withdrawal_queue","typeLabel":"object | null"},"withdrawal_sweep":{"oneOf":[{"type":"object","description":"Withdrawal sweep clock statistics.\nThe sweep is not a queue but a rotating clock that cycles through all validators and automatically\nwithdraws any excess balance (rewards above the effective balance) or the full balance for exited validators.\n\nThe sweep delay indicates how long it takes for the clock to complete a full rotation.\n","properties":{"last_swept_validator_index":{"oneOf":[{"type":"integer","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n","isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0.last_swept_validator_index.oneOf.0","typeLabel":"integer"},{"type":"null","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n","isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0.last_swept_validator_index.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0.last_swept_validator_index","typeLabel":"integer | null"},"estimated_sweep_delay":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n","uniqueKey":"data.withdrawal_sweep.oneOf.0.estimated_sweep_delay.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n","uniqueKey":"data.withdrawal_sweep.oneOf.0.estimated_sweep_delay.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.withdrawal_sweep.oneOf.0.estimated_sweep_delay","typeLabel":"integer | null"}},"required":["last_swept_validator_index"],"isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.0","typeLabel":"object"},{"type":"null","description":"Withdrawal sweep clock statistics.\nThe sweep is not a queue but a rotating clock that cycles through all validators and automatically\nwithdraws any excess balance (rewards above the effective balance) or the full balance for exited validators.\n\nThe sweep delay indicates how long it takes for the clock to complete a full rotation.\n","properties":{"estimated_sweep_delay":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n"},{"type":"null","minimum":0,"description":"Estimated maximum time, in seconds, for the sweep clock to make a full rotation.\nThe actual withdrawal may occur sooner depending on the validator's position relative to the sweep pointer.\n"}]},"last_swept_validator_index":{"oneOf":[{"type":"integer","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n"},{"type":"null","description":"The index of the last validator for which an automatic withdrawal was processed.\nThis indicates the current position of the sweep clock.\n"}]}},"required":["last_swept_validator_index"],"isRequired":true,"uniqueKey":"data.withdrawal_sweep.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.withdrawal_sweep","typeLabel":"object | null"},"consolidation_queue":{"oneOf":[{"type":"object","description":"Consolidation queue statistics.\n\nConsolidation is a two-phase process — the source validator first exits the active set, then its balance\nis swept to the target validator after the withdrawal delay (~256 epochs, roughly 27 hours).\n\n`estimated_exit_at` is when all currently-queued source validators will have exited.\n`estimated_processed_at` is when the last balance transfer will complete (worst-case full duration).\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last balance transfer in the current queue will complete (withdrawable epoch).\nFollows `estimated_exit_at` by the withdrawal delay (~256 epochs).\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of consolidations currently in the queue.","uniqueKey":"data.consolidation_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of consolidations currently in the queue.","uniqueKey":"data.consolidation_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.consolidation_queue.oneOf.0.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.consolidation_queue.oneOf.0.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.balance","typeLabel":"string | null"},"estimated_exit_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last source validator in the current queue will exit the active set.\nThis is the earlier of the two milestones — after this point no consolidation sources remain active.\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.0.timestamp","typeLabel":"integer"}},"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.estimated_exit_at","typeLabel":"object | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.consolidation_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.consolidation_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Consolidation queue statistics.\n\nConsolidation is a two-phase process — the source validator first exits the active set, then its balance\nis swept to the target validator after the withdrawal delay (~256 epochs, roughly 27 hours).\n\n`estimated_exit_at` is when all currently-queued source validators will have exited.\n`estimated_processed_at` is when the last balance transfer will complete (worst-case full duration).\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of consolidations currently in the queue."},{"type":"null","minimum":0,"description":"Total number of consolidations currently in the queue."}]},"balance":{"oneOf":[{"type":"string","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$"},{"type":"null","description":"Total balance of validators currently queued for consolidation.","pattern":"^(0|-?[1-9][0-9]*)$"}]},"estimated_exit_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last source validator in the current queue will exit the active set.\nThis is the earlier of the two milestones — after this point no consolidation sources remain active.\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}}},{"type":"null"}]},"estimated_processed_at":{"oneOf":[{"type":"object","description":"Estimated epoch when the last balance transfer in the current queue will complete (withdrawable epoch).\nFollows `estimated_exit_at` by the withdrawal delay (~256 epochs).\n","required":["epoch","timestamp"],"properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}}},{"type":"null"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be consolidated per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.consolidation_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.consolidation_queue","typeLabel":"object | null"},"compounding_switch_queue":{"oneOf":[{"type":"object","description":"Compounding switch queue statistics.\nOnce dequeued, the validator will be switched to compounding mode on the consensus layer,\nallowing it to exceed the normal maximum effective balance cap\n(32 ETH for prefix \"0x00\" or \"0x01\", 2048 ETH for prefix \"0x02\").\n","properties":{"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.0.epoch","typeLabel":"integer"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.0.timestamp","typeLabel":"integer"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.estimated_processed_at","typeLabel":"object | null"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of compounding switch actions currently in the queue.","uniqueKey":"data.compounding_switch_queue.oneOf.0.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of compounding switch actions currently in the queue.","uniqueKey":"data.compounding_switch_queue.oneOf.0.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.compounding_switch_queue.oneOf.0.count","typeLabel":"integer | null"},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.0.amount","typeLabel":"string"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch).","isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.0.interval_seconds","typeLabel":"integer"}},"required":["amount","interval_seconds"],"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.0","typeLabel":"object"},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"],"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.compounding_switch_queue.oneOf.0.churn","typeLabel":"object | null"}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.0","typeLabel":"object"},{"type":"null","description":"Compounding switch queue statistics.\nOnce dequeued, the validator will be switched to compounding mode on the consensus layer,\nallowing it to exceed the normal maximum effective balance cap\n(32 ETH for prefix \"0x00\" or \"0x01\", 2048 ETH for prefix \"0x02\").\n","properties":{"count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of compounding switch actions currently in the queue."},{"type":"null","minimum":0,"description":"Total number of compounding switch actions currently in the queue."}]},"estimated_processed_at":{"oneOf":[{"type":"object","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n"},{"type":"null","properties":{"epoch":{"type":"integer","minimum":0,"description":"Epoch number"},"timestamp":{"type":"integer","minimum":0,"description":"Unix timestamp"}},"required":["epoch","timestamp"],"description":"Estimated time and epoch when the compounding switch queue will be fully processed (network)\nor when this validator's compounding switch will be processed (per-validator).\nThe network estimate covers the whole execution-layer consolidation-request queue draining, not just the switches counted in `count`: cross-validator consolidations and requests that will be rejected on the consensus layer occupy the same per-block dequeue budget, so they are included.\n"}]},"churn":{"oneOf":[{"type":"object","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]},{"type":"null","description":"Current churn rate — how much balance can be processed per interval.","properties":{"amount":{"type":"string","description":"Amount of ether (in wei) that can be processed in one interval.","pattern":"^(0|-?[1-9][0-9]*)$"},"interval_seconds":{"type":"integer","description":"Length of the processing interval in seconds (e.g. 384 for one epoch)."}},"required":["amount","interval_seconds"]}]}},"required":["estimated_processed_at"],"isRequired":true,"uniqueKey":"data.compounding_switch_queue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.compounding_switch_queue","typeLabel":"object | null"},"finality":{"type":"string","description":"Indicates the finality status of the data provided. \n - Finalized data cannot be changed without slashing at least one-third of all validators, providing strong economic guarantees.\n - Data marked as not_finalized does not have this guarantee and may still change.\n","enum":["not_finalized"],"isRequired":true,"uniqueKey":"data.finality","typeLabel":"enum\u003cstring>"}},"required":["deposit_queue","exit_queue","manual_withdrawal_queue","withdrawal_sweep","consolidation_queue","compounding_switch_queue","finality"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"description":"Response containing unified queue statistics for the network.","required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"deposit_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"deposit_count":1,"deposit_balance":"\u003cstring>","topup_count":1,"topup_balance":"\u003cstring>","churn":{"amount":"\u003cstring>","interval_seconds":123}},"exit_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"balance":"\u003cstring>","churn":{"amount":"\u003cstring>","interval_seconds":123}},"manual_withdrawal_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"balance":"\u003cstring>"},"withdrawal_sweep":{"last_swept_validator_index":123,"estimated_sweep_delay":1},"consolidation_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"balance":"\u003cstring>","estimated_exit_at":{"epoch":1,"timestamp":1},"churn":{"amount":"\u003cstring>","interval_seconds":123}},"compounding_switch_queue":{"estimated_processed_at":{"epoch":1,"timestamp":1},"count":1,"churn":{"amount":"\u003cstring>","interval_seconds":123}},"finality":"not_finalized"}}}},"exampleType":"generated"},"application/vnd.beaconcha.in.v2+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deposit_queue":{"type":"object","properties":{"churn":{"type":"string","description":"Current churn limit in wei, i.e. how much balance can be processed per epoch.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.deposit_queue.churn","typeLabel":"string"},"deposit_count":{"oneOf":[{"type":"integer","minimum":0,"description":"Total number of deposits currently in the queue, including both new validator deposits and top-ups.\nNote: A single validator may have multiple pending deposits (top-ups) in the queue; this value counts all deposits without deduplication by validator.\n","uniqueKey":"data.deposit_queue.deposit_count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Total number of deposits currently in the queue, including both new validator deposits and top-ups.\nNote: A single validator may have multiple pending deposits (top-ups) in the queue; this value counts all deposits without deduplication by validator.\n","uniqueKey":"data.deposit_queue.deposit_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.deposit_count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"Total balance of deposits in the queue, including both new validator deposits and top-ups.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.deposit_queue.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total balance of deposits in the queue, including both new validator deposits and top-ups.","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.deposit_queue.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.balance","typeLabel":"string | null"},"estimated_processed_at":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated unix timestamp when the last deposit in the queue will be processed","uniqueKey":"data.deposit_queue.estimated_processed_at.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Estimated unix timestamp when the last deposit in the queue will be processed","uniqueKey":"data.deposit_queue.estimated_processed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.deposit_queue.estimated_processed_at","typeLabel":"integer | null"}},"required":["churn"],"isRequired":true,"uniqueKey":"data.deposit_queue","typeLabel":"object"},"exit_queue":{"type":"object","properties":{"churn":{"type":"string","description":"Current churn limit in wei, i.e. how much balance can be processed per epoch.","pattern":"^(0|-?[1-9][0-9]*)$","isRequired":true,"uniqueKey":"data.exit_queue.churn","typeLabel":"string"},"count":{"oneOf":[{"type":"integer","minimum":0,"description":"The total number of validators currently in the exit queue, awaiting processing.\n\nThis count reflects the number of validators that have signaled their intent to exit and are queued for processing. Once processed, these validators will move to the sweep queue for final balance withdrawal, which is not included in this count.\n","uniqueKey":"data.exit_queue.count.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"The total number of validators currently in the exit queue, awaiting processing.\n\nThis count reflects the number of validators that have signaled their intent to exit and are queued for processing. Once processed, these validators will move to the sweep queue for final balance withdrawal, which is not included in this count.\n","uniqueKey":"data.exit_queue.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.count","typeLabel":"integer | null"},"balance":{"oneOf":[{"type":"string","description":"The total balance currently awaiting processing in the exit queue.\n\nThis value represents the sum of validator balances scheduled to exit in the exit queue. After leaving the exit queue, validators move to the sweep queue for final balance withdrawal. The sweep queue is not included in this amount.\n","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.exit_queue.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"The total balance currently awaiting processing in the exit queue.\n\nThis value represents the sum of validator balances scheduled to exit in the exit queue. After leaving the exit queue, validators move to the sweep queue for final balance withdrawal. The sweep queue is not included in this amount.\n","pattern":"^(0|-?[1-9][0-9]*)$","uniqueKey":"data.exit_queue.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.balance","typeLabel":"string | null"},"estimated_processed_at":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated unix timestamp when the last validator in the queue will be processed","uniqueKey":"data.exit_queue.estimated_processed_at.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Estimated unix timestamp when the last validator in the queue will be processed","uniqueKey":"data.exit_queue.estimated_processed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.exit_queue.estimated_processed_at","typeLabel":"integer | null"}},"required":["churn"],"isRequired":true,"uniqueKey":"data.exit_queue","typeLabel":"object"},"withdrawal_sweep":{"type":"object","properties":{"last_swept_validator_index":{"description":"The index of the last validator for which an automatic withdrawal was processed.\n\nThis can be used to determine the current position of the withdrawal processing clock hand.\n","type":"integer","isRequired":true,"uniqueKey":"data.withdrawal_sweep.last_swept_validator_index","typeLabel":"integer"},"estimated_sweep_delay":{"oneOf":[{"type":"integer","minimum":0,"description":"Estimated maximum time, in seconds, before a newly submitted and valid withdrawal is processed\nunder typical network conditions.\n\nSince the Electra (a.k.a. Pectra) hardfork, the sweep queue shares capacity with the partial\nwithdrawal queue in an up to 50:50 split. In the theoretical worst case where the partial queue\nis fully utilized, the actual maximum sweep delay may be up to **double** this value.\n\nThis estimate represents the time required for the sweep \"clock hand\" to make a full rotation\nassuming full sweep capacity. Actual processing time may be shorter or (in rare cases) longer,\ndepending on concurrent partial withdrawal activity.\n","uniqueKey":"data.withdrawal_sweep.estimated_sweep_delay.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Estimated maximum time, in seconds, before a newly submitted and valid withdrawal is processed\nunder typical network conditions.\n\nSince the Electra (a.k.a. Pectra) hardfork, the sweep queue shares capacity with the partial\nwithdrawal queue in an up to 50:50 split. In the theoretical worst case where the partial queue\nis fully utilized, the actual maximum sweep delay may be up to **double** this value.\n\nThis estimate represents the time required for the sweep \"clock hand\" to make a full rotation\nassuming full sweep capacity. Actual processing time may be shorter or (in rare cases) longer,\ndepending on concurrent partial withdrawal activity.\n","uniqueKey":"data.withdrawal_sweep.estimated_sweep_delay.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.withdrawal_sweep.estimated_sweep_delay","typeLabel":"integer | null"}},"required":["last_swept_validator_index"],"isRequired":true,"uniqueKey":"data.withdrawal_sweep","typeLabel":"object"},"finality":{"type":"string","description":"Indicates the finality status of the data provided. \n - Finalized data cannot be changed without slashing at least one-third of all validators, providing strong economic guarantees.\n - Data marked as not_finalized does not have this guarantee and may still change.\n","enum":["not_finalized"],"isRequired":true,"uniqueKey":"data.finality","typeLabel":"enum\u003cstring>"}},"required":["deposit_queue","exit_queue","withdrawal_sweep","finality"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"description":"Response containing basic information about the queue.\n\n**Removed:** this legacy schema was retired on 2026-07-02. Requests for it (`Accept: application/vnd.beaconcha.in.v2+json`) receive `410 Gone`. Select v2.1 in the **Content-Type dropdown** above for the current schema.\n","required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"deposit_queue":{"churn":"\u003cstring>","deposit_count":1,"balance":"\u003cstring>","estimated_processed_at":1},"exit_queue":{"churn":"\u003cstring>","count":1,"balance":"\u003cstring>","estimated_processed_at":1},"withdrawal_sweep":{"last_swept_validator_index":123,"estimated_sweep_delay":1},"finality":"not_finalized"}}}},"exampleType":"generated"}},"exampleType":"generated"},"f946d2e5-25fa-409b-9db0-98a4a9644c65":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Bad request. Please check your input and try again."},"examples":{"Example":{"title":"Example","value":{"error":"Bad request. Please check your input and try again."}}},"exampleType":"examples"}},"exampleType":"examples"},"224bba35-9276-4c9b-9ff1-c8348400787e":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Unauthorized. Please provide a valid API key."},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized. Please provide a valid API key."}}},"exampleType":"examples"}},"exampleType":"examples"},"c8041682-0208-4b03-8c76-5dc973a430ef":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"endpoint not allowed for your subscription tier. upgrade your subscription at https://beaconcha.in/pricing."},"examples":{"Example":{"title":"Example","value":{"error":"endpoint not allowed for your subscription tier. upgrade your subscription at https://beaconcha.in/pricing."}}},"exampleType":"examples"}},"exampleType":"examples"},"f1695986-b44b-4d6c-b13b-d80e0dce40e3":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"The requested resource was not found."},"examples":{"Example":{"title":"Example","value":{"error":"The requested resource was not found."}}},"exampleType":"examples"}},"exampleType":"examples"},"c5a30061-3c6c-4c2f-ac4c-4918614f64fb":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"method not allowed: GET. all public API endpoints use POST."},"examples":{"Example":{"title":"Example","value":{"error":"method not allowed: GET. all public API endpoints use POST."}}},"exampleType":"examples"}},"exampleType":"examples"},"761a0e5a-feb0-4667-a85a-d5c8d774644c":{"description":"Rate Limit Exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Rate limit exceeded. Please try again later."},"examples":{"Example":{"title":"Example","value":{"error":"Rate limit exceeded. Please try again later."}}},"exampleType":"examples"}},"exampleType":"examples"},"e65c5cdd-6c7d-4fce-9fcd-1be9ae4cd564":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"internal server error. please try again later."},"examples":{"Example":{"title":"Example","value":{"error":"internal server error. please try again later."}}},"exampleType":"examples"}},"exampleType":"examples"},"f548e1e0-dabc-4d39-a063-9de9735359fc":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"An unexpected error occurred."},"examples":{"Example":{"title":"Example","value":{"error":"An unexpected error occurred."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e0f71b8f-ce4e-47ec-a449-3f4991045d07":{"ApiKeyAuth":{"type":"http","scheme":"bearer","description":"Authorization header with value: Bearer YOUR_TOKEN. Refer to the [API Keys](/api/overview#api-keys) section to create your API key.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"68600598-006f-4d78-a840-93daacf4d3c9":{"url":"https://beaconcha.in","description":"Production API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Authorization header with value: Bearer YOUR_TOKEN. Refer to the [API Keys](/api/overview#api-keys) section to create your API key.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authorization header with value: Bearer YOUR_TOKEN. Refer to the [API Keys](/api/overview#api-keys) section to create your API key.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKeyAuth","name":"Authorization"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"v3/bundled.yaml"},"subdomain":"bitflyexplorergmbh","siteName":"Knowledge Base","title":"Network Queue Overview - Knowledge Base","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T15:58:46.310Z","originalFileLocation":"api-reference/ethereum/queues.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is. Use case guide: Queue tracking explains how to choose between network and validator queue views, estimate wait times, and measure staking flows. The estimated_processed_at field in each queue always refers to the very last item in the network queue (i.e. when the entire queue will be fully processed). For per-validator queue details, use: - /api/v2/ethereum/validators/queues — overview per validator ### Deprecation Notice The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with Accept: application/vnd.beaconcha.in.v2+json receive 410 Gone; all other requests receive the v2.1 schema shown in the response section below.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Knowledge Base\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Network Queue Overview - Knowledge Base\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is. Use case guide: Queue tracking explains how to choose between network and validator queue views, estimate wait times, and measure staking flows. The estimated_processed_at field in each queue always refers to the very last item in the network queue (i.e. when the entire queue will be fully processed). For per-validator queue details, use: - /api/v2/ethereum/validators/queues — overview per validator ### Deprecation Notice The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with Accept: application/vnd.beaconcha.in.v2+json receive 410 Gone; all other requests receive the v2.1 schema shown in the response section below.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Knowledge Base\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.beaconcha.in/api-reference/ethereum/queues\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bitflyexplorergmbh.mintlify.site/_mintlify/api/og/v2?division=Queues\u0026amp;title=Network+Queue+Overview\u0026amp;description=Returns+information+about+the+various+staking-related+queues+%28deposit%2C+exit%2C+full+withdrawal%2C+consolidation%2C+compounding+switch%29+and+how+long+the+expected+wait+\u0026amp;theme=c14562316d6a3e9c72fac136\u0026amp;signature=dc3f5e48e2ce4b25814e8709de1e40594365accf98dc241eff6c854fa11a405e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Network Queue Overview - Knowledge Base\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is. Use case guide: Queue tracking explains how to choose between network and validator queue views, estimate wait times, and measure staking flows. The estimated_processed_at field in each queue always refers to the very last item in the network queue (i.e. when the entire queue will be fully processed). For per-validator queue details, use: - /api/v2/ethereum/validators/queues — overview per validator ### Deprecation Notice The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with Accept: application/vnd.beaconcha.in.v2+json receive 410 Gone; all other requests receive the v2.1 schema shown in the response section below.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bitflyexplorergmbh.mintlify.site/_mintlify/api/og/v2?division=Queues\u0026amp;title=Network+Queue+Overview\u0026amp;description=Returns+information+about+the+various+staking-related+queues+%28deposit%2C+exit%2C+full+withdrawal%2C+consolidation%2C+compounding+switch%29+and+how+long+the+expected+wait+\u0026amp;theme=c14562316d6a3e9c72fac136\u0026amp;signature=dc3f5e48e2ce4b25814e8709de1e40594365accf98dc241eff6c854fa11a405e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/bitflyexplorergmbh/ql_f-FKhQdaMtpRp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Knowledge Base\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2f6bff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.beaconcha.in/api-reference/ethereum/queues\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/ethereum/queues.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.beaconcha.in/#organization\",\"name\":\"Knowledge Base\",\"url\":\"https://docs.beaconcha.in\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bitflyexplorergmbh/mis7Gg5q4_j4hzka/images/logo_light.transparent.png?fit=max\u0026auto=format\u0026n=mis7Gg5q4_j4hzka\u0026q=85\u0026s=f4937b576e7c0255ffe22197eafc93e9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.beaconcha.in#website\",\"name\":\"Knowledge Base\",\"url\":\"https://docs.beaconcha.in\",\"publisher\":{\"@id\":\"https://docs.beaconcha.in/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.beaconcha.in/api-reference/ethereum/queues#webpage\",\"url\":\"https://docs.beaconcha.in/api-reference/ethereum/queues\",\"name\":\"Network Queue Overview\",\"description\":\"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is. Use case guide: Queue tracking explains how to choose between network and validator queue views, estimate wait times, and measure staking flows. The estimated_processed_at field in each queue always refers to the very last item in the network queue (i.e. when the entire queue will be fully processed). For per-validator queue details, use: - /api/v2/ethereum/validators/queues — overview per validator ### Deprecation Notice The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with Accept: application/vnd.beaconcha.in.v2+json receive 410 Gone; all other requests receive the v2.1 schema shown in the response section below.\",\"dateModified\":\"2026-11-03T15:58:46.310Z\",\"isPartOf\":{\"@id\":\"https://docs.beaconcha.in#website\"},\"breadcrumb\":{\"@id\":\"https://docs.beaconcha.in/api-reference/ethereum/queues#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.beaconcha.in/api-reference/ethereum/queues#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"V2 API Docs\",\"item\":\"https://docs.beaconcha.in/api/ai-integration\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Network\",\"item\":\"https://docs.beaconcha.in/api-reference/ethereum/entities/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Network Queue Overview\",\"item\":\"https://docs.beaconcha.in/api-reference/ethereum/queues\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.beaconcha.in/api-reference/ethereum/queues#apireference\",\"headline\":\"Network Queue Overview\",\"name\":\"Network Queue Overview\",\"description\":\"Returns information about the various staking-related queues (deposit, exit, full withdrawal, consolidation, compounding switch) and how long the expected wait time is. Use case guide: Queue tracking explains how to choose between network and validator queue views, estimate wait times, and measure staking flows. The estimated_processed_at field in each queue always refers to the very last item in the network queue (i.e. when the entire queue will be fully processed). For per-validator queue details, use: - /api/v2/ethereum/validators/queues — overview per validator ### Deprecation Notice The legacy v2 schema was sunset on 02.07.2026 23:59:59 UTC. Requests that ask for the legacy schema with Accept: application/vnd.beaconcha.in.v2+json receive 410 Gone; all other requests receive the v2.1 schema shown in the response section below.\",\"url\":\"https://docs.beaconcha.in/api-reference/ethereum/queues\",\"mainEntityOfPage\":{\"@id\":\"https://docs.beaconcha.in/api-reference/ethereum/queues#webpage\"},\"dateModified\":\"2026-11-03T15:58:46.310Z\",\"publisher\":{\"@id\":\"https://docs.beaconcha.in/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.beaconcha.in#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Knowledge Base\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Knowledge Base","nav":{"global":null,"tabs":[{"tab":"API Docs","icon":"code","groups":[{"group":"Introduction","pages":[{"title":"Getting Started","href":"/api/overview"}]},{"group":"V2 API Docs","pages":[{"group":"Guides","expanded":true,"pages":[{"title":"AI Integration","href":"/api/ai-integration"},{"title":"Migrating from V1 to V2 API","href":"/api/v1-to-v2-migration"},{"title":"Glamsterdam API (experimental)","href":"/api/glamsterdam"},{"title":"Pagination","href":"/api/pagination"},{"title":"Understanding Rate Limits","href":"/api/rate-limits"},{"title":"API Error Messages","href":"/api/error-handling"},{"title":"Account Management FAQ","href":"/api/account-management"},{"title":"Dashboard management and data API","href":"/api/dashboard"}]},{"group":"Use Cases","expanded":true,"pages":[{"title":"Overview","href":"/use-cases/introduction"},{"group":"Calculate Validator Rewards","expanded":false,"pages":[{"title":"Introduction","href":"/use-cases/rewards-introduction"},{"title":"Custom Range Rewards","href":"/use-cases/rewards-custom-range"},{"title":"Tax Year Calculations","href":"/use-cases/rewards-tax-calculations"},{"title":"Dashboard as Private Sets","href":"/use-cases/rewards-dashboard-private-sets"},{"title":"Epoch \u0026 Time Zone Conversion","href":"/use-cases/rewards-epoch-conversion"}]},{"group":"Entity benchmarking","expanded":false,"pages":[{"title":"Introduction","href":"/use-cases/entity-benchmarking-overview"},{"title":"Rank and Compare Entities","href":"/use-cases/rank-and-compare-entities"},{"title":"Benchmark Entity vs Network","href":"/use-cases/benchmark-entity-vs-network"},{"title":"Private Entity Benchmarking with Dashboards","href":"/use-cases/private-entity-benchmarking-with-dashboard"}]},{"group":"Monitor Validator Performance","expanded":false,"pages":[{"title":"Introduction","href":"/use-cases/performance-introduction"},{"title":"Embed BeaconScore® in Your Product","href":"/use-cases/embed-beaconscore"},{"title":"Analyze Missed Rewards","href":"/use-cases/missed-rewards"},{"title":"APY \u0026 ROI Metrics","href":"/use-cases/apy-roi"}]},{"group":"MEV analysis","expanded":false,"pages":[{"title":"Introduction","href":"/use-cases/mev-analysis-introduction"},{"title":"Compare MEV Timing","href":"/use-cases/compare-mev-timing"},{"title":"Investigate a Block","href":"/use-cases/investigate-mev-block"}]},{"group":"Track Queues \u0026 Operations","expanded":false,"pages":[{"title":"Introduction","href":"/use-cases/queue-tracking"},{"title":"Estimate Queue Wait Times","href":"/use-cases/queue-wait-times"},{"title":"Track Staking Inflows \u0026 Outflows","href":"/use-cases/staking-inflows-outflows"}]}]},{"group":"Network","expanded":true,"pages":[{"group":"Staking Entities","expanded":true,"pages":[{"title":"💎 Overview","deprecated":null,"version":null,"sidebarTitle":"Overview","openapi":"/v3/bundled.yaml post /api/v2/ethereum/entities","href":"/api-reference/ethereum/entities/overview"},{"title":"💎 Sub Entities","deprecated":null,"version":null,"sidebarTitle":"Sub entities","openapi":"/v3/bundled.yaml post /api/v2/ethereum/entity/sub-entities","href":"/api-reference/ethereum/entity/sub-entities"},{"title":"💎 MEV Timing","deprecated":null,"version":null,"sidebarTitle":"Mev timing","openapi":"/v3/bundled.yaml post /api/v2/ethereum/entity/mev-timing","href":"/api-reference/ethereum/entity/mev-timing"},{"title":"💎 Proposal Timing","deprecated":null,"version":null,"sidebarTitle":"Proposal Timing","tag":"Experimental","openapi":"/v3/bundled.yaml post /api/v2/ethereum/entity/proposal-timing","href":"/api-reference/ethereum/entity/proposal-timing"}]},{"group":"Overviews","expanded":true,"pages":[{"title":"Explorer State","deprecated":null,"version":null,"sidebarTitle":"State","openapi":"/v3/bundled.yaml post /api/v2/ethereum/state","href":"/api-reference/ethereum/state"},{"title":"Validator","deprecated":null,"version":null,"sidebarTitle":"Validators","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators","href":"/api-reference/ethereum/validators"},{"title":"💎 Validator Metadata","deprecated":null,"version":null,"sidebarTitle":"💎 Validator Metadata","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/metadata","href":"/api-reference/ethereum/validators/metadata"},{"title":"Validator Statuses","deprecated":null,"version":null,"sidebarTitle":"Validator statuses","openapi":"/v3/bundled.yaml post /api/v2/ethereum/state/validator-statuses","href":"/api-reference/ethereum/state/validator-statuses"},{"title":"Epoch","deprecated":null,"version":null,"sidebarTitle":"Epoch","openapi":"/v3/bundled.yaml post /api/v2/ethereum/epoch","href":"/api-reference/ethereum/epoch/overview"},{"title":"Slot","deprecated":null,"version":null,"sidebarTitle":"Slot","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot","href":"/api-reference/ethereum/slot/overview"},{"title":"Block","deprecated":null,"version":null,"sidebarTitle":"Block","openapi":"/v3/bundled.yaml post /api/v2/ethereum/block","href":"/api-reference/ethereum/block/overview"}]},{"group":"Deposits","expanded":true,"pages":[{"title":"Deposits","deprecated":null,"version":null,"sidebarTitle":"Slot Deposits","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot/deposits","href":"/api-reference/ethereum/deposits"},{"title":"Deposit Slots","deprecated":null,"version":null,"sidebarTitle":"Validator Deposit Slots","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/deposit-slots","href":"/api-reference/ethereum/validators/deposit-slots"}]},{"group":"Withdrawals","expanded":true,"pages":[{"title":"Withdrawals","deprecated":null,"version":null,"sidebarTitle":"Slot Withdrawals","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot/withdrawals","href":"/api-reference/ethereum/withdrawals"},{"title":"Withdrawal Slots","deprecated":null,"version":null,"sidebarTitle":"Validator Withdrawal Slots","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/withdrawal-slots","href":"/api-reference/ethereum/validators/withdrawal-slots"}]},{"group":"Consolidations","expanded":true,"pages":[{"title":"Consolidations","deprecated":null,"version":null,"sidebarTitle":"Slot Consolidations","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot/consolidations","href":"/api-reference/ethereum/consolidations"},{"title":"Validator Queue Consolidation Details","deprecated":null,"version":null,"sidebarTitle":"Validator Queue Consolidation Details","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/queues/consolidations","href":"/api-reference/ethereum/validators/queues/consolidations"},{"title":"Validator Queue Compounding Switch Details","deprecated":null,"version":null,"sidebarTitle":"Validator Queue Compounding Switch Details","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/queues/compounding-switches","href":"/api-reference/ethereum/validators/queues/compounding-switches"}]},{"group":"Sync Committee","expanded":true,"pages":[{"title":"Sync Committee Periods","deprecated":null,"version":null,"sidebarTitle":"Sync Committee Periods","openapi":"/v3/bundled.yaml post /api/v2/ethereum/sync-committee","href":"/api-reference/ethereum/sync-committee/overview"},{"title":"Validators","description":"Returns the validators in the sync committee for a particular sync period, one entry per validator, ordered by validator index. Each entry's `sync_committee_indices` holds the validator's positions in the committee, which give the committee order.\n\nEach validator has one vote per slot of the period. A vote counts as `successful` or `missed` once its epoch is finalized and processed; until then it is `scheduled`. A slot without a block takes the vote away from every member: it is left out of `assigned` and `missed` and counted only in `missed_including_missed_slots`.\n\nThe committee of the next period (view `next`) is known from the start of the current period. Its duties are all still scheduled: `assigned` and `scheduled` equal the number of slots in the period, and the other counts are 0.\n\nYou can combine this endpoint with:\n- Sync Committee Period Overview: \n [v2/ethereum/sync-committee](/api-reference/ethereum/sync-committee/overview)\n\nResponse can be filtered to a specific set of validators by providing optional **validator** identifiers in the request body. \n","deprecated":null,"version":null,"sidebarTitle":"Validators","openapi":"/v3/bundled.yaml post /api/v2/ethereum/sync-committee/validators","href":"/api-reference/ethereum/sync-committee/validators"}]},{"group":"Queues","expanded":true,"pages":[{"title":"Network Queue Overview","deprecated":null,"version":null,"sidebarTitle":"Network Queue Overview","openapi":"/v3/bundled.yaml post /api/v2/ethereum/queues","href":"/api-reference/ethereum/queues"},{"title":"Staking Queues History","description":"Returns a history of the staking queue sizes — how much ETH is waiting to enter and leave staking over time. Each entry is a snapshot of the staking queues at one epoch.\n\nHistory begins at the Pectra fork (7 May 2025), which is where the queues themselves begin: the pending deposit, consolidation and partial-withdrawal queues are Pectra state fields, so there is nothing to report before it. How far back a given request reaches also depends on `granularity` — `epoch` resolution is currently available for a shorter, more recent span than `daily`. See that field for the exact start points and how out-of-range requests are handled.\n\nAn epoch with no usable snapshot is omitted from the series rather than returned as an empty entry, so entries are not guaranteed to be evenly spaced. Read `epoch` and `timestamp` on each entry rather than inferring them from position.\n\nEach entry covers the four queues the snapshot records. The `withdrawal_sweep` and `compounding_switch_queue` entries of the live endpoint have no historical counterpart and are not returned here.\n\nFor the current point-in-time queue state, see [/api/v2/ethereum/queues](/api-reference/ethereum/queues).\n","deprecated":null,"version":null,"sidebarTitle":"Staking Queues History","openapi":"/v3/bundled.yaml post /api/v2/ethereum/queues/history","href":"/api-reference/ethereum/queues/history"},{"title":"Validator Queue ETA","deprecated":null,"version":null,"sidebarTitle":"Validator Queue ETA","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/queues","href":"/api-reference/ethereum/validators/queues"},{"title":"Withdrawal \u0026 Consolidation Request Fees","deprecated":null,"version":null,"sidebarTitle":"Withdrawal \u0026 Consolidation Fees","openapi":"/v3/bundled.yaml post /api/v2/ethereum/queues/request-fees","href":"/api-reference/ethereum/queues/request-fees"},{"title":"Withdrawal \u0026 Consolidation Request Fees (Current)","deprecated":null,"version":null,"sidebarTitle":"Withdrawal \u0026 Consolidation Fees (Current)","openapi":"/v3/bundled.yaml post /api/v2/ethereum/queues/request-fees/current","href":"/api-reference/ethereum/queues/request-fees/current"}]},{"group":"Statistics","expanded":true,"pages":[{"title":"Network Performance","deprecated":null,"version":null,"sidebarTitle":"Performance aggregate","openapi":"/v3/bundled.yaml post /api/v2/ethereum/performance-aggregate","href":"/api-reference/ethereum/performance-aggregate"},{"title":"Network MEV Timing","deprecated":null,"version":null,"sidebarTitle":"Mev timing","openapi":"/v3/bundled.yaml post /api/v2/ethereum/mev-timing","href":"/api-reference/ethereum/mev-timing"},{"title":"ETH.STORE®","deprecated":null,"version":null,"sidebarTitle":"ETH.STORE®","openapi":"/v3/bundled.yaml post /api/v2/ethereum/eth-store","href":"/api-reference/ethereum/eth-store"}]}]},{"group":"Validator Metrics","expanded":true,"pages":[{"group":"BeaconScore® \u0026 Performance","expanded":true,"pages":[{"title":"Performance Aggregated","deprecated":null,"version":null,"sidebarTitle":"Performance aggregate","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/performance-aggregate","href":"/api-reference/ethereum/validators/performance-aggregate"},{"title":"Performance","deprecated":null,"version":null,"sidebarTitle":"Performance list","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/performance-list","href":"/api-reference/ethereum/validators/performance-list"},{"title":"APY \u0026 ROI","deprecated":null,"version":null,"sidebarTitle":"APY \u0026 ROI","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/apy-roi","href":"/api-reference/ethereum/validators/apy-roi"}]},{"group":"Rewards \u0026 Balances","expanded":true,"pages":[{"title":"Rewards Aggregated","deprecated":null,"version":null,"sidebarTitle":"Rewards aggregate","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/rewards-aggregate","href":"/api-reference/ethereum/validators/rewards-aggregate"},{"title":"Rewards","deprecated":null,"version":null,"sidebarTitle":"Rewards list","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/rewards-list","href":"/api-reference/ethereum/validators/rewards-list"},{"title":"Validator Balance","deprecated":null,"version":null,"sidebarTitle":"Balances","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/balances","href":"/api-reference/ethereum/validators/balances"}]},{"group":"MEV \u0026 Proposal Timing","expanded":true,"pages":[{"title":"MEV Timing Aggregate","deprecated":null,"version":null,"sidebarTitle":"Mev timing aggregate","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/mev-timing-aggregate","href":"/api-reference/ethereum/validators/mev-timing-aggregate"},{"title":"Proposal Timing Aggregate","deprecated":null,"version":null,"sidebarTitle":"Proposal Timing Aggregate","tag":"Experimental","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/proposal-timing-aggregate","href":"/api-reference/ethereum/validators/proposal-timing-aggregate"}]}]},{"group":"Validator Duties","expanded":true,"pages":[{"group":"Attestation Duties","expanded":true,"pages":[{"title":"Attestation Slots","deprecated":null,"version":null,"sidebarTitle":"Attestation slots","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/attestation-slots","href":"/api-reference/ethereum/validators/attestation-slots"},{"title":"Rewards","deprecated":null,"version":null,"sidebarTitle":"Rewards","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot/attestation-duties","href":"/api-reference/ethereum/slot/attestation-duties"}]},{"group":"Block Duties","expanded":true,"pages":[{"title":"Proposal Slots","deprecated":null,"version":null,"sidebarTitle":"Proposal slots","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/proposal-slots","href":"/api-reference/ethereum/validators/proposal-slots"},{"title":"Details","deprecated":null,"version":null,"sidebarTitle":"Rewards","openapi":"/v3/bundled.yaml post /api/v2/ethereum/block/rewards","href":"/api-reference/ethereum/block/rewards"},{"title":"MEV Timing","deprecated":null,"version":null,"sidebarTitle":"Mev timing","openapi":"/v3/bundled.yaml post /api/v2/ethereum/block/mev-timing","href":"/api-reference/ethereum/block/mev-timing"},{"title":"💎 MEV Bids","deprecated":null,"version":null,"sidebarTitle":"Mev bids","openapi":"/v3/bundled.yaml post /api/v2/ethereum/block/mev-bids","href":"/api-reference/ethereum/block/mev-bids"}]},{"group":"Sync Committee Duties","expanded":true,"pages":[{"title":"Sync Committee Periods","deprecated":null,"version":null,"sidebarTitle":"Sync committee periods","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/sync-committee-periods","href":"/api-reference/ethereum/validators/sync-committee-periods"},{"title":"Rewards","deprecated":null,"version":null,"sidebarTitle":"Rewards","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot/sync-committee-duties","href":"/api-reference/ethereum/slot/sync-committee-duties"}]},{"group":"Payload Timeliness Duties","expanded":true,"pages":[{"title":"PTC Slots","deprecated":null,"version":null,"sidebarTitle":"PTC Slots","tag":"Experimental","openapi":"/v3/bundled.yaml post /api/v2/ethereum/validators/ptc-slots","href":"/api-reference/ethereum/validators/ptc-slots"},{"title":"PTC Duties","deprecated":null,"version":null,"sidebarTitle":"PTC Duties","tag":"Experimental","openapi":"/v3/bundled.yaml post /api/v2/ethereum/slot/ptc-duties","href":"/api-reference/ethereum/slot/ptc-duties"}]}]},{"group":"Validator Dashboard Management","expanded":false,"pages":[{"title":"Introduction","href":"/validator-dashboard/manage-validators-api"},{"title":"Manage dashboard validators","openapi":".gitbook/assets/API_spec.json POST /api/v2/validator-dashboards/{dashboard_id}/validators","deprecated":false,"version":"1.0","href":"/validator-dashboard/manage-validators-api-endpoints/validators_post"},{"title":"Delete validators from groups","openapi":".gitbook/assets/API_spec.json DELETE /api/v2/validator-dashboards/{dashboard_id}/groups/{group_id}/validators","deprecated":false,"version":"1.0","href":"/validator-dashboard/manage-validators-api-endpoints/groups_delete"},{"title":"Bulk delete validators from a dashboard","openapi":".gitbook/assets/API_spec.json POST /api/v2/validator-dashboards/{dashboard_id}/validators/bulk-deletions","deprecated":false,"version":"1.0","href":"/validator-dashboard/manage-validators-api-endpoints/validators_bulk_delete_post"}]},{"group":"Machine Metrics","expanded":true,"pages":[{"title":"Machine Metrics","sidebarTitle":"Overview","href":"/api/machine-metrics-overview"},{"title":"Submit Machine Metrics","sidebarTitle":"Submit Machine Metrics","openapi":"api/v1/bundled.yaml POST /api/v1/client/metrics","href":"/api-reference/v1/client/metrics"},{"title":"Machine Metrics","deprecated":null,"version":null,"sidebarTitle":"Machine Metrics","openapi":"/v3/bundled.yaml post /api/v2/machine-metrics","href":"/api-reference/machine-metrics"},{"title":"Machine Names","deprecated":null,"version":null,"sidebarTitle":"Machine Names","openapi":"/v3/bundled.yaml post /api/v2/machine-metrics/machine-names","href":"/api-reference/machine-metrics/machine-names"}]}]},{"group":"V1 API Docs","tag":"Legacy","pages":[{"title":"V1 API Overview","href":"/api/v1-overview"},{"group":"Consensus Layer","expanded":true,"pages":[{"group":"Slots","pages":[{"title":"Attestations for a slot","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/slot/{slot}/attestations","href":"/api-reference/slots/attestations-for-a-slot"},{"title":"Attester slashings for a slot","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/slot/{slot}/attesterslashings","href":"/api-reference/slots/attester-slashings-for-a-slot"},{"title":"Proposer slashings","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/slot/{slot}/proposerslashings","href":"/api-reference/slots/proposer-slashings"},{"title":"Voluntary exits for a slot","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/slot/{slot}/voluntaryexits","href":"/api-reference/slots/voluntary-exits-for-a-slot"}]},{"group":"Validators","pages":[{"title":"BLS-to-execution credential changes","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/validator/{indexOrPubkey}/blsChange","href":"/api-reference/validators/bls-to-execution-credential-changes"},{"title":"Validator deposits (execution layer)","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/validator/{indexOrPubkey}/deposits","href":"/api-reference/validators/validator-deposits-execution-layer"},{"title":"Proposal luck","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/validators/proposalLuck","href":"/api-reference/validators/proposal-luck"},{"title":"Deposits by execution transaction hash","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/eth1deposit/{txhash}","href":"/api-reference/validator-deposits/deposits-by-execution-transaction-hash"}]}]},{"group":"Execution Layer","expanded":true,"pages":[{"group":"Blocks \u0026 MEV Rewards","pages":[{"title":"Execution blocks produced by fee recipient, proposer index, or pubkey","deprecated":null,"version":null,"openapi":"/api/v1/bundled.yaml get /api/v1/execution/{addressIndexOrPubkey}/produced","href":"/api-reference/blocks/execution-blocks-produced-by-fee-recipient-proposer-index-or-pubkey"}]}]}]}],"global":{"anchors":[{"anchor":"API Pricing","icon":"gem","color":{"light":"#2f6bff","dark":"#4d87ff"},"href":"https://beaconcha.in/pricing"}]}},{"tab":"Documentation","icon":"book","pages":[{"title":"Documentation","href":"/welcome"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog/product-updates"}]},{"tab":"Legal","icon":"file-text","pages":[{"title":"Legal","href":"/legal/terms"}]}]},"basePath":"","title":"Network Queue Overview - Knowledge Base","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}