{
  "schemaVersion": 1,
  "wpId": 6028,
  "checkedAt": "2026-08-31",
  "purpose": "Pin one completed OP Sepolia and one completed Arbitrum Sepolia canonical L2-to-L1 withdrawal for read-only stage troubleshooting.",
  "publicTestnetEvidence": true,
  "readOnly": true,
  "walletOpened": false,
  "accountConnected": false,
  "signatureRequested": false,
  "proveOrFinalizeCalledByThisFixture": false,
  "transactionBroadcast": false,
  "assetMovedByThisFixture": false,
  "privateKeyPresent": false,
  "seedPhrasePresent": false,
  "participantBalanceQueried": false,
  "cases": {
    "opSepoliaWithdrawal": {
      "protocol": "OP Stack Fault Proof withdrawal",
      "route": "OP Sepolia to Ethereum Sepolia",
      "direction": "L2-to-L1 canonical ETH withdrawal",
      "asset": {
        "kind": "public testnet ETH",
        "sourceToken": "native ETH on OP Sepolia",
        "destinationToken": "native ETH on Ethereum Sepolia",
        "amountWei": "1000000000000000000",
        "recipient": "0x6e9497fad34b9c554a7926989051b20d681abce2",
        "recipientBalanceQueried": false
      },
      "contracts": {
        "l2StandardBridge": "0x4200000000000000000000000000000000000010",
        "l2StandardBridgeVersionObservedAtCheck": "1.13.2",
        "l2CrossDomainMessenger": "0x4200000000000000000000000000000000000007",
        "l2ToL1MessagePasser": "0x4200000000000000000000000000000000000016",
        "optimismPortal": "0x16fc5058f25648194471939df75cf27a2fdc48bc",
        "optimismPortalVersionObservedAtCheck": "5.6.1",
        "optimismPortalImplementationObservedAtCheck": "0xe89f13c5ee4033b2d3cd76c9d6958efbfe26d3c2",
        "l1CrossDomainMessenger": "0x58cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef",
        "l1StandardBridge": "0xfbb0621e0b23b5478b630bd55a5f21f67730b0f1"
      },
      "initiation": {
        "chain": "op-sepolia",
        "chainId": 11155420,
        "transactionHash": "0x52a807d5bf5d216627e73e77abf0fb5c9cced1cea535a347b76f11bb6a505854",
        "blockNumber": 47798324,
        "blockHash": "0x718be0864b65d72e984786f18cc3d3345975ba41dc240a85b15f41559d4d824c",
        "timestamp": 1787399188,
        "timestampIso": "2026-08-22T11:46:28.000Z",
        "receiptStatus": "success",
        "calledContract": "0x4200000000000000000000000000000000000010",
        "function": "bridgeETHTo(address,uint32,bytes)",
        "functionSelector": "0xe11013dd",
        "participant": "0x6e9497fad34b9c554a7926989051b20d681abce2",
        "event": {
          "name": "MessagePassed",
          "contract": "0x4200000000000000000000000000000000000016",
          "topic0": "0x02a52367d10742d8032712c1bb8e0144ff1ec5ffda1ed7d70bb05a2744955054",
          "logIndex": 5
        },
        "explorer": "https://testnet-explorer.optimism.io/tx/0x52a807d5bf5d216627e73e77abf0fb5c9cced1cea535a347b76f11bb6a505854"
      },
      "message": {
        "identifierType": "OP withdrawal hash",
        "withdrawalHash": "0x02e37383d968ff7066a60970e6f6c961f530525d5afcafdf90745d1d9ef2a995",
        "calculation": {
          "nonce": "1766847064778384329583297500742918515827483896875618958121606201292645832",
          "sender": "0x4200000000000000000000000000000000000007",
          "target": "0x58cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef",
          "valueWei": "1000000000000000000",
          "gasLimit": "516470",
          "dataBytes": 452,
          "dataKeccak256": "0x7b8a5f7cf9e7698bb3c8fc08f83750052a3dc5acaeafa913bbaa41d2dc8e8dac",
          "algorithm": "keccak256(abi.encode(nonce, sender, target, value, gasLimit, data))"
        }
      },
      "outputAndGame": {
        "disputeGameIndex": 84080,
        "disputeGameProxy": "0x44d8f0fa0ca747e4d09553137fe9133e5ed9ed6f",
        "gameType": 8,
        "gameStatus": 2,
        "gameStatusLabel": "DEFENDER_WINS",
        "l2BlockNumber": 47798414,
        "l2BlockHash": "0x44985eb64de0034feebba1e8cffc6b1143c72745822a0b7b9cef0b50414d36b8",
        "gameCreatedAt": 1787399472,
        "gameCreatedAtIso": "2026-08-22T11:51:12.000Z",
        "gameResolvedAt": 1787701944,
        "gameResolvedAtIso": "2026-08-25T23:52:24.000Z",
        "proofMaturityDelaySecondsObservedAtCheck": 604800,
        "disputeGameFinalityDelaySecondsObservedAtCheck": 302400,
        "respectedGameTypeObservedAtCheck": 8,
        "timingGuarantee": false
      },
      "proof": {
        "chain": "ethereum-sepolia",
        "chainId": 11155111,
        "transactionHash": "0xeec016ee03119db5c20968c19af3ec1bf3cd3559f8271eea8beb1f21a047c93c",
        "blockNumber": 11549033,
        "blockHash": "0xb5637de82c51dd117f364636f1880c55031586dd45ed2b0a50d31bdd8867cc5e",
        "timestamp": 1787475900,
        "timestampIso": "2026-08-23T09:05:00.000Z",
        "receiptStatus": "success",
        "proofSubmitter": "0x6e9497fad34b9c554a7926989051b20d681abce2",
        "event": {
          "name": "WithdrawalProven",
          "topic0": "0x67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f62",
          "logIndex": 52,
          "withdrawalHash": "0x02e37383d968ff7066a60970e6f6c961f530525d5afcafdf90745d1d9ef2a995"
        },
        "extensionEvent": {
          "name": "WithdrawalProvenExtension1",
          "topic0": "0x798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b97",
          "logIndex": 53
        },
        "explorer": "https://sepolia.etherscan.io/tx/0xeec016ee03119db5c20968c19af3ec1bf3cd3559f8271eea8beb1f21a047c93c"
      },
      "finalization": {
        "chain": "ethereum-sepolia",
        "chainId": 11155111,
        "transactionHash": "0x87f46225c4e1f39d44bea381c7dbd6f172adcdf1e6be0afac2e8528fceb2c00a",
        "blockNumber": 11598122,
        "blockHash": "0x502087a9ed75102dd1956e24b27ac1f0bf814ce4ff3bd7111cf9d98b57afd01d",
        "timestamp": 1788084372,
        "timestampIso": "2026-08-30T10:06:12.000Z",
        "receiptStatus": "success",
        "finalizedWithdrawals": true,
        "event": {
          "name": "WithdrawalFinalized",
          "topic0": "0xdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b",
          "logIndex": 117,
          "withdrawalHash": "0x02e37383d968ff7066a60970e6f6c961f530525d5afcafdf90745d1d9ef2a995",
          "success": true
        },
        "explorer": "https://sepolia.etherscan.io/tx/0x87f46225c4e1f39d44bea381c7dbd6f172adcdf1e6be0afac2e8528fceb2c00a"
      },
      "observation": {
        "initiationToProofSeconds": 76712,
        "initiationToProofDisplay": "21h 18m 32s",
        "proofToFinalizationSeconds": 608472,
        "proofToFinalizationDisplay": "7d 1h 1m 12s",
        "initiationToFinalizationSeconds": 685184,
        "initiationToFinalizationDisplay": "7d 22h 19m 44s",
        "timingGuarantee": false
      }
    },
    "arbitrumSepoliaWithdrawal": {
      "protocol": "Arbitrum Nitro / BoLD withdrawal",
      "route": "Arbitrum Sepolia to Ethereum Sepolia",
      "direction": "child-to-parent canonical ETH withdrawal",
      "asset": {
        "kind": "public testnet ETH",
        "sourceToken": "native ETH on Arbitrum Sepolia",
        "destinationToken": "native ETH on Ethereum Sepolia",
        "amountWei": "500000000000000000",
        "recipient": "0xce237e196f51a644bf397ca521e13ec496113276",
        "recipientBalanceQueried": false
      },
      "contracts": {
        "arbSys": "0x0000000000000000000000000000000000000064",
        "rollup": "0xd80810638dbdf9081b72c1b33c65375e807281c8",
        "bridge": "0x38f918d0e9f1b721edaa41302e399fa1b79333a9",
        "outbox": "0x65f07c7d521164a4d5dac6eb8fac8da067a3b78f",
        "outboxImplementationObservedAtCheck": "0xfed2027e956fa0a1f367c03a20555839441e224f",
        "networkConfigSourceCommit": "92d3960f252ceaf33f8ebb35c402a9b2c4b88a5d"
      },
      "initiation": {
        "chain": "arbitrum-sepolia",
        "chainId": 421614,
        "transactionHash": "0x559f5a93a53f8e850c920f0653fcfe3ece22fef112bb69ef0056523d81a7ab13",
        "blockNumber": 303468608,
        "blockHash": "0x2167eb7abc6b84b60235e643f874beb007e3557f8995d4f68fe0dbd7d8f4dfca",
        "timestamp": 1788061452,
        "timestampIso": "2026-08-30T03:44:12.000Z",
        "receiptStatus": "success",
        "event": {
          "name": "L2ToL1Tx",
          "topic0": "0x3e7aafa77dbf186b7fd488006beff893744caa3c4f6f299e8a709fa2087374fc",
          "logIndex": 9,
          "caller": "0xce237e196f51a644bf397ca521e13ec496113276",
          "destination": "0xce237e196f51a644bf397ca521e13ec496113276",
          "eventHash": "0xcdd0fe422734e3886eb9a435c9aac9d27580c5a11e95329ab6f1dc0b03d00f8b",
          "position": 117694
        },
        "explorer": "https://sepolia.arbiscan.io/tx/0x559f5a93a53f8e850c920f0653fcfe3ece22fef112bb69ef0056523d81a7ab13"
      },
      "assertionAndChallenge": {
        "sdkStatuses": [
          "UNCONFIRMED",
          "CONFIRMED",
          "EXECUTED"
        ],
        "position": 117694,
        "confirmPeriodBlocks": 20,
        "confirmPeriodUnit": "Ethereum Sepolia parent-chain blocks",
        "claimableStatus": "CONFIRMED",
        "executionIsSeparate": true,
        "timingGuarantee": false
      },
      "execution": {
        "chain": "ethereum-sepolia",
        "chainId": 11155111,
        "transactionHash": "0x54cce03b6d3a4fd723f19ce7d70c802741aca1c6a9a6101b37da059ab71571e8",
        "blockNumber": 11598850,
        "blockHash": "0x3da82563844bd90328399ff8e978b0b74d0f30504644124d477ba31e49ff4c90",
        "timestamp": 1788093288,
        "timestampIso": "2026-08-30T12:34:48.000Z",
        "receiptStatus": "success",
        "outboxIsSpent": true,
        "event": {
          "name": "OutBoxTransactionExecuted",
          "topic0": "0x20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab18964",
          "logIndex": 23,
          "caller": "0xce237e196f51a644bf397ca521e13ec496113276",
          "destination": "0xce237e196f51a644bf397ca521e13ec496113276",
          "position": 117694
        },
        "explorer": "https://sepolia.etherscan.io/tx/0x54cce03b6d3a4fd723f19ce7d70c802741aca1c6a9a6101b37da059ab71571e8"
      },
      "observation": {
        "initiationToExecutionSeconds": 31836,
        "initiationToExecutionDisplay": "8h 50m 36s",
        "timingGuarantee": false
      }
    }
  },
  "readOnlyRpcMethods": [
    "eth_chainId",
    "eth_getTransactionReceipt",
    "eth_getBlockByHash",
    "eth_call",
    "eth_getStorageAt"
  ],
  "officialSources": [
    {
      "label": "OP Stack withdrawal flow",
      "url": "https://docs.optimism.io/op-stack/bridging/withdrawal-flow",
      "checkedAt": "2026-08-31"
    },
    {
      "label": "OP Stack withdrawal specification",
      "url": "https://github.com/ethereum-optimism/specs/blob/1d871bd4164b24295ebedf3929d93d62371b5e8e/specs/protocol/withdrawals.md",
      "sourceCommit": "1d871bd4164b24295ebedf3929d93d62371b5e8e"
    },
    {
      "label": "OP Stack stage-one OptimismPortal specification",
      "url": "https://github.com/ethereum-optimism/specs/blob/9e5fde2d282a27cac4b50a664fc0f85e14184753/specs/fault-proof/stage-one/optimism-portal.md",
      "sourceCommit": "9e5fde2d282a27cac4b50a664fc0f85e14184753"
    },
    {
      "label": "OP Sepolia Superchain Registry configuration",
      "url": "https://github.com/ethereum-optimism/superchain-registry/blob/3d974558a971cf997bb54a80eb39b92e1f48fb1b/superchain/configs/sepolia/op.toml",
      "sourceCommit": "3d974558a971cf997bb54a80eb39b92e1f48fb1b"
    },
    {
      "label": "Arbitrum bridge transaction traceability",
      "url": "https://github.com/OffchainLabs/arbitrum-docs/blob/69afcbfa42d864ccedd6bf9ca3a13530fcb8cd32/docs/arbitrum-bridge/05-bridge-transaction-traceability.mdx",
      "sourceCommit": "69afcbfa42d864ccedd6bf9ca3a13530fcb8cd32"
    },
    {
      "label": "Arbitrum withdrawal monitoring",
      "url": "https://github.com/OffchainLabs/arbitrum-docs/blob/50667f498ffcc261917f38bf6e9d52902bb8d8df/docs/arbitrum-bridge/06-withdrawal-monitoring.mdx",
      "sourceCommit": "50667f498ffcc261917f38bf6e9d52902bb8d8df"
    },
    {
      "label": "Arbitrum Sepolia network configuration",
      "url": "https://github.com/OffchainLabs/arbitrum-sdk/blob/92d3960f252ceaf33f8ebb35c402a9b2c4b88a5d/packages/sdk/src/lib/dataEntities/networks.ts",
      "sourceCommit": "92d3960f252ceaf33f8ebb35c402a9b2c4b88a5d"
    }
  ],
  "limitations": [
    "Both cases are historical public testnet observations, not mainnet status, average duration, a service-level objective, or an arrival guarantee.",
    "OP Stack and Arbitrum use different proof, assertion, challenge, and execution state machines; similarly named UI phases are not interchangeable.",
    "The OP example used the canonical Standard Bridge contracts even though its optional extraData identifies a frontend; contract route, not a frontend label, defines this evidence.",
    "The fixture records public testnet participant addresses only to bind events and never queries balances, identity, wallet state, or personal information.",
    "This fixture never connects a wallet, signs, proves, finalizes, executes, claims, approves, broadcasts, or moves an asset."
  ]
}
