$1.94B volume
POLYMER PROVEAPI / cross-chain proof generation

Proofs across
every chain.

One HTTP call. A cryptographic proof that something happened on another chain. Your contract verifies it in one line of Solidity. No relayer, no light client, no custom infrastructure to maintain.

READ THE DOCS ↗ HOW IT WORKS ↓
Source chain
Base · chain_id 8453
Tx hash
0x9a3f…b21c
Event
log_index 2
Block
23,448,219 · finalized
CRYPTOGRAPHIC PROOF · CrossL2ProverV2 proof_id 0x4a8f2c1b…e92c // 2,341 bytes · RLP
MERKLE INCLUSION 0xa1.. 0xb7.. 0x3e.. 0xff.. leaves · receipt logs h(a1‖b7) h(3e‖ff) receipts_root ↓ committed in block header PATH: [ 0xb7.., h(3e‖ff) ] DEPTH: 2
POLYMER · CRYPTOGRAPHIC PROOF · VERIFIABLE · POLYMER · CRYPTOGRAPHIC PROOF · VERIFIABLE · PROOF_BYTES 0x4a8f…e92c keccak256 · 32 B VERIFIED ✓
SRC BLOCK HEADER number 23,448,219 parent_hash 0x9f12…aa01 state_root 0x73c8…b14d receipts_root 0xe4ab…0c2f tx_hash 0x9a3f…b21c log_index 2 SIGNED: consensus · finalized ANCHOR: receipts_root ≡ merkle root
CONTAINSblock_header · merkle_path · log_payload
VERIFIES TOCrossL2ProverV2.validateEvent(proof) → (chainId, emitter, topics, data)
0x4a8f2c1b9d7e4f3a8c61b9027ee9d4a8c2f1b73d6e4a91c8f3b27d1e9c4a8f2c · 0x9f12aa01b73d6e4a91c8f3b27d1e9c4a8f2c1b9d7e4f3a8c61b902 · 0xe4ab0c2f3a8c61b9027ee9d4a8c2f1b73d6e4a91c8f3b27d1e9c4a8f · 0x73c8b14d6e4a91c8f3b27d1e9c4a8f2c1b9d7e4f3a8c61b9027ee9d4 · 0x4a8f2c1b9d7e4f3a8c61b9027ee9d4a8c2f1b73d6e4a91c8f3b27d1e9c4a8f2c · 0x9f12aa01b73d6e4a91c8f3b27d1e9c4a8f2c1b9d7e4f3a8c61b902 · 0xe4ab0c2f3a8c61b9027ee9d4a8c2f1b73d6e4a91c8f3b27d1e9c4a8f · 0x73c8b14d6e4a91c8f3b27d1e9c4a8f2c1b9d7e4f3a8c61b9027ee9d4 ·
Dest chain
Optimism · chain_id 10
Verifier
CrossL2ProverV2 · Solidity
Integration
1 HTTP call + 1 verify call
Latency
seconds after finality
Live Network Mainnet
57
chains connected
417,979
proofs generated
$1.94B
value transferred
// PROOF SHAPE
Source-chain state → dest-chain bytes
Merkle inclusion · packed for the consumer's verifier contract
// INTEGRATION
1 HTTP call · ~50 lines of Solidity
No relayer to run. No light client to maintain.
// STATUS
Live in production
Actively supported · existing customer integrations
01 // HOW IT WORKS

Request a proof. Verify on the other side.

ProveAPI sits between any two chains. Ask it to prove an event or piece of state on the source chain. It returns a single payload your destination contract verifies in one call.

STEP / 01
Application calls ProveAPI

Tell ProveAPI which event you want to prove: chain, block, log index. Authenticate with your API key.

CALLER · OFFCHAIN
→
STEP / 02
Service composes the proof

ProveAPI builds a cryptographic proof against the source chain's state and packages it into a single payload your destination contract will accept.

PROVEAPI · MANAGED
→
STEP / 03
Destination contract verifies

Your contract calls validateEvent(proof) on the CrossL2ProverV2 predeploy. Returns the verified event payload. ~50 lines of Solidity to integrate.

CONSUMER · ONCHAIN
POST api.polymer.zone/v1/ · log_requestProof REQUEST

  "jsonrpc": "2.0", "id": 1,
  "method": "log_requestProof",
  "params": [
    "srcChainId":      8453,        // Base
    "srcBlockNumber":  23448219,
    "globalLogIndex":  42           // log index in block
  ]
200 application/json · proof_query POLL → COMPLETE

  "jsonrpc": "2.0", "id": 2,
  "result": 
    "status": "complete",
    "proof":  "0x01f9…a2d4"      // base64 IAVL proof bytes
  
02 // USE CASES

Anywhere a contract needs to know something happened elsewhere.

Bridges, intent solvers, omnichain governance, cross-chain oracles. Anywhere you currently run your own relayer infrastructure or trust a multisig to pass data between chains.

CASE / 01

Bridges & messaging

Move funds across chains. Replace your relayer pipeline with a verified proof of the source-chain event.

e.g.token bridges · order routing · vault rebalancing
CASE / 02

Intent solvers

Settle cross-chain intents the moment they're filled. No extra trust assumption, no off-chain attesters.

e.g.cross-chain swaps · solver settlement · escrow release
CASE / 03

Oracles & governance

Read a value or vote on one chain, prove it on another. Powers omnichain DAOs, cross-network price feeds, and policies that span L2s.

e.g.omnichain voting · price refs · L1↔L2 readbacks
// CHAINS SUPPORTED
Ethereum mainnet · L2 rollups
Base · Optimism · Arbitrum · Polygon zkEVM · others — see docs
// PROOF FORMAT
CrossL2ProverV2 · Solidity predeploy
Single bytestring · onchain verifier library · stable ABI
// LATENCY
Seconds, not minutes
Available once the source-chain block is finalized to the destination's expected depth
// AUTH
API key · per-project quotas
Self-serve in dashboard · usage tiers in docs
LIVE IN PRODUCTION
Read the full docs ↗
MONOMER LABS 2026
Privacy·Terms·Press Kit ↗