Skip to main content
A prover is a contract on the source chain that verifies fulfillment proofs from the destination chain. The Portal accepts any contract that implements the IProver interface. The user picks a prover per intent, meaning the user picks the security model.

Available provers

How proving works

Sequence showing proof of fulfillment travelling from the destination chain back to the source chain: fulfill, emit fulfillment, dispatch proof, withdraw, verify proof, release reward.
The dispatch step (proof crossing chains) is what differentiates each prover. The Portal interface is identical regardless of which prover the user chose.

Picking a prover

A few rules of thumb:
  • USDC routes. Use CCTP, same security as a native CCTP transfer, no AMB.
  • Same-chain intents. Use Local, instant, atomic, no cross-chain message.
  • Wide coverage. Use Hyperlane or LayerZero, many chains, many integrations.
  • Trust-minimized. Use Polymer, IBC light clients, no validator set to trust.
  • Chainlink-secured. Use Chainlink CCIP, settlement carried by Chainlink’s decentralized oracle and Risk Management networks.
Provers can also be added by anyone implementing IProver, no protocol-level approval required.