Skip to Content
wstGBP is live on Ethereum mainnet · all addresses in these docs are verifiable on-chain
GuidesBridges & Portals

Bridges & Portals

wstGBP bridges to L2s and sidechains using each chain’s own canonical bridge — there is no OFT / xERC20 / omnichain token today. That means five different architectures: OP Stack Standard Bridge, Arbitrum Nitro gateway, the Polygon PoS bridge, and the Gnosis OmniBridge. The L1 token is always the source of truth.

Every address below is verifiable on‑chain — confirm on a block explorer before bridging. For Arbitrum, Polygon exit, and Gnosis exit, the official bridge UI is strongly preferred over hand‑rolled calls (gas params and withdrawal proofs are error‑prone).

L1 token — Ethereum mainnet (chainId 1)

NameSymbolDecimalsAddress
Wren Staked tGBPwstGBP180x57C3571f10767E49C9d7b60feb6c67804783B7aE

Live deployments

ChainChain IDwstGBP (L2)Bridge UIStatus
Base84530xEa4Fcd4dE37eC038947a6834751E71Bb8FE68fffbridge.base.org  · Superbridge 
MegaETH (Frontier)43260x543b44aCf892e190b574780ea5f228f59d26B23crabbithole.megaeth.com/bridge 
Arbitrum One421610x2c8CBe32da6feAECcF99eCeE2900556a17a529EDbridge.arbitrum.io 
Polygon PoS1370x3319d8A0A7f742AAC63D586E7bb846a9ee8218AbPolygon Portal 
Gnosis Chain1000x68115fFA8bF088289B80B1e17cD486B5752492aAbridge.gnosischain.com 

“Portals” — disambiguation

The word portal appears in three unrelated senses across the bridge ecosystem:

  • OptimismPortal — the OP Stack L1 contract beneath the Standard Bridge that handles deposits and finalized withdrawals. End users normally interact with the L1StandardBridge, not the Portal directly.
  • Polygon Portal — the Polygon bridge UI at portal.polygon.technology . Not a contract.
  • FxPortal — Polygon’s permissionless mapping. Not used here; wstGBP uses Polygon’s native PoS mapping instead.

Base (OP Stack · chainId 8453)

RPC https://mainnet.base.org · Explorer https://basescan.org

LayerContractAddress
L1OptimismPortal0x49048044D57e1C92A77f79988d21Fa8fAF74E97e
L1L1StandardBridge0x3154Cf16ccdb4C6d922629664174b904d80F2C35
L1L1CrossDomainMessenger0x866E82a600A1414e583f7F13623F1aC5d58b0Afa
L1OptimismMintableERC20Factory0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84
L2OptimismMintableERC20Factory (use this)0xF10122D428B4bc8A9d050D06a2037259b4c4B83B
L2OptimismMintableERC20Factory predeploy (not used by Base)0x4200000000000000000000000000000000000012

Base runs its own factory 0xF10122… (v1.9.0), not the predeploy — its tooling and bridge UI expect tokens from that factory.

MegaETH “Frontier” (OP Stack · chainId 4326)

RPC https://mainnet.megaeth.com/rpc · Explorer https://megaeth.blockscout.com

LayerContractAddress
L1OptimismPortal0x7f82f57F0Dd546519324392e408b01fcC7D709e8
L1L1StandardBridge0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75
L1L1CrossDomainMessenger0x6C7198250087B29A8040eC63903Bc130f4831Cc9
L1OptimismMintableERC20Factory0xF875030B9464001fC0f964E47546b0AFEEbD7C61
L2OptimismMintableERC20Factory (predeploy)0x4200000000000000000000000000000000000012

Shared OP Stack L2 predeploys

Identical on every OP Stack L2 (Base, MegaETH, and future OP chains):

ContractAddress
L2StandardBridge0x4200000000000000000000000000000000000010
L2CrossDomainMessenger0x4200000000000000000000000000000000000007
L2ToL1MessagePasser0x4200000000000000000000000000000000000016

OP Stack flow

  • Deposit (L1 → L2): approve the L1StandardBridge for wstGBP, then depositERC20(l1Token, l2Token, amount, minGasLimit = 200000, extraData = 0x). Use depositERC20To(..., to, ...) from a contract/Safe or to a different recipient (depositERC20 has an onlyEOA guard). Not payable — pay L1 gas only. Arrives in minutes.
  • Withdraw (L2 → L1): bridgeERC20To on the L2 bridge 0x4200…0010, then finalize on L1 after the challenge period.

Arbitrum One — Nitro gateway (chainId 42161)

RPC https://arb1.arbitrum.io/rpc · Explorer https://arbiscan.io

L2 wstGBP 0x2c8CBe32da6feAECcF99eCeE2900556a17a529ED is a StandardArbERC20, auto‑deployed by the gateway on first deposit (no factory call, no predeploy).

Contract (Ethereum L1)Address
L1GatewayRouter0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef
L1ERC20Gateway (router’s defaultGateway)0xa3A7B6F88361F48403514059F1F16C8E78d60EeC

Deposit: approve the L1ERC20Gateway (not the router) for wstGBP, then L1GatewayRouter.outboundTransferCustomRefund(...) — a payable call needing L2 gas params (maxGas, gasPriceBid, maxSubmissionCost). Prefer the bridge UI or Arbitrum SDK.

Polygon PoS — PoS bridge (chainId 137)

RPC https://polygon-rpc.com · Explorer https://polygonscan.com · UI portal.polygon.technology 

L2 wstGBP 0x3319d8A0A7f742AAC63D586E7bb846a9ee8218Ab is a native PoS‑bridge child ERC‑20 (the L1 ERC20Predicate locks, the L2 ChildChainManager mints/burns; backed 1:1).

Contract (Ethereum L1)Address
RootChainManager (proxy)0xA0c68C638235ee32657e8f720a23ceC1bFc77C77
ERC20Predicate (locks wstGBP)0x40ec5B33f54e0E8A33A975908C5BA1c14e5BbbDf
Contract (Polygon · 137)Address
wstGBP child token0x3319d8A0A7f742AAC63D586E7bb846a9ee8218Ab
ChildChainManager (proxy; holds DEPOSITOR_ROLE)0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa

Deposit (L1 → L2): approve the ERC20Predicate, then RootChainManager.depositFor(user, wstGBP, abi.encode(amount)). Arrives in ~20–30 min via state sync. Withdraw (L2 → L1): withdraw(amount) on the child token to burn, wait for the next Heimdall checkpoint, then RootChainManager.exit(burnProof) on L1 — the Portal UI assembles the proof.

Gnosis Chain — OmniBridge / AMB (chainId 100)

RPC https://rpc.gnosischain.com · Explorer https://gnosisscan.io · UI bridge.gnosischain.com 

L2 wstGBP 0x68115fFA8bF088289B80B1e17cD486B5752492aA is an ERC677 PermittableToken, auto‑deployed by the Home mediator on first deposit (backed 1:1 by tokens locked on L1).

Contract (Ethereum L1)Address
OmniBridge Foreign mediator (locks wstGBP)0x88ad09518695c6c3712AC10a214bE5109a655671
Contract (Gnosis · 100)Address
wstGBP bridged token (ERC677)0x68115fFA8bF088289B80B1e17cD486B5752492aA
OmniBridge Home mediator (mints/burns)0xf6A78083ca3e2a662D6dd1703c939c8aCE2e268d

Deposit (L1 → Gnosis): approve the Foreign mediator, then relayTokens(wstGBP, receiver, amount). Arrives in ~5–15 min. Withdraw (Gnosis → L1): relayTokens(...) on the Home mediator (or ERC677 transferAndCall(homeMediator, amount, "")) to burn, wait for validator signatures, then submit the signed claim on L1 — Gnosis→ Ethereum messages are not auto‑relayed, so the bridge UI (or you) must pay the L1 claim.

Roadmap — not yet live

ChainChain IDArchitectureStatus
OP Mainnet10OP Stack⬜ planned
Unichain130OP Stack⬜ planned
BNB Smart Chain56Independent L1 — needs LayerZero OFT / Wormhole NTT (decision pending)
Plasma (XPL)9745Independent L1 — canonical interop is LayerZero (OFT)

OP Mainnet and Unichain reuse the same OP Stack flow as Base/MegaETH. BNB and Plasma have no Ethereum‑rollup canonical bridge, so they require an issuer‑deployed messaging‑layer token; that standard has not been chosen yet and nothing is deployed.

Last updated on