diff --git a/pages/builders/chain-operators/architecture.mdx b/pages/builders/chain-operators/architecture.mdx
index 306cbb170..a719bc439 100644
--- a/pages/builders/chain-operators/architecture.mdx
+++ b/pages/builders/chain-operators/architecture.mdx
@@ -5,7 +5,7 @@ description: Learn about the OP chain architecture.
---
import Image from 'next/image'
-
+import { Callout } from 'nextra/components'
import {OpProposerDescriptionShort} from '@/content/index.js'
# Chain Architecture
@@ -82,6 +82,10 @@ The Sequencer node works with the batcher and proposer to create new blocks. So
handle the state changing RPC request `eth_sendRawTransaction`. It can be peered with
replica nodes to gossip new `unsafe` blocks to the rest of the network.
+
+To run a rollup, you need a minimum of one archive node. This is required by the proposer as the the data that it needs can be older than the data available to a full node. Note that since the proposer doesn't care what archive node it points to, you can technically point it towards an archive node that isn't the sequencer.
+
+
### Replica node
diff --git a/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx b/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx
index ae04d2345..dfb7c1a30 100644
--- a/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx
+++ b/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx
@@ -531,7 +531,7 @@ cd ~/op-geth
You're using `--gcmode=archive` to run `op-geth` here because this node will act as your Sequencer.
It's useful to run the Sequencer in archive mode because the `op-proposer` requires access to the full state.
-Feel free to run other (non-Sequencer) nodes in full mode if you'd like to save disk space.
+Feel free to run other (non-Sequencer) nodes in full mode if you'd like to save disk space. Just make sure at least one other archive node exists and the `op-proposer` points to it.