Surfaces
| Surface | Address | Use it for | Status in docs |
|---|---|---|---|
| ICS02 client | 0x0000000000000000000000000000000000000807 | Client updates, membership proofs, and non-membership proofs. | ABI reference available |
| ICS20 transfer | 0x0000000000000000000000000000000000000802 | IBC fungible token transfer flows. | Learn page and ABI reference available |
| SP1 Groth16 verifier | 0x0000000000000000000000000000000000000600 | Verifying Groth16 proofs from SP1 programs. | ABI and gas schedule available |
| SP1 Plonk verifier | 0x0000000000000000000000000000000000000700 | Verifying Plonk proofs from SP1 programs. | ABI and gas schedule available |
| Solana transaction parsing | Source-backed catalogue entry | Parsing 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
| Concern | Guidance |
|---|---|
| Trust model | Safety should reduce to source-chain consensus, proof soundness, and light-client verification. |
| Liveness | Relayers or off-chain provers may affect completion time even when verification is trust-minimized. |
| Timeouts | Cross-chain flows need explicit timeout and acknowledgement handling. |
| Gas | Proof verification can be large; use Precompile ABI Reference for formulas. |