Cross-chain verification precompiles let contracts reason about state or messages from other systems without trusting a bridge committee. They are for applications that need proof-carrying cross-chain behavior, not just ordinary local contract calls.

Surfaces

SurfaceAddressUse it forStatus in docs
ICS02 client0x0000000000000000000000000000000000000807Client updates, membership proofs, and non-membership proofs.ABI reference available
ICS20 transfer0x0000000000000000000000000000000000000802IBC fungible token transfer flows.Learn page and ABI reference available
SP1 Groth16 verifier0x0000000000000000000000000000000000000600Verifying Groth16 proofs from SP1 programs.ABI and gas schedule available
SP1 Plonk verifier0x0000000000000000000000000000000000000700Verifying Plonk proofs from SP1 programs.ABI and gas schedule available
Solana transaction parsingSource-backed catalogue entryParsing Solana transactions and instructions as structured data.Conceptual entry only until ABI details are published here

When to use

  • Use ICS02 when a contract needs to verify a statement about remote chain state.
  • Use ICS20 when the application flow is token movement over IBC.
  • Use SP1 verifiers when the expensive computation or state transition is proven off-chain and checked on-chain.
  • Treat Solana transaction parsing as a specialized interoperability helper; confirm exact ABI and behavior against the canonical ABI reference before building production logic.

Design notes

ConcernGuidance
Trust modelSafety should reduce to source-chain consensus, proof soundness, and light-client verification.
LivenessRelayers or off-chain provers may affect completion time even when verification is trust-minimized.
TimeoutsCross-chain flows need explicit timeout and acknowledgement handling.
GasProof verification can be large; use Precompile ABI Reference for formulas.