ARBITRUM PULSE FORK: CONTRACT TOPOLOGY, AUTHORITY, ACTIVITY
Read-only audit. PulseChain chain ID369. Pin27824342 (2026-10-17 23:27:45 UTC), hash0xba7291dcf13939ead132641c46c23a6544c1e05b47fdfb0a86f95a1d93a9223c.

TOPOLOGY VERIFIED BY MUTUAL VIEW GETTERS
Rollup 0x5ef0d09d1e6204141b4d37530808ed19f60fba35
Bridge 0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a
Delayed Inbox 0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f
Sequencer Inbox 0x1c479675ad559dc151f6ec7ed3fbf8cee79582b6
Outbox proxy 0x0b9857ae2d4a3dbe74ffe1d7df045bb7f96e4840
Gateway router 0x72ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef
Standard ERC20 gateway 0xa3a7b6f88361f48403514059f1f16c8e78d60eec
Router and standard gateway inbox() points to delayed Inbox4dbd.

Proxy-admin and runtime distinction (EIP1967 slots):
Rollup owner() and proxyadmin = 0x3fffbadaf827559da092217e474760e2b2c3cedd (UpgradeExecutor).
UpgradeExecutor3fffb proxyadmin = 0xb8698cfffdaaf26ca21fe8aa560c18cc2b2f5996 (EOA); implementation = 0x86f0cf42ad673b3d666d103e009ec142d1298a17.
UpgradeExecutor implementation is verified standard source, onlyRole(EXECUTOR_ROLE) gates execute(). ADMIN_ROLE is held by the UpgradeExecutor itself. Among the four addresses tested (3fffb,5996,a0b3,63a1), no address has EXECUTOR_ROLE. 5996 also lacks ADMIN_ROLE, while holding proxy upgrade authority. Do not equate proxy admin with currently granted execute role.
Bridge, SequencerInbox and Outbox current proxy admin = 0xa0b347117a878da9942fa5c31b87c773a2969913 (EOA).
Bridge impl = 0x1066cecc8880948fe55e427e94f1ff221d626591.
SequencerInbox impl = 0xd03bfe2ce83632f4e618a97299cc91b1335bb2d9 (verified historical official SequencerInbox source).
Outbox impl = 0x1d60c6bc8afb07518b1112643ad1610c4732f19c, unverified custom runtime4442bytes. 1d60 is an implementation, not a separate outbox/gateway.
Delayed Inbox admin = 0x63a1c70df12ef3d3de17487179465c021de690f4; implementation5aed5f8a1e3607476f1f81c3d8fe126deb0afe94.
Router owner() = UpgradeExecutor3fffb. Router and standard gateway proxyadmin = 0x9ad46fac0cf7f790e5be05a0f15223935a0c0ada, whose owner() is0x353e1d055ae5352d1b8c9d3f0ffef1e3a4b96294.

FORK VS CURRENT ACTIVITY
Read at block17233000 and27824342 respectively:
SequencerInbox.batchCount:193542 ->193542.
Bridge.sequencerMessageCount:193542 ->193542.
SequencerInbox.totalDelayedMessagesRead:841504 ->841504.
Bridge.delayedMessageCount:841519 ->841594 (+75; no increased consumption).
Rollup.latestConfirmed:5069 ->5355.
Rollup.latestNodeCreated:5223 ->5355.
SequencerInbox.maxTimeVariation:5760/12/86400/3600 ->1/1/1/1.

These readings corroborate a frozen sequencing stream at the examined inherited inbox, despite post-fork L1 assertion and administrative activity. They do not establish a running publicly usable Pulse L2. They also do not rule out an entirely different rollup deployment elsewhere. The Ethereum L2 chainId42161 stored in the inherited Rollup is not proof that Ethereum Arbitrum accepts PulseChain withdrawals or shares state with a Pulse fork.

ROLLUP CURRENT STATE
stakerCount18; validatorWhitelistDisabledtrue; chainId42161; confirmPeriodBlocks45818; wasmModuleRoot6b94a7fc388fd8ef3def759297828dc311761e88d8179c7ee8d3887dc554f3c3.
Stakers include5996 at index10,48Fc at index11,63a1 at index13,a0b3 at index17. Full18 inroles_and_stakers.json. Staking does not confer sequencer/batch-poster role by itself.
265 post-fork NodeConfirmed logs inauthority_events.json. Latest node5355 confirmed block27434764 tx0x029d85756426dcbffc38be469eeecf0bdd9e059180fe00b0100d357321ff83ea; blockhash8e3b15b8840431edeb551093a6fc9b072bb70525b7428382b7cc6603b42d72693; sendroot2c83501fd95639c82084e0e007fe728befb1d7aaaa9ff8e081e0bda2a2f2b19.

OUTBOX HISTORICAL VS CURRENT
Historical implementation0x0ea7372338a589e7f0b00e463a53aa464ef04e17 has verified original Outbox source. Selector08635a95 is standard executeTransaction(bytes32[],uint256,address,address,uint256,uint256,uint256,uint256,bytes). It verifies a Merkle proof against admitted roots, marks an output spent, sets temporary L2sender context, calls bridge.executeCall, and restores context. A valid proof against an inherited root is different from a new Pulse L2 transaction. Conversely, a fabricated admitted root could allow artificial withdrawals despite the original proof checker. Need each root's admission history, not merely presence of a standard selector.
Current custom1d60 exposes nonstandard selector0b8707f6, and outside a transaction l2ToL1Sender() returns34d45e99f7d8c45ed05b5ca72d54bbd1fb3f98f0 rather than zero. Disassembly shows selector0b8707f6 routes to048e and checks CALLER against a configured storage-slot address (slotcfb6a1b25430f9c404ff087d01439b610b3316616617ca1f56dda4897e8071b1) before execution. Thus do not describe it as permissionless without further evidence. Rawslotreading saved separately. No transaction sent.

PRIMARY TECHNICAL SOURCES
https://docs.arbitrum.io/chain-info (current official deployment table; current Ethereum rollup has migrated, so Pulse topology derived from actual getters)
https://docs.arbitrum.io/run-a-node/assign-node-roles (batchposter/sequencer can be separate nodes; validator distinct)
https://docs.arbitrum.io/how-arbitrum-works/inside-arbitrum-nitro (ordered inbox drives deterministic execution)
https://raw.githubusercontent.com/OffchainLabs/arbitrum-sdk/master/packages/sdk/src/lib/dataEntities/networks.ts
https://api.scan.pulsechain.com/api/v2/smart-contracts/0x0ea7372338a589e7f0b00e463a53aa464ef04e17
https://api.scan.pulsechain.com/api/v2/smart-contracts/0x86f0cf42ad673b3d666d103e009ec142d1298a17

FOLLOW-UP ON THE 159.145M WITHDRAWAL
The flow agent reconstructed its proof root21728ec89a33fa8f916fcd625a93b7b0fb2a5e13758e4ec571cffe79dbb2379c. Our independently fetched NodeConfirmed log for node5229 matches that send root, admitted at Pulse block18225799 txa64e90b22c3838b9dd44a3be3cabcb1dd18514cff10486ce49a68fff17ab830e, two blocks before the withdrawal. Its claimed L2 blockhash is0x0000000000000000000000000000000000000000000000000000000000000011. Thus this withdrawal must not be described as merely redeeming an inherited pre-fork root. Exact confirmation call and admission mechanism are being traced in the flows audit.
The current custom-Outbox configured executor slot equals0xfbba783afda7b41ebb7473a914f0b6eb9f9139f3. Proxy admin remainsa0b347..., a separate role.
