The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.
The op-node request-response (Req/Res) consensus-layer (CL) P2P sync client is being deprecated in favor of syncing through the execution layer (EL) client.This change simplifies op-node configuration, removes fragile sync logic, and relies on the execution client’s native P2P sync, which is the more battle-tested path.
The Req/Res CL P2P sync client in op-node is deprecated.
op-node should rely on its connected EL node, such as op-geth or op-reth, to reach the chain tip in the presence of gaps between local state and chain tip received over gossip.
Operators should ensure their EL nodes have healthy P2P connectivity and enough peers to sync independently.
If you still explicitly set --syncmode.req-resp=true, plan to remove that override.
The Req/Res server path, which kept serving payloads to older nodes, has since been removed as well. --p2p.sync.req-resp is now a deprecated no-op flag and can be dropped from your configuration.
Move away from the deprecated Req/Res client path and rely on EL syncing.
Ensure your EL node has healthy P2P connectivity.
Remove any explicit --syncmode.req-resp=true override unless you need temporary backward compatibility.
If you are running an older release where Req/Res is still enabled by default, set --syncmode.req-resp=false to opt into the new behavior now.
Once the Req/Res client path is fully removed, nodes with unhealthy EL peer connectivity may fail to catch up to the unsafe tip.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Optimism Documentation","colors":{"primary":"#FF0420","light":"#FF0420","dark":"#FF0420"},"logo":{"light":"https://mintcdn.com/optimism-373f39ad/Vw5vY8zA-CRjBsUF/public/logos/Lockup_docs_dark.svg?fit=max\u0026auto=format\u0026n=Vw5vY8zA-CRjBsUF\u0026q=85\u0026s=a1ab18aecbec09fe5ad40222ce76f00c","dark":"https://mintcdn.com/optimism-373f39ad/Vw5vY8zA-CRjBsUF/public/logos/Lockup_docs_light.svg?fit=max\u0026auto=format\u0026n=Vw5vY8zA-CRjBsUF\u0026q=85\u0026s=edf965cc513f1a46b1897e2a6494b43b"},"favicon":"https://mintcdn.com/optimism-373f39ad/x8TXRvd2PF-Wx1yv/public/favicon.png?fit=max\u0026auto=format\u0026n=x8TXRvd2PF-Wx1yv\u0026q=85\u0026s=7b7a602bd267ee638c0167179f41737c","navbar":{"links":[{"href":"https://www.optimism.io/blog","label":"Blog"},{"href":"https://github.com/ethereum-optimism/optimism/tree/develop/docs/public-docs","label":"GitHub"}]},"footer":{"socials":{"twitter":"https://twitter.com/optimism","github":"https://github.com/ethereum-optimism"}},"seo":{"metatags":{"canonical":"https://docs.optimism.io/","og:title":"Optimism Documentation","og:type":"website","twitter:card":"summary_large_image"}},"integrations":{"mixpanel":{"projectToken":"807e42c62989ff12427a35baa12b6218"}},"contextual":{"options":["copy","chatgpt","claude","mcp"],"display":"header"},"thumbnails":{"preset":"classic","appearance":"dark","surface":"neutral","background":"https://mintcdn.com/optimism-373f39ad/ZyL9bbNrDzMQhMLM/public/img/thumbnail-bg.png?fit=max\u0026auto=format\u0026n=ZyL9bbNrDzMQhMLM\u0026q=85\u0026s=5baf50afc7e4f4e6288de49b3df19d52","fonts":{"family":"Riforma LL","source":"public/fonts/RiformaLL-Regular.woff","format":"woff"},"eyebrow":{"source":"none"}},"interaction":{"drilldown":false},"metadata":{"timestamp":false},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"signal-bars","href":"https://status.optimism.io"},{"anchor":"Faucet","icon":"gas-pump","href":"https://console.optimism.io/faucet"},{"anchor":"Bridge","icon":"bridge-water","href":"https://app.optimism.io/bridge/deposit"}]},"languages":[{"language":"en","href":""},{"language":"ko","href":"ko"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"optimism-373f39ad","hasAudioNarration":false,"actualSubdomain":"optimism-373f39ad","customDomains":["docs.optimism.io"],"gitSource":{"type":"github","owner":"ethereum-optimism","repo":"optimism","deployBranch":"develop","contentDirectory":"docs/public-docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":false,"edits":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af39af52d98d1f633fedda9","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"en","tag":"Reference","count":136},{"language":"ko","tag":"참조","count":136},{"language":"en","tag":"Node Operators","count":119},{"language":"ko","tag":"노드 운영자","count":119},{"language":"en","tag":"Protocol","count":98},{"language":"ko","tag":"프로토콜","count":98},{"language":"en","tag":"Chain Operators","count":75},{"language":"ko","tag":"체인 운영자","count":75},{"language":"en","tag":"op-reth","count":74},{"language":"ko","tag":"op-reth","count":74},{"language":"en","tag":"op-reth CLI reference","count":73},{"language":"ko","tag":"op-reth CLI reference","count":73},{"language":"en","tag":"App Developers","count":68},{"language":"ko","tag":"앱 개발자","count":68},{"language":"en","tag":"Guides","count":52},{"language":"ko","tag":"가이드","count":52},{"language":"en","tag":"Tutorials","count":42},{"language":"ko","tag":"튜토리얼","count":42},{"language":"en","tag":"How the protocol works","count":41},{"language":"ko","tag":"프로토콜 작동 방식","count":41}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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}],"googleFontsInlined":false},"customCss":[{"filePath":"styles/homepage.css","content":"@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Heavy.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-HeavyItalic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}body,.nx-prose,.nx-prose p,.nx-prose h1,.nx-prose h2,.nx-prose h3,.nx-prose h4,.nx-prose h5,.nx-prose h6{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif!important}[data-page-id=\"index\"]{max-width:1400px!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}[data-page-id=\"index\"] h1{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif!important;font-size:3rem!important;font-weight:700!important;line-height:1.1!important;margin-bottom:1rem!important;margin-top:0!important;padding-top:0!important;color:#111827!important;letter-spacing:-0.02em!important;max-width:100%!important}html[class*=\"dark\"] [data-page-id=\"index\"] h1{color:#f9fafb!important}[data-page-id=\"index\"]>p:first-of-type,[data-page-id=\"index\"] h1+p{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif!important;font-size:1.25rem!important;line-height:1.6!important;color:#6b7280!important;margin-bottom:2rem!important;margin-top:0!important;max-width:100%!important}html[class*=\"dark\"] [data-page-id=\"index\"]>p:first-of-type,html[class*=\"dark\"] [data-page-id=\"index\"] h1+p{color:#9ca3af!important}[data-page-id=\"index\"] .nx-prose{padding-top:0!important;padding-left:0!important;padding-right:0!important;max-width:100%!important}.nx-container{max-width:none!important;padding:0!important;background:transparent!important}[data-page-id=\"index\"] .nx-prose,[data-page-id=\"index\"]>div>div{max-width:100%!important}body{background:#ffffff!important}html[class*=\"dark\"] body{background:#0f172a!important}.nx-bg-gradient-to-r,.nx-bg-gradient-to-l,.nx-bg-gradient-to-t,.nx-bg-gradient-to-b,.nx-bg-gradient-to-br,.nx-bg-gradient-to-bl,.nx-bg-gradient-to-tr,.nx-bg-gradient-to-tl{background:transparent!important}.hero-section{display:flex;align-items:center;justify-content:space-between;min-height:auto;padding:0;margin-bottom:2.5rem;max-width:100%;margin-left:0;margin-right:0;background:transparent}.hero-content{flex:1;max-width:505px}.hero-content h1{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;font-size:2.5rem;font-weight:600;line-height:1.2;margin-bottom:0.75rem;color:#111827;letter-spacing:-0.025em}html[class*=\"dark\"] .hero-content h1{color:#f9fafb}.hero-content p{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;font-size:1.125rem;font-weight:400;line-height:1.6;margin-bottom:1rem;color:#6b7280}html[class*=\"dark\"] .hero-content p{color:#9ca3af}.hero-visual{flex:1;display:flex;justify-content:center;align-items:center}.hero-visual img{max-width:100%;height:auto}.hero-buttons{display:flex;gap:1rem}.btn-primary{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;background-color:#ef4444;color:white;padding:0.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color 0.2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn-primary:hover{background-color:#dc2626;color:white;text-decoration:none}.btn-secondary{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;background-color:transparent;color:#1f2937;padding:0.75rem 1.5rem;border:1px solid #d1d5db;border-radius:6px;font-weight:500;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af;color:#1f2937;text-decoration:none}html[class*=\"dark\"] .btn-secondary{color:#f9fafb;border-color:#4b5563}html[class*=\"dark\"] .btn-secondary:hover{background-color:#374151;border-color:#6b7280;color:#f9fafb}@media (max-width: 768px){.hero-section{flex-direction:column;text-align:center;min-height:auto;padding:2rem 0}.hero-content{padding-right:0;margin-bottom:2rem}.hero-content h1{font-size:1.75rem}.hero-buttons{justify-content:center}}.home-cards{width:100%;margin-bottom:2.5rem;margin-top:0;max-width:100%;margin-left:0;margin-right:0;padding:0}.home-card{display:flex;flex-direction:column;padding:1.75rem;background:transparent;border:1px solid #e2e8f0;border-radius:12px;transition:all 0.2s ease}html[class*=\"dark\"] .home-card{background:#1e293b;border-color:#334155}.home-card .home-card__title{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif!important;font-size:1.5rem!important;font-weight:600!important;margin:0 0 1.5rem 0;color:#0f172a;letter-spacing:-0.01em}html[class*=\"dark\"] .home-card .home-card__title{color:#f1f5f9}.home-card__footer{margin-top:auto;padding-top:1.5rem}.home-card__footer-link{color:#64748b;text-decoration:none;font-size:0.875rem;font-weight:500;transition:color 0.2s ease}.home-card__footer-link:hover{color:#475569;text-decoration:none}html[class*=\"dark\"] .home-card__footer-link{color:#94a3b8}html[class*=\"dark\"] .home-card__footer-link:hover{color:#cbd5e1}.card-list{display:flex;flex-direction:column;gap:0}.card-list-item{display:flex;align-items:flex-start;gap:1rem;padding:0.875rem 0;border-radius:6px;text-decoration:none;color:inherit;transition:all 0.2s ease;border-bottom:1px solid #f1f5f9}.card-list-item:last-child{border-bottom:none}html[class*=\"dark\"] .card-list-item{border-bottom-color:#334155}.card-list-item:hover .card-list-item__title{color:#ef4444}.card-list-item:hover .card-list-item__description{color:#475569}html[class*=\"dark\"] .card-list-item:hover .card-list-item__description{color:#cbd5e1}.card-list-item__number{width:2rem;height:2rem;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:0.875rem;flex-shrink:0;color:#475569}html[class*=\"dark\"] .card-list-item__number{background:#334155;color:#cbd5e1}.card-list-item__content{flex:1}.card-list-item__header{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}.card-list-item__title{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;margin:0;font-size:1rem;font-weight:600;color:#0f172a;transition:color 0.2s ease;letter-spacing:-0.01em}html[class*=\"dark\"] .card-list-item__title{color:#f1f5f9}.card-list-item__description{font-family:'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;margin:0;font-size:0.875rem;color:#64748b;line-height:1.5;transition:color 0.2s ease}html[class*=\"dark\"] .card-list-item__description{color:#94a3b8}.card-list-item__badge{padding:0.25rem 0.75rem;border-radius:16px;font-size:0.75rem;font-weight:600;text-transform:capitalize}.card-list-item__badge--easy{background:#dcfce7;color:#166534}.card-list-item__badge--medium{background:#fef3c7;color:#92400e}.card-list-item__badge--hard{background:#fee2e2;color:#991b1b}html[class*=\"dark\"] .card-list-item__badge--easy{background:#14532d;color:#bbf7d0}html[class*=\"dark\"] .card-list-item__badge--medium{background:#92400e;color:#fef3c7}html[class*=\"dark\"] .card-list-item__badge--hard{background:#991b1b;color:#fecaca}.card-list-item__arrow{color:#cbd5e1;font-size:1.25rem;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;margin-top:0.25rem}.card-list-item:hover .card-list-item__arrow{transform:translateX(4px);color:#ef4444}html[class*=\"dark\"] .card-list-item__arrow{color:#64748b}html[class*=\"dark\"] .card-list-item:hover .card-list-item__arrow{color:#ef4444}.nx-prose:not([data-page-id=\"index\"] .nx-prose){max-width:1400px!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}@media (max-width: 768px){.hero-section{padding:4rem 2rem;flex-direction:column;text-align:center;min-height:auto}.hero-content{margin-bottom:2rem;max-width:none}.home-cards{grid-template-columns:1fr!important;padding:0 2rem}.nx-prose{padding-left:2rem!important;padding-right:2rem!important}.card-list-item__header{flex-direction:column;align-items:flex-start;gap:0.5rem}}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Heavy.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-HeavyItalic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Riforma LL';src:url('/fonts/RiformaLL-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}img[alt*=\"logo\"],.nx-logo img,nav img,header img[src*=\"logo\"],a[href=\"/\"] img{max-height:13px!important;width:auto!important;height:13px!important}:root{--font-riforma: 'Riforma LL', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;--font-mono: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}body{font-family:var(--font-riforma)!important}html,body,.nx-prose,.nx-prose p,.nx-prose h1,.nx-prose h2,.nx-prose h3,.nx-prose h4,.nx-prose h5,.nx-prose h6,.nx-prose li,.nx-prose td,.nx-prose th,.nx-prose blockquote,div:not([class*=\"language-\"]):not(pre):not(code),span:not([class*=\"language-\"]):not([class*=\"token\"]),a:not(pre a):not(code a),button{font-family:var(--font-riforma)!important}pre,code,.nx-font-mono,.nx-bg-primary-700\\/5,.language-javascript,.language-typescript,.language-python,.language-json,.language-bash,.language-shell,.language-solidity,.language-yml,.language-yaml,.language-sh,[class*=\"language-\"],.nx-code-block,div[data-language],div[data-theme*=\"dark\"],div[data-theme*=\"light\"],span[class*=\"token\"],.token,.comment,.prolog,.doctype,.cdata,.punctuation,.property,.tag,.boolean,.number,.constant,.symbol,.deleted,.function,.class-name,.regex,.important,.variable,.operator,.keyword{font-family:var(--font-mono)!important;font-feature-settings:normal!important}pre *,code *,.nx-code-block *,div[data-language] *,[class*=\"language-\"] *,pre span,code span,.nx-code-block span,div[data-language] span,[class*=\"language-\"] span{font-family:var(--font-mono)!important;font-feature-settings:normal!important}.nx-prose h1,h1{font-family:var(--font-riforma)!important;font-weight:400!important}.nx-prose h2,h2{font-family:var(--font-riforma)!important;font-weight:400!important}.nx-prose h3,h3{font-family:var(--font-riforma)!important;font-weight:400!important}[data-page-id=\"index\"]{max-width:1400px!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}[data-page-id=\"index\"] h1{font-family:var(--font-riforma)!important;font-size:3rem!important;font-weight:400!important;line-height:1.1!important;margin-bottom:1rem!important;margin-top:0!important;padding-top:0!important;color:#111827!important;letter-spacing:-0.02em!important;max-width:100%!important}html[class*=\"dark\"] [data-page-id=\"index\"] h1{color:#f9fafb!important}[data-page-id=\"index\"]>p:first-of-type,[data-page-id=\"index\"] h1+p{font-family:var(--font-riforma)!important;font-size:1.25rem!important;line-height:1.6!important;color:#6b7280!important;margin-bottom:2rem!important;margin-top:0!important;max-width:100%!important}html[class*=\"dark\"] [data-page-id=\"index\"]>p:first-of-type,html[class*=\"dark\"] [data-page-id=\"index\"] h1+p{color:#9ca3af!important}[data-page-id=\"index\"] .nx-prose{padding-top:0!important;padding-left:0!important;padding-right:0!important;max-width:100%!important}.nx-container{max-width:none!important;padding:0!important;background:transparent!important}[data-page-id=\"index\"] .nx-prose,[data-page-id=\"index\"]>div>div{max-width:100%!important}body{background:#ffffff!important}html[class*=\"dark\"] body{background:#0f172a!important}.nx-bg-gradient-to-r,.nx-bg-gradient-to-l,.nx-bg-gradient-to-t,.nx-bg-gradient-to-b,.nx-bg-gradient-to-br,.nx-bg-gradient-to-bl,.nx-bg-gradient-to-tr,.nx-bg-gradient-to-tl{background:transparent!important}.hero-section{display:flex;align-items:center;justify-content:space-between;min-height:auto;padding:0;margin-bottom:2.5rem;max-width:100%;margin-left:0;margin-right:0;background:transparent}.hero-content{flex:1;max-width:505px}.hero-content h1{font-family:var(--font-riforma)!important;font-size:2.5rem;font-weight:600;line-height:1.2;margin-bottom:0.75rem;color:#111827;letter-spacing:-0.025em}html[class*=\"dark\"] .hero-content h1{color:#f9fafb}.hero-content p{font-family:var(--font-riforma)!important;font-size:1.125rem;font-weight:400;line-height:1.6;margin-bottom:1rem;color:#6b7280}html[class*=\"dark\"] .hero-content p{color:#9ca3af}.hero-visual{flex:1;display:flex;justify-content:center;align-items:center}.hero-visual img{max-width:100%;height:auto}.hero-buttons{display:flex;gap:1rem}.btn-primary{font-family:var(--font-riforma)!important;background-color:#FF0420;color:white;padding:0.75rem 1.5rem;border:none;border-radius:0.75rem;font-weight:500;cursor:pointer;transition:background-color 0.2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn-primary:hover{background-color:#e00320;color:white;text-decoration:none}.btn-secondary{font-family:var(--font-riforma)!important;background-color:transparent;color:#1f2937;padding:0.75rem 1.5rem;border:1px solid #d1d5db;border-radius:0.75rem;font-weight:500;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af;color:#1f2937;text-decoration:none}html[class*=\"dark\"] .btn-secondary{color:#f9fafb;border-color:#4b5563}html[class*=\"dark\"] .btn-secondary:hover{background-color:#374151;border-color:#6b7280;color:#f9fafb}@media (max-width: 768px){.hero-section{flex-direction:column;text-align:center;min-height:auto;padding:2rem 0}.hero-content{padding-right:0;margin-bottom:2rem}.hero-content h1{font-size:1.75rem}.hero-buttons{justify-content:center}}.home-cards{width:100%;margin-bottom:2.5rem;margin-top:0;max-width:100%;margin-left:0;margin-right:0;padding:0}.home-card{display:flex;flex-direction:column;padding:1.75rem;background:transparent;border:1px solid #e2e8f0;border-radius:12px;transition:all 0.2s ease}html[class*=\"dark\"] .home-card{background:#1e293b;border-color:#334155}.home-card .home-card__title{font-family:var(--font-riforma)!important;font-size:1.5rem!important;font-weight:400!important;margin:0 0 1.5rem 0;color:#0f172a;letter-spacing:-0.01em}html[class*=\"dark\"] .home-card .home-card__title{color:#f1f5f9}.home-card__footer{margin-top:auto;padding-top:1.5rem}.home-card__footer-link{color:#64748b;text-decoration:none;font-size:0.875rem;font-weight:500;transition:color 0.2s ease}.home-card__footer-link:hover{color:#475569;text-decoration:none}html[class*=\"dark\"] .home-card__footer-link{color:#94a3b8}html[class*=\"dark\"] .home-card__footer-link:hover{color:#cbd5e1}.card-list{display:flex;flex-direction:column;gap:0}.card-list-item{display:flex;align-items:flex-start;gap:1rem;padding:0.875rem 0;border-radius:6px;text-decoration:none;color:inherit;transition:all 0.2s ease;border-bottom:1px solid #f1f5f9}.card-list-item:last-child{border-bottom:none}html[class*=\"dark\"] .card-list-item{border-bottom-color:#334155}.card-list-item:hover .card-list-item__title{color:#ef4444}.card-list-item:hover .card-list-item__description{color:#475569}html[class*=\"dark\"] .card-list-item:hover .card-list-item__description{color:#cbd5e1}.card-list-item__number{width:2rem;height:2rem;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:0.875rem;flex-shrink:0;color:#475569}html[class*=\"dark\"] .card-list-item__number{background:#334155;color:#cbd5e1}.card-list-item__content{flex:1}.card-list-item__header{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}.card-list-item__title{font-family:var(--font-riforma)!important;margin:0;font-size:1rem;font-weight:400;color:#0f172a;transition:color 0.2s ease;letter-spacing:-0.01em}html[class*=\"dark\"] .card-list-item__title{color:#f1f5f9}.card-list-item__description{font-family:var(--font-riforma)!important;margin:0;font-size:0.875rem;color:#64748b;line-height:1.5;transition:color 0.2s ease}html[class*=\"dark\"] .card-list-item__description{color:#94a3b8}.card-list-item__badge{padding:0.25rem 0.75rem;border-radius:16px;font-size:0.75rem;font-weight:600;text-transform:capitalize}.card-list-item__badge--easy{background:#dcfce7;color:#166534}.card-list-item__badge--medium{background:#fef3c7;color:#92400e}.card-list-item__badge--hard{background:#fee2e2;color:#991b1b}html[class*=\"dark\"] .card-list-item__badge--easy{background:#14532d;color:#bbf7d0}html[class*=\"dark\"] .card-list-item__badge--medium{background:#92400e;color:#fef3c7}html[class*=\"dark\"] .card-list-item__badge--hard{background:#991b1b;color:#fecaca}.card-list-item__arrow{color:#cbd5e1;font-size:1.25rem;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;margin-top:0.25rem}.card-list-item:hover .card-list-item__arrow{transform:translateX(4px);color:#ef4444}html[class*=\"dark\"] .card-list-item__arrow{color:#64748b}html[class*=\"dark\"] .card-list-item:hover .card-list-item__arrow{color:#ef4444}.nx-prose:not([data-page-id=\"index\"] .nx-prose){max-width:1400px!important;margin-left:auto!important;margin-right:auto!important;padding-left:2rem!important;padding-right:2rem!important}@media (max-width: 768px){.hero-section{padding:4rem 2rem;flex-direction:column;text-align:center;min-height:auto}.hero-content{margin-bottom:2rem;max-width:none}.home-cards{grid-template-columns:1fr!important;padding:0 2rem}.nx-prose{padding-left:2rem!important;padding-right:2rem!important}.card-list-item__header{flex-direction:column;align-items:flex-start;gap:0.5rem}}.nx-card img,[class*=\"card\"] img[src*=\"/public/img/\"]{background:transparent!important}"}],"page":{"pagePath":"notices/archive/req-resp-cl-sync-deprecation","slug":"/notices/archive/req-resp-cl-sync-deprecation","pageMetadata":{"title":"Deprecation of Req/Res CL P2P sync","description":"The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.","date":"2026-06-26T00:00:00.000Z","diataxis":"reference","lang":"en-US","content_type":"notice","topic":"req-resp-cl-sync-deprecation","personas":["node-operator","chain-operator"],"categories":["infrastructure","protocol"],"is_imported_content":"false","href":"/notices/archive/req-resp-cl-sync-deprecation"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`op-node`}),` request-response (Req/Res) consensus-layer (CL) P2P sync client is being deprecated in favor of syncing through the execution layer (EL) client.`]}),`\n`,_jsxs(_components.p,{children:[`This change simplifies `,_jsx(_components.code,{children:`op-node`}),` configuration, removes fragile sync logic, and relies on the execution client’s native P2P sync, which is the more battle-tested path.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-this-means`,children:`What this means`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The Req/Res CL P2P sync `,_jsx(_components.strong,{children:`client`}),` in `,_jsx(_components.code,{children:`op-node`}),` is deprecated.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`op-node`}),` should rely on its connected EL node, such as `,_jsx(_components.strong,{children:`op-geth`}),` or `,_jsx(_components.strong,{children:`op-reth`}),`, to reach the chain tip in the presence of gaps between local state and chain tip received over gossip.`]}),`\n`,_jsx(_components.li,{children:`Operators should ensure their EL nodes have healthy P2P connectivity and enough peers to sync independently.`}),`\n`,_jsxs(_components.li,{children:[`If you still explicitly set `,_jsx(_components.code,{children:`--syncmode.req-resp=true`}),`, plan to remove that override.`]}),`\n`,_jsxs(_components.li,{children:[`The Req/Res `,_jsx(_components.strong,{children:`server`}),` path, which kept serving payloads to older nodes, has since been removed as well. `,_jsx(_components.code,{children:`--p2p.sync.req-resp`}),` is now a deprecated no-op flag and can be dropped from your configuration.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`action-required`,children:`Action required`}),`\n`,_jsx(Heading,{level:`3`,id:`node-operators`,children:`Node operators`}),`\n`,_jsx(_components.p,{children:`Move away from the deprecated Req/Res client path and rely on EL syncing.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Ensure your EL node has healthy P2P connectivity.`}),`\n`,_jsxs(_components.li,{children:[`Remove any explicit `,_jsx(_components.code,{children:`--syncmode.req-resp=true`}),` override unless you need temporary backward compatibility.`]}),`\n`,_jsxs(_components.li,{children:[`If you are running an older release where Req/Res is still enabled by default, set `,_jsx(_components.code,{children:`--syncmode.req-resp=false`}),` to opt into the new behavior now.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Once the Req/Res client path is fully removed, nodes with unhealthy EL peer connectivity may fail to catch up to the unsafe tip.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Deprecation of Req/Res CL P2P sync","description":"The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.","date":"2026-06-26T00:00:00.000Z","diataxis":"reference","lang":"en-US","content_type":"notice","topic":"req-resp-cl-sync-deprecation","personas":["node-operator","chain-operator"],"categories":["infrastructure","protocol"],"is_imported_content":"false","href":"/notices/archive/req-resp-cl-sync-deprecation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What this means","slug":"what-this-means","depth":2,"children":[]},{"title":"Action required","slug":"action-required","depth":2,"children":[{"title":"Node operators","slug":"node-operators","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/optimism-373f39ad/6b11b6c32a46a09b/public/mixpanel-custom.js"],"subdomain":"optimism-373f39ad","siteName":"Optimism Documentation","title":"Optimism Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/notices/archive/req-resp-cl-sync-deprecation","matchLevel":0},"ko":{"href":"/ko","matchLevel":4}}},"lastModified":"2026-10-19T18:33:36.506Z","originalFileLocation":"notices/archive/req-resp-cl-sync-deprecation.mdx","locale":"en"},"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=\"The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Optimism Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Optimism Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Optimism Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.optimism.io//notices/archive/req-resp-cl-sync-deprecation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://optimism-373f39ad.mintlify.site/_mintlify/api/og/v2?title=Deprecation+of+Req%2FRes+CL+P2P+sync\u0026amp;description=The+op-node+Req%2FRes+consensus-layer+P2P+sync+client+is+being+deprecated+in+favor+of+execution-layer+syncing.\u0026amp;theme=79e08bb9e92ccc1aa11b69ac\u0026amp;signature=145956852f009d31c6f3145ad6f2a17450991fd567c43f836febd026f07dbabe\">\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=\"Optimism Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The op-node Req/Res consensus-layer P2P sync client is being deprecated in favor of execution-layer syncing.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://optimism-373f39ad.mintlify.site/_mintlify/api/og/v2?title=Deprecation+of+Req%2FRes+CL+P2P+sync\u0026amp;description=The+op-node+Req%2FRes+consensus-layer+P2P+sync+client+is+being+deprecated+in+favor+of+execution-layer+syncing.\u0026amp;theme=79e08bb9e92ccc1aa11b69ac\u0026amp;signature=145956852f009d31c6f3145ad6f2a17450991fd567c43f836febd026f07dbabe\">\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/optimism-373f39ad/v3BpzhmZ-un_k_ZG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Optimism Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF0420\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.optimism.io//notices/archive/req-resp-cl-sync-deprecation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/notices/archive/req-resp-cl-sync-deprecation.md\">","agentPointerHref":"/notices/archive/req-resp-cl-sync-deprecation.md","siteName":"Optimism Documentation","nav":{"global":{"anchors":[{"anchor":"Status","icon":"signal-bars","href":"https://status.optimism.io"},{"anchor":"Faucet","icon":"gas-pump","href":"https://console.optimism.io/faucet"},{"anchor":"Bridge","icon":"bridge-water","href":"https://app.optimism.io/bridge/deposit"}]},"languages":[{"language":"en","tabs":[{"tab":"Get Started","groups":[{"group":"Start here","pages":[{"title":"OP Stack documentation","mode":"wide","href":""},{"title":"Use the Docs with AI","href":"/ai-docs"},{"title":"Chain operator quickstart","href":"/chain-operators/quickstart"},{"title":"Choose how to run your chain","href":"/chain-operators/launch-paths"}]},{"group":"Use cases","pages":[{"title":"Solution guides","sidebarTitle":"Overview","href":"/use-cases/index"},{"title":"Tune batcher costs","href":"/use-cases/tune-batcher-costs"},{"title":"Run a fault-proof challenger","href":"/use-cases/run-a-fault-proof-challenger"},{"title":"Implement a custom deposit flow","href":"/use-cases/implement-a-custom-deposit-flow"},{"title":"Launch a chain with fault proofs and HA sequencing","href":"/use-cases/launch-a-chain-with-fault-proofs-and-ha-sequencing"},{"title":"Choose your node stack","href":"/use-cases/choose-your-node-stack"}]},{"group":"Contribute","pages":[{"title":"Contribute to the docs","sidebarTitle":"Overview","href":"/op-stack/contribute/index"},{"title":"Content guide","href":"/op-stack/contribute/content-guide"},{"title":"Cross-repo link policy","href":"/op-stack/contribute/link-policy"},{"title":"Curation review policy","href":"/op-stack/contribute/curation-policy"},{"title":"Learn track syllabus","href":"/op-stack/contribute/learn-track-syllabus"},{"title":"Style guide","href":"/op-stack/contribute/style-guide"},{"group":"Choose a content type","pages":[{"title":"Choose a content type","href":"/op-stack/contribute/choose-a-content-type"},{"title":"Content type: solution guide","href":"/op-stack/contribute/solution-guide"},{"title":"Content type: learning unit","href":"/op-stack/contribute/learning-unit"},{"title":"Content type: curriculum hub","href":"/op-stack/contribute/curriculum-hub"},{"title":"Content type: router/landing","href":"/op-stack/contribute/router-landing"},{"title":"Content type: notice","href":"/op-stack/contribute/notice"}]},{"title":"Component hub template","href":"/op-stack/contribute/component-hub-template"}]}]},{"tab":"Chain Operators","groups":[{"group":"Launch a chain","pages":[{"title":"Chain operators","sidebarTitle":"Overview","href":"/chain-operators"}]},{"group":"Guides","pages":[{"group":"Configuration","pages":[{"title":"Chain Operator Configurations","href":"/chain-operators/guides/configuration/getting-started"},{"title":"Configure the batcher","href":"/chain-operators/guides/configuration/batcher"},{"title":"Proposer Configuration","href":"/chain-operators/guides/configuration/proposer"},{"title":"How to configure challenger for your chain","href":"/chain-operators/guides/configuration/op-challenger-config-guide"}]},{"group":"Features","pages":[{"title":"Deploy a Custom Gas Token chain","href":"/chain-operators/guides/features/custom-gas-token-guide"},{"title":"Switch to Kona Proofs","href":"/chain-operators/guides/features/switching-to-kona-proofs"},{"title":"Set the Minimum Base Fee","href":"/chain-operators/guides/features/setting-min-base-fee"},{"title":"Set the Operator Fee","href":"/chain-operators/guides/features/setting-operator-fee"},{"title":"Set the DA Footprint Gas Scalar","href":"/chain-operators/guides/features/setting-da-footprint"},{"title":"Enabling Subblocks","href":"/chain-operators/guides/features/subblocks-guide"},{"title":"Enabling Sequencer Defined Metering","href":"/chain-operators/guides/features/sequencer-defined-metering"},{"title":"How to run an Alt-DA mode chain","href":"/chain-operators/guides/features/alt-da-mode-guide"},{"title":"Post batch data as blobs","href":"/chain-operators/guides/features/blobs"},{"title":"Enable span batches","href":"/chain-operators/guides/features/enable-span-batches"},{"title":"Using snap sync for chain operators","href":"/chain-operators/guides/features/snap-sync"}]},{"group":"Management","pages":[{"title":"Chain operator best practices","href":"/chain-operators/guides/management/best-practices"},{"title":"Network Design Example","href":"/chain-operators/guides/management/network-architecture"},{"title":"Changing gas target/limit","href":"/chain-operators/guides/management/gas-target-limit"},{"title":"Key management","href":"/chain-operators/guides/management/key-management"},{"title":"Rollup operations","href":"/chain-operators/guides/management/operations"},{"title":"Transaction Fees 101","href":"/chain-operators/guides/management/transaction-fees-101"},{"title":"Fee vault operations","href":"/chain-operators/guides/management/fee-vaults"},{"title":"Troubleshooting chain operations","href":"/chain-operators/guides/management/troubleshooting"}]},{"title":"Join the Superchain Registry","href":"/chain-operators/guides/join-superchain-registry"}]},{"group":"Tutorials","pages":[{"group":"Create L2 Rollup","pages":[{"title":"Creating your own L2 rollup testnet","href":"/chain-operators/tutorials/create-l2-rollup/index"},{"title":"Deploy L1 contracts with op-deployer","href":"/chain-operators/tutorials/create-l2-rollup/op-deployer-setup"},{"title":"Spin up sequencer","href":"/chain-operators/tutorials/create-l2-rollup/op-reth-setup"},{"title":"Spin up batcher","href":"/chain-operators/tutorials/create-l2-rollup/op-batcher-setup"},{"title":"Spin up proposer","href":"/chain-operators/tutorials/create-l2-rollup/op-proposer-setup"},{"title":"Spin up challenger","href":"/chain-operators/tutorials/create-l2-rollup/op-challenger-setup"},{"title":"L2 Rollup Code Examples","href":"/chain-operators/tutorials/create-l2-rollup/code-setup"}]},{"group":"L1 contract upgrades","pages":[{"title":"Upgrade L1 contracts using op-deployer","href":"/chain-operators/tutorials/l1-contract-upgrades/op-deployer-upgrade"},{"title":"Upgrade using superchain-ops","href":"/chain-operators/tutorials/l1-contract-upgrades/superchain-ops-guide"},{"title":"Upgrading Smart Contracts from v1.3.0 to v1.8.0","href":"/chain-operators/tutorials/l1-contract-upgrades/upgrade-op-contracts-1-3-1-8"}]},{"group":"Customize your chain","pages":[{"title":"Adding a precompile","href":"/chain-operators/tutorials/adding-precompiles"},{"title":"Modifying predeployed contracts","href":"/chain-operators/tutorials/modifying-predeploys"},{"title":"Adding attributes to the derivation function","href":"/chain-operators/tutorials/adding-derivation-attributes"},{"title":"Integrating a new DA layer with Alt-DA","href":"/chain-operators/tutorials/integrating-da-layer"}]},{"group":"Proofs \u0026 disputes","pages":[{"title":"Generating absolute prestate and preimage files","href":"/chain-operators/tutorials/absolute-prestate"},{"title":"Generating a custom kona-client absolute prestate","href":"/chain-operators/tutorials/kona-custom-prestate"},{"title":"Deploying new dispute games with OPCM","href":"/chain-operators/tutorials/dispute-games"},{"title":"Migrating to permissionless fault proofs on OP Stack","href":"/chain-operators/tutorials/migrating-permissionless"},{"title":"Merging Two Chains Into a Shared Dispute Game","href":"/chain-operators/tutorials/merge-shared-dispute-game"}]},{"group":"Operations","pages":[{"title":"How to rewind op-geth","href":"/chain-operators/tutorials/rewind-op-geth"},{"title":"Upgrading a Chain From Output Roots to Super Roots","href":"/chain-operators/tutorials/upgrade-chain-to-super-roots"}]}]},{"group":"Tools","pages":[{"title":"Chain monitoring options","href":"/chain-operators/tools/chain-monitoring"},{"title":"Blockscout block explorer","href":"/chain-operators/tools/explorer"},{"group":"OP Conductor","pages":[{"title":"OP Conductor","href":"/chain-operators/tools/op-conductor"},{"title":"Setup","href":"/chain-operators/tools/op-conductor/setup"},{"title":"Configuration and RPCs","href":"/chain-operators/tools/op-conductor/reference"}]},{"group":"OP Deployer","pages":[{"title":"OP Deployer","href":"/chain-operators/tools/op-deployer/overview"},{"title":"Install op-deployer","href":"/chain-operators/tools/op-deployer/installation"},{"group":"Usage","pages":[{"title":"Bootstrap Commands","href":"/chain-operators/tools/op-deployer/usage/bootstrap"},{"title":"Init Command","href":"/chain-operators/tools/op-deployer/usage/init"},{"title":"Apply Command","href":"/chain-operators/tools/op-deployer/usage/apply"},{"title":"Verify Command","href":"/chain-operators/tools/op-deployer/usage/verify"},{"title":"Custom Deployments","href":"/chain-operators/tools/op-deployer/usage/custom-deployments"},{"title":"Release Workflows","href":"/chain-operators/tools/op-deployer/usage/release-workflows"}]},{"title":"Known Limitations","href":"/chain-operators/tools/op-deployer/known-limitations"},{"group":"Reference","pages":[{"group":"Architecture","pages":[{"title":"Architecture","href":"/chain-operators/tools/op-deployer/reference/architecture/overview"},{"title":"Deployment Pipeline","href":"/chain-operators/tools/op-deployer/reference/architecture/pipeline"},{"title":"Scripting Engine","href":"/chain-operators/tools/op-deployer/reference/architecture/engine"}]},{"title":"Artifacts Locators","href":"/chain-operators/tools/op-deployer/reference/artifacts-locators"},{"title":"op-deployer versioning and releases","href":"/chain-operators/tools/op-deployer/reference/releases"}]}]},{"title":"OP Interop Filter","href":"/chain-operators/tools/op-interop-filter"},{"title":"OP Txproxy","href":"/chain-operators/tools/op-txproxy"},{"title":"Run proxyd","href":"/chain-operators/tools/proxyd"}]},{"group":"Reference","pages":[{"title":"Batcher configuration reference","href":"/chain-operators/reference/batcher-configuration"},{"title":"Challenger configuration reference","href":"/chain-operators/reference/challenger-configuration"},{"title":"OP Contracts Manager","href":"/chain-operators/reference/opcm"},{"title":"Rollup deployment configuration","href":"/chain-operators/reference/rollup-deployment-configuration"},{"title":"Fee parameters","href":"/chain-operators/reference/fee-parameters"},{"title":"How the DA footprint block limit works","href":"/chain-operators/reference/da-footprint"}]},{"group":"Archive","pages":[{"title":"Generating an op-program absolute prestate (archived)","href":"/chain-operators/tutorials/archive/op-program-prestate"}]}]},{"tab":"Node Operators","groups":[{"group":"Run a node","pages":[{"title":"Node Operator Overview","href":"/node-operators/overview"}]},{"group":"Guides","pages":[{"group":"Configuration","pages":[{"title":"Consensus client configuration","href":"/node-operators/guides/configuration/consensus-clients"},{"title":"Execution client configuration","href":"/node-operators/guides/configuration/execution-clients"},{"title":"Supernode setup","href":"/node-operators/guides/configuration/supernode-setup"},{"title":"Supernode configuration","href":"/node-operators/guides/configuration/supernode"}]},{"group":"Management","pages":[{"title":"Running an archive node","href":"/node-operators/guides/management/archive-node"},{"title":"Fetch blob data for your node","href":"/node-operators/guides/management/blobs"},{"title":"Restore a Node From a Snapshot","sidebarTitle":"Restore From a Snapshot","href":"/node-operators/guides/management/restore-from-snapshot"}]},{"group":"Monitoring","pages":[{"title":"Node Metrics and Monitoring","href":"/node-operators/guides/monitoring/metrics"}]},{"title":"Node Troubleshooting","href":"/node-operators/guides/troubleshooting"}]},{"group":"Tutorials","pages":[{"title":"Running a Node With Docker","href":"/node-operators/tutorials/node-from-docker"},{"title":"Building and running an OP Stack node from source","href":"/node-operators/tutorials/run-node-from-source"},{"title":"Running op-reth with Historical Proofs","href":"/node-operators/tutorials/reth-historical-proofs"}]},{"group":"Clients","pages":[{"group":"Kona Node","pages":[{"title":"System Requirements","href":"/node-operators/kona-node/requirements"},{"group":"Installation","pages":[{"title":"Install kona-node","href":"/node-operators/kona-node/install/overview"},{"title":"Building from Source","href":"/node-operators/kona-node/install/source"}]},{"group":"Run a Node","pages":[{"title":"Run a Node","href":"/node-operators/kona-node/run/overview"},{"title":"Run Kona Node as a Binary","href":"/node-operators/kona-node/run/binary"},{"title":"Docker Guide","href":"/node-operators/kona-node/run/docker"},{"title":"How it Works","href":"/node-operators/kona-node/run/mechanics"},{"title":"Configure RPC Trust","href":"/node-operators/kona-node/run/rpc-trust"},{"title":"Run a Sequencer Node","href":"/node-operators/kona-node/run/sequencer"}]},{"group":"JSON-RPC Reference","pages":[{"title":"JSON-RPC","href":"/node-operators/kona-node/rpc/overview"},{"title":"P2P RPC Methods","href":"/node-operators/kona-node/rpc/p2p"},{"title":"Rollup RPC Methods","href":"/node-operators/kona-node/rpc/rollup"},{"title":"Admin RPC Methods","href":"/node-operators/kona-node/rpc/admin"}]},{"title":"Kona Node CLI Reference","href":"/node-operators/kona-node/configuration"},{"title":"Monitoring","href":"/node-operators/kona-node/monitoring"},{"title":"`kona-node` Subcommands","href":"/node-operators/kona-node/subcommands"},{"group":"FAQ","pages":[{"title":"FAQ","href":"/node-operators/kona-node/faq/overview"},{"title":"Node Ports","href":"/node-operators/kona-node/faq/ports"}]},{"group":"Design","pages":[{"title":"Node Design Overview","href":"/node-operators/kona-node/design/intro"},{"title":"Derivation in Kona Node","href":"/node-operators/kona-node/design/derivation"},{"title":"Execution Engine","href":"/node-operators/kona-node/design/engine"},{"title":"P2P Networking","href":"/node-operators/kona-node/design/p2p"},{"title":"Sequencer Mode","href":"/node-operators/kona-node/design/sequencer"}]}]},{"group":"op-reth","pages":[{"title":"op-reth for node operators","href":"/node-operators/op-reth/index"},{"title":"Sync OP Mainnet","href":"/node-operators/op-reth/run/faq/sync-op-mainnet"}]}]},{"group":"Reference","pages":[{"group":"Architecture","pages":[{"title":"Node architecture","href":"/node-operators/reference/architecture/index"}]},{"title":"op-node configuration options","href":"/node-operators/reference/op-node-config"},{"title":"op-node JSON-RPC API","href":"/node-operators/reference/op-node-json-rpc"},{"title":"op-supernode configuration options","href":"/node-operators/reference/op-supernode-config"},{"title":"op-reth configuration options","href":"/node-operators/reference/op-reth-config"},{"title":"op-reth JSON-RPC API","href":"/node-operators/reference/op-reth-json-rpc"},{"title":"op-reth historical proof configuration","href":"/node-operators/reference/op-reth-historical-proof-config"},{"title":"Consensus-layer sync","href":"/node-operators/reference/consensus-layer-sync"},{"group":"op-reth CLI reference","pages":[{"title":"Understanding the op-reth CLI","href":"/node-operators/op-reth/cli/overview"},{"group":"op-reth","pages":[{"title":"op-reth","href":"/node-operators/op-reth/cli/op-reth"},{"title":"op-reth node","href":"/node-operators/op-reth/cli/op-reth/node"},{"title":"op-reth init","href":"/node-operators/op-reth/cli/op-reth/init"},{"title":"op-reth init-state","href":"/node-operators/op-reth/cli/op-reth/init-state"},{"title":"op-reth import-op","href":"/node-operators/op-reth/cli/op-reth/import-op"},{"title":"op-reth import-receipts-op","href":"/node-operators/op-reth/cli/op-reth/import-receipts-op"},{"title":"op-reth dump-genesis","href":"/node-operators/op-reth/cli/op-reth/dump-genesis"},{"group":"op-reth db","pages":[{"title":"op-reth db","href":"/node-operators/op-reth/cli/op-reth/db"},{"title":"op-reth db stats","href":"/node-operators/op-reth/cli/op-reth/db/stats"},{"title":"op-reth db list","href":"/node-operators/op-reth/cli/op-reth/db/list"},{"group":"op-reth db checksum","pages":[{"title":"op-reth db checksum","href":"/node-operators/op-reth/cli/op-reth/db/checksum"},{"title":"op-reth db checksum mdbx","href":"/node-operators/op-reth/cli/op-reth/db/checksum/mdbx"},{"title":"op-reth db checksum static-file","href":"/node-operators/op-reth/cli/op-reth/db/checksum/static-file"},{"title":"op-reth db checksum rocksdb","href":"/node-operators/op-reth/cli/op-reth/db/checksum/rocksdb"}]},{"title":"op-reth db copy","href":"/node-operators/op-reth/cli/op-reth/db/copy"},{"title":"op-reth db diff","href":"/node-operators/op-reth/cli/op-reth/db/diff"},{"group":"op-reth db get","pages":[{"title":"op-reth db get","href":"/node-operators/op-reth/cli/op-reth/db/get"},{"title":"op-reth db get mdbx","href":"/node-operators/op-reth/cli/op-reth/db/get/mdbx"},{"title":"op-reth db get static-file","href":"/node-operators/op-reth/cli/op-reth/db/get/static-file"},{"title":"op-reth db get rocksdb","href":"/node-operators/op-reth/cli/op-reth/db/get/rocksdb"}]},{"title":"op-reth db drop","href":"/node-operators/op-reth/cli/op-reth/db/drop"},{"group":"op-reth db clear","pages":[{"title":"op-reth db clear","href":"/node-operators/op-reth/cli/op-reth/db/clear"},{"title":"op-reth db clear mdbx","href":"/node-operators/op-reth/cli/op-reth/db/clear/mdbx"},{"title":"op-reth db clear static-file","href":"/node-operators/op-reth/cli/op-reth/db/clear/static-file"}]},{"title":"op-reth db repair-trie","href":"/node-operators/op-reth/cli/op-reth/db/repair-trie"},{"group":"op-reth db static-file-header","pages":[{"title":"op-reth db static-file-header","href":"/node-operators/op-reth/cli/op-reth/db/static-file-header"},{"title":"op-reth db static-file-header block","href":"/node-operators/op-reth/cli/op-reth/db/static-file-header/block"},{"title":"op-reth db static-file-header path","href":"/node-operators/op-reth/cli/op-reth/db/static-file-header/path"}]},{"title":"op-reth db version","href":"/node-operators/op-reth/cli/op-reth/db/version"},{"title":"op-reth db path","href":"/node-operators/op-reth/cli/op-reth/db/path"},{"group":"op-reth db settings","pages":[{"title":"op-reth db settings","href":"/node-operators/op-reth/cli/op-reth/db/settings"},{"title":"op-reth db settings get","href":"/node-operators/op-reth/cli/op-reth/db/settings/get"},{"group":"op-reth db settings set","pages":[{"title":"op-reth db settings set","href":"/node-operators/op-reth/cli/op-reth/db/settings/set"},{"title":"op-reth db settings set v2","href":"/node-operators/op-reth/cli/op-reth/db/settings/set/v2"}]}]},{"group":"op-reth db prune-checkpoints","pages":[{"title":"op-reth db prune-checkpoints","href":"/node-operators/op-reth/cli/op-reth/db/prune-checkpoints"},{"title":"op-reth db prune-checkpoints get","href":"/node-operators/op-reth/cli/op-reth/db/prune-checkpoints/get"},{"title":"op-reth db prune-checkpoints set","href":"/node-operators/op-reth/cli/op-reth/db/prune-checkpoints/set"}]},{"group":"op-reth db stage-checkpoints","pages":[{"title":"op-reth db stage-checkpoints","href":"/node-operators/op-reth/cli/op-reth/db/stage-checkpoints"},{"title":"op-reth db stage-checkpoints get","href":"/node-operators/op-reth/cli/op-reth/db/stage-checkpoints/get"},{"title":"op-reth db stage-checkpoints set","href":"/node-operators/op-reth/cli/op-reth/db/stage-checkpoints/set"}]},{"title":"op-reth db account-storage","href":"/node-operators/op-reth/cli/op-reth/db/account-storage"},{"title":"op-reth db state","href":"/node-operators/op-reth/cli/op-reth/db/state"},{"title":"op-reth db migrate-v2","href":"/node-operators/op-reth/cli/op-reth/db/migrate-v2"}]},{"group":"op-reth stage","pages":[{"title":"op-reth stage","href":"/node-operators/op-reth/cli/op-reth/stage"},{"title":"op-reth stage run","href":"/node-operators/op-reth/cli/op-reth/stage/run"},{"title":"op-reth stage drop","href":"/node-operators/op-reth/cli/op-reth/stage/drop"},{"group":"op-reth stage dump","pages":[{"title":"op-reth stage dump","href":"/node-operators/op-reth/cli/op-reth/stage/dump"},{"title":"op-reth stage dump execution","href":"/node-operators/op-reth/cli/op-reth/stage/dump/execution"},{"title":"op-reth stage dump storage-hashing","href":"/node-operators/op-reth/cli/op-reth/stage/dump/storage-hashing"},{"title":"op-reth stage dump account-hashing","href":"/node-operators/op-reth/cli/op-reth/stage/dump/account-hashing"},{"title":"op-reth stage dump merkle","href":"/node-operators/op-reth/cli/op-reth/stage/dump/merkle"}]},{"group":"op-reth stage unwind","pages":[{"title":"op-reth stage unwind","href":"/node-operators/op-reth/cli/op-reth/stage/unwind"},{"title":"op-reth stage unwind to-block","href":"/node-operators/op-reth/cli/op-reth/stage/unwind/to-block"},{"title":"op-reth stage unwind num-blocks","href":"/node-operators/op-reth/cli/op-reth/stage/unwind/num-blocks"}]}]},{"group":"op-reth p2p","pages":[{"title":"op-reth p2p","href":"/node-operators/op-reth/cli/op-reth/p2p"},{"title":"op-reth p2p header","href":"/node-operators/op-reth/cli/op-reth/p2p/header"},{"title":"op-reth p2p body","href":"/node-operators/op-reth/cli/op-reth/p2p/body"},{"group":"op-reth p2p rlpx","pages":[{"title":"op-reth p2p rlpx","href":"/node-operators/op-reth/cli/op-reth/p2p/rlpx"},{"title":"op-reth p2p rlpx ping","href":"/node-operators/op-reth/cli/op-reth/p2p/rlpx/ping"}]},{"title":"op-reth p2p bootnode","href":"/node-operators/op-reth/cli/op-reth/p2p/bootnode"},{"title":"op-reth p2p enode","href":"/node-operators/op-reth/cli/op-reth/p2p/enode"}]},{"title":"op-reth config","href":"/node-operators/op-reth/cli/op-reth/config"},{"title":"op-reth prune","href":"/node-operators/op-reth/cli/op-reth/prune"},{"title":"op-reth re-execute","href":"/node-operators/op-reth/cli/op-reth/re-execute"},{"group":"op-reth proofs","pages":[{"title":"op-reth proofs","href":"/node-operators/op-reth/cli/op-reth/proofs"},{"title":"op-reth proofs init","href":"/node-operators/op-reth/cli/op-reth/proofs/init"},{"title":"op-reth proofs backfill","href":"/node-operators/op-reth/cli/op-reth/proofs/backfill"},{"title":"op-reth proofs prune","href":"/node-operators/op-reth/cli/op-reth/proofs/prune"},{"group":"op-reth proofs snapshot","pages":[{"title":"op-reth proofs snapshot","href":"/node-operators/op-reth/cli/op-reth/proofs/snapshot"},{"title":"op-reth proofs snapshot init","href":"/node-operators/op-reth/cli/op-reth/proofs/snapshot/init"},{"title":"op-reth proofs snapshot drop","href":"/node-operators/op-reth/cli/op-reth/proofs/snapshot/drop"}]},{"title":"op-reth proofs unwind","href":"/node-operators/op-reth/cli/op-reth/proofs/unwind"}]}]}]}]}]},{"tab":"App Developers","groups":[{"group":"Build an app","pages":[{"title":"App developers","sidebarTitle":"Overview","href":"/app-developers"},{"title":"App developer quickstart","href":"/app-developers/quickstarts/get-started"},{"title":"Integrating DeFi with Actions SDK","href":"/app-developers/quickstarts/actions"}]},{"group":"Guides","pages":[{"title":"Building apps on OP Stack chains","href":"/app-developers/guides/building-apps"},{"title":"Testing apps for OP Stack chains","href":"/app-developers/guides/testing-apps"},{"title":"Configuring Actions SDK","href":"/app-developers/guides/configuring-actions"},{"title":"Connecting a wallet to Actions SDK","href":"/app-developers/guides/connect-wallet-to-actions"},{"group":"Bridging","pages":[{"title":"Bridging basics","href":"/app-developers/guides/bridging/basics"},{"title":"Custom bridges","href":"/app-developers/guides/bridging/custom-bridge"},{"title":"Sending data between L1 and L2","href":"/app-developers/guides/bridging/messaging"},{"title":"Using the Standard Bridge","href":"/app-developers/guides/bridging/standard-bridge"},{"title":"Verifying bridged token addresses","href":"/app-developers/guides/bridging/verify-bridged-tokens"}]},{"group":"Interoperability","pages":[{"title":"Build interoperable apps on OP Stack devnet","href":"/app-developers/guides/interoperability/get-started"},{"title":"Interop message passing overview","href":"/app-developers/guides/interoperability/message-passing"},{"title":"Reading Logs with OP Stack Interop","href":"/app-developers/guides/interoperability/reading-logs"},{"title":"Message expiration","href":"/app-developers/guides/interoperability/message-expiration"}]},{"group":"Transactions","pages":[{"title":"Estimating transaction fees on OP Mainnet","href":"/app-developers/guides/transactions/estimates"},{"title":"Integrate Subblocks in your app","href":"/app-developers/guides/transactions/integrating-subblocks"},{"title":"Setting transaction gas parameters on OP Mainnet","href":"/app-developers/guides/transactions/parameters"},{"title":"Transaction statuses on OP Mainnet","href":"/app-developers/guides/transactions/statuses"},{"title":"Subblocks and gas usage on OP Stack","href":"/app-developers/guides/transactions/subblocks-and-gas-usage"},{"title":"Troubleshooting transactions","href":"/app-developers/guides/transactions/troubleshooting"}]}]},{"group":"Tutorials","pages":[{"title":"Deploy a contract to OP Sepolia","href":"/app-developers/tutorials/deploy-a-contract"},{"group":"Bridging","pages":[{"title":"Create an L2 token for the Standard Bridge","href":"/app-developers/tutorials/bridging/standard-bridge-standard-token"},{"title":"Bridging ERC-20 tokens to OP Mainnet","href":"/app-developers/tutorials/bridging/cross-dom-bridge-erc20"},{"title":"Communicating between OP Stack and Ethereum in Solidity","href":"/app-developers/tutorials/bridging/cross-dom-solidity"},{"title":"Submitting Transactions from L1","href":"/app-developers/tutorials/bridging/cross-dom-bridge-eth"},{"title":"Transferring ETH","href":"/app-developers/tutorials/bridging/bridge-crosschain-eth"},{"title":"Deposit transactions","href":"/app-developers/tutorials/bridging/deposit-transactions"},{"title":"Replaying a failed deposit","href":"/app-developers/tutorials/bridging/replay-failed-deposit"}]},{"group":"Interoperability","pages":[{"title":"Making crosschain contract calls (ping pong)","href":"/app-developers/tutorials/interoperability/contract-calls"},{"title":"Deploying crosschain event composability (contests)","href":"/app-developers/tutorials/interoperability/event-contests"},{"title":"Making cross-chain event reads (tic-tac-toe)","href":"/app-developers/tutorials/interoperability/event-reads"},{"title":"Relay transactions manually","href":"/app-developers/tutorials/interoperability/manual-relay"},{"title":"Interop message passing tutorial","href":"/app-developers/tutorials/interoperability/message-passing"}]},{"group":"Supersim","pages":[{"title":"First steps","href":"/app-developers/tutorials/development/supersim/first-steps"},{"title":"Install Supersim","href":"/app-developers/tutorials/development/supersim/installation"}]},{"group":"Transactions","pages":[{"title":"Estimating transaction costs on OP Stack","href":"/app-developers/tutorials/transactions/sdk-estimate-costs"},{"title":"Tracing deposits and withdrawals","href":"/app-developers/tutorials/transactions/sdk-trace-txns"},{"title":"Triggering OP Stack transactions from Ethereum","href":"/app-developers/tutorials/transactions/send-tx-from-eth"}]}]},{"group":"Tools \u0026 SDKs","pages":[{"title":"Tools \u0026 SDKs Support Matrix","href":"/app-developers/tools-sdks/support-matrix"},{"title":"Tools \u0026 SDKs Listing Criteria","href":"/app-developers/tools-sdks/listing-criteria"},{"group":"op-alloy","pages":[{"title":"op-alloy","href":"/app-developers/tools-sdks/op-alloy/intro"},{"title":"Add op-alloy to your project","href":"/app-developers/tools-sdks/op-alloy/starting"},{"group":"Building","pages":[{"title":"Building","href":"/app-developers/tools-sdks/op-alloy/building/index"},{"title":"Consensus","href":"/app-developers/tools-sdks/op-alloy/building/consensus"},{"title":"RPC Engine Types","href":"/app-developers/tools-sdks/op-alloy/building/engine"}]}]},{"title":"op-revm","href":"/app-developers/tools-sdks/op-revm"},{"title":"Testnet faucets","href":"/app-developers/tools-sdks/faucets"},{"title":"Block explorers","href":"/app-developers/tools-sdks/block-explorers"},{"group":"Data","pages":[{"title":"Data and Dashboards","href":"/app-developers/tools-sdks/data/data-and-dashboards"},{"title":"Data Glossary","href":"/app-developers/tools-sdks/data/data-glossary"},{"title":"Analytics tools","href":"/app-developers/tools-sdks/data/analytics-tools"},{"title":"Oracles","href":"/app-developers/tools-sdks/data/oracles"}]},{"title":"Supersim Multichain Development Environment","href":"/app-developers/tools-sdks/supersim"},{"title":"Account abstraction","href":"/app-developers/tools-sdks/account-abstraction"}]},{"group":"Reference","pages":[{"title":"OP Stack RPC directory","href":"/app-developers/reference/rpc-providers"},{"group":"Actions SDK","pages":[{"title":"Integrating wallets","href":"/app-developers/reference/actions/integrating-wallets"},{"title":"Wallet Documentation","href":"/app-developers/reference/actions/wallet-definitions"},{"title":"Lend Documentation","href":"/app-developers/reference/actions/lend-documentation"},{"title":"Swap Documentation","href":"/app-developers/reference/actions/swap-documentation"}]},{"group":"Contracts","pages":[{"title":"Interoperability predeploys","href":"/app-developers/reference/contracts/interop/predeploy"}]},{"group":"Tokens","pages":[{"title":"Bridged token addresses","href":"/app-developers/reference/tokens/tokenlist"}]},{"group":"Supersim","pages":[{"title":"OPChainA (chainID 901)","href":"/app-developers/reference/tools/supersim/chain-a"},{"title":"OPChainB (chainID 902)","href":"/app-developers/reference/tools/supersim/chain-b"},{"title":"Fork mode","href":"/app-developers/reference/tools/supersim/fork"},{"title":"Included contracts","href":"/app-developers/reference/tools/supersim/included-contracts"},{"title":"Vanilla mode","href":"/app-developers/reference/tools/supersim/vanilla"}]}]}]},{"tab":"Protocol","groups":[{"group":"Get started","pages":[{"title":"The OP Stack","href":"/op-stack/introduction/op-stack"},{"title":"OP Stack architecture","href":"/op-stack/architecture"},{"title":"Fact sheet","href":"/op-stack/introduction/fact-sheet"},{"title":"Learn the OP Stack","href":"/op-stack/learn/index"}]},{"group":"How the protocol works","pages":[{"title":"OP Stack protocol","sidebarTitle":"Overview","href":"/op-stack/protocol/index"},{"title":"Design philosophy \u0026 principles","href":"/op-stack/protocol/design-principles"},{"title":"Differences from Ethereum","href":"/op-stack/protocol/differences"},{"title":"OP Stack components","href":"/op-stack/protocol/components"},{"title":"Derivation pipeline","href":"/op-stack/protocol/derivation-pipeline"},{"title":"Smart Contract overview","href":"/op-stack/protocol/smart-contracts"},{"title":"The Blockspace and Standard Rollup Charters","href":"/op-stack/protocol/blockspace-charter"},{"title":"Sequencer outages","href":"/op-stack/protocol/outages"},{"title":"Block time research","href":"/op-stack/research/block-time-research"},{"group":"Transactions","pages":[{"title":"Transaction fees on OP Mainnet","href":"/op-stack/transactions/fees"},{"title":"Fee vaults","href":"/op-stack/transactions/fee-vaults"},{"title":"Forced Transaction","href":"/op-stack/transactions/forced-transaction"},{"title":"Transaction finality","href":"/op-stack/transactions/transaction-finality"},{"title":"Transaction flow","href":"/op-stack/transactions/transaction-flow"}]},{"group":"Bridging","pages":[{"title":"Cross-Domain Overview","href":"/op-stack/bridging/cross-domain"},{"title":"Deposit flow","href":"/op-stack/bridging/deposit-flow"},{"title":"Withdrawal flow","href":"/op-stack/bridging/withdrawal-flow"}]},{"group":"Fault Proofs","pages":[{"title":"Fault proofs","href":"/op-stack/fault-proofs/index"},{"title":"Fault proofs explainer","href":"/op-stack/fault-proofs/explainer"},{"title":"Fault proofs security","href":"/op-stack/fault-proofs/fp-security"},{"title":"FP system components","href":"/op-stack/fault-proofs/fp-components"},{"title":"Fault proof VM: Cannon","href":"/op-stack/fault-proofs/cannon"},{"title":"Fault proof VM: MIPS64.sol","href":"/op-stack/fault-proofs/mips"},{"title":"OP-Challenger explainer","href":"/op-stack/fault-proofs/challenger"},{"title":"Fault proofs reference","href":"/op-stack/fault-proofs/reference"},{"group":"Kona","pages":[{"group":"Fault Proof Program Development","pages":[{"title":"Fault Proof Program Development","href":"/op-stack/fault-proofs/kona/fpp-dev/intro"},{"title":"Environment","href":"/op-stack/fault-proofs/kona/fpp-dev/env"},{"title":"Supported Targets","href":"/op-stack/fault-proofs/kona/fpp-dev/targets"},{"title":"Prologue","href":"/op-stack/fault-proofs/kona/fpp-dev/prologue"},{"title":"Execution","href":"/op-stack/fault-proofs/kona/fpp-dev/execution"},{"title":"Epilogue","href":"/op-stack/fault-proofs/kona/fpp-dev/epilogue"}]},{"group":"Proof SDK","pages":[{"title":"Kona Proof SDK","href":"/op-stack/fault-proofs/kona/proof/intro"},{"title":"Understanding the OP Stack STF","href":"/op-stack/fault-proofs/kona/proof/stf"},{"title":"FPVM Backend","href":"/op-stack/fault-proofs/kona/proof/fpvm-backend"},{"title":"Custom Backends","href":"/op-stack/fault-proofs/kona/proof/custom-backend"},{"title":"`kona-executor` Extensions","href":"/op-stack/fault-proofs/kona/proof/exec-ext"}]}]}]},{"group":"Interoperability","pages":[{"title":"Interoperability","href":"/op-stack/interop/index"},{"title":"OP Stack interoperability explainer","href":"/op-stack/interop/explainer"},{"title":"OP Supernode","href":"/op-stack/interop/supernode"},{"title":"Interop reorg awareness","href":"/op-stack/interop/reorg"},{"title":"Superchain ETH Bridge","href":"/op-stack/interop/superchain-eth-bridge"}]}]},{"group":"Security","pages":[{"title":"OP Stack Security","sidebarTitle":"Overview","href":"/op-stack/security/index"},{"title":"Privileged Roles in OP Stack Chains","href":"/op-stack/protocol/privileged-roles"},{"title":"OP Stack security model","href":"/op-stack/security/faq-sec-model"},{"title":"Security policy and bug bounty program","href":"/op-stack/security/security-policy"},{"title":"Audit reports","href":"/op-stack/security/audit-reports"},{"title":"Pausing the bridge","href":"/op-stack/security/pause"},{"title":"Security guidance for exchanges and bridges","href":"/op-stack/security/exchanges-and-bridges"},{"title":"Crosschain security measures for safe interoperability","href":"/op-stack/security/interop-security"}]},{"group":"Features","pages":[{"title":"Subblocks","href":"/op-stack/features/subblocks"},{"title":"Sequencer Defined Metering","href":"/op-stack/features/sdm"},{"title":"Custom Gas Token","href":"/op-stack/features/custom-gas-token"},{"title":"Bridged USDC Standard on OP Stack","href":"/op-stack/features/bridged-usdc-standard"},{"title":"Span Batches","href":"/op-stack/features/span-batches"},{"title":"SendRawTransactionConditional explainer","href":"/op-stack/features/send-raw-transaction-conditional"},{"title":"L2 Contract Manager","href":"/op-stack/features/l2-contract-manager"},{"title":"Osaka on L2","href":"/op-stack/features/osaka-on-l2"},{"title":"OP Stack preinstalls","href":"/op-stack/features/preinstalls"},{"title":"Alt-DA Mode Explainer","href":"/op-stack/features/experimental/alt-da-mode"}]},{"group":"Reference","pages":[{"group":"Stack Components","pages":[{"title":"Stack Components","sidebarTitle":"Overview","href":"/op-stack/components/index"},{"group":"Sequencing","pages":[{"title":"op-batcher","href":"/op-stack/components/op-batcher"},{"title":"op-conductor","href":"/op-stack/components/op-conductor"}]},{"group":"Derivation \u0026 Execution","pages":[{"title":"op-node","href":"/op-stack/components/op-node"},{"title":"kona-node","href":"/op-stack/components/kona-node"},{"title":"op-reth","href":"/op-stack/components/op-reth"}]},{"group":"Settlement \u0026 Proofs","pages":[{"title":"op-proposer","href":"/op-stack/components/op-proposer"},{"title":"op-challenger","href":"/op-stack/components/op-challenger"},{"title":"cannon","href":"/op-stack/components/cannon"},{"title":"kona-client","href":"/op-stack/components/kona-client"},{"title":"kona-host","href":"/op-stack/components/kona-host"},{"title":"op-contracts","href":"/op-stack/components/op-contracts"}]},{"group":"Deployment \u0026 Infrastructure","pages":[{"title":"op-deployer","href":"/op-stack/components/op-deployer"},{"title":"proxyd","href":"/op-stack/components/proxyd"}]}]},{"group":"Network upgrades","pages":[{"title":"Network upgrades","href":"/op-stack/protocol/network-upgrades"},{"title":"Lagoon","href":"/op-stack/protocol/hardforks/lagoon"},{"title":"Karst","href":"/op-stack/protocol/hardforks/karst"},{"title":"Jovian","href":"/op-stack/protocol/hardforks/jovian"},{"title":"Isthmus","href":"/op-stack/protocol/hardforks/isthmus"},{"title":"Holocene","href":"/op-stack/protocol/hardforks/holocene"},{"title":"Granite","href":"/op-stack/protocol/hardforks/granite"},{"title":"Fjord","href":"/op-stack/protocol/hardforks/fjord"},{"title":"Ecotone","href":"/op-stack/protocol/hardforks/ecotone"},{"title":"Delta","href":"/op-stack/protocol/hardforks/delta"},{"title":"Canyon","href":"/op-stack/protocol/hardforks/canyon"},{"title":"Regolith","href":"/op-stack/protocol/hardforks/regolith"}]},{"title":"The superchain-registry","href":"/op-stack/protocol/superchain-registry"},{"title":"Glossary","href":"/op-stack/reference/glossary"}]}]},{"tab":"OP Mainnet","groups":[{"group":"About OP Mainnet","pages":[{"title":"OP Mainnet","sidebarTitle":"Overview","href":"/op-mainnet"}]},{"group":"Reference","pages":[{"title":"Connecting to OP Mainnet","href":"/op-mainnet/network-information/connecting-to-op"},{"title":"OP Mainnet Contract Addresses","href":"/op-mainnet/network-information/op-addresses"},{"title":"Snapshots","href":"/op-mainnet/network-information/snapshots"},{"title":"Transaction finality on OP Mainnet","href":"/op-mainnet/network-information/transaction-finality"}]},{"group":"Pre-Bedrock History","pages":[{"title":"Legacy Geth configuration","href":"/node-operators/guides/configuration/legacy-geth"},{"title":"Legacy Geth configuration options","href":"/node-operators/reference/legacy-geth-config"},{"title":"Accessing pre-regenesis history","href":"/op-mainnet/pre-bedrock-history/regenesis-history"},{"title":"Lost pre-regenesis data","href":"/op-mainnet/pre-bedrock-history/lost-pre-regenesis-data"}]}]},{"tab":"Governance","groups":[{"group":"Governance","pages":[{"title":"Protocol Upgrades","href":"/governance/protocol-upgrades"},{"title":"Capital Allocation","href":"/governance/capital-allocation"},{"title":"Evolution \u0026 Experimentation","href":"/governance/evolution-and-experimentation"},{"title":"Dashboards, trackers, and addresses","href":"/governance/resources"},{"title":"FAQs","href":"/governance/gov-faq"}]}]},{"tab":"Notices","groups":[{"group":"Network Notices","pages":[{"title":"Network Notices","sidebarTitle":"Overview","href":"/notices"},{"group":"Network Upgrades","pages":[{"title":"Upgrade 21","href":"/notices/upgrade-21"},{"title":"Prepare for interop on OP Mainnet and Unichain","href":"/notices/interop-prep"}]},{"group":"Operations","pages":[{"title":"Preconfirmation Architecture Transition","href":"/notices/preconfirmation-architecture-transition"},{"title":"Subblocks: 200 ms interval and stream payload changes","href":"/notices/subblocks"},{"title":"Specialized op-node topology with light nodes","href":"/notices/specialized-node-topology"},{"title":"op-reth storage v1 deprecation and migration to storage v2","href":"/notices/op-reth-storage-v1-deprecation"}]},{"title":"Notice archive","sidebarTitle":"Archive","href":"/notices/archive/index"}]},{"group":"Releases","pages":[{"title":"Releases","sidebarTitle":"Overview","href":"/releases/index"},{"group":"Protocol","pages":[{"title":"op-node Releases","sidebarTitle":"op-node","href":"/releases/op-node"},{"title":"kona-node Releases","sidebarTitle":"kona-node","href":"/releases/kona-node"},{"title":"op-reth Releases","sidebarTitle":"op-reth","href":"/releases/op-reth"},{"title":"op-batcher Releases","sidebarTitle":"op-batcher","href":"/releases/op-batcher"},{"title":"op-proposer Releases","sidebarTitle":"op-proposer","href":"/releases/op-proposer"},{"title":"op-challenger Releases","sidebarTitle":"op-challenger","href":"/releases/op-challenger"},{"title":"op-contracts Releases","sidebarTitle":"op-contracts","href":"/releases/op-contracts"}]},{"group":"Fault Proofs","pages":[{"title":"kona-client Releases","sidebarTitle":"kona-client","href":"/releases/kona-client"},{"title":"kona-host Releases","sidebarTitle":"kona-host","href":"/releases/kona-host"}]},{"group":"Tooling","pages":[{"title":"op-deployer Releases","sidebarTitle":"op-deployer","href":"/releases/op-deployer"},{"title":"op-conductor Releases","sidebarTitle":"op-conductor","href":"/releases/op-conductor"},{"title":"proxyd Releases","sidebarTitle":"proxyd","href":"/releases/proxyd"},{"title":"op-acceptor Releases","sidebarTitle":"op-acceptor","href":"/releases/op-acceptor"}]}]}]}]},{"language":"ko","pages":[{"title":"ko","href":"/ko"}]}]},"basePath":"","title":"Optimism Documentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}