Surfaces
| Surface | Address | Use it for |
|---|---|---|
| JSON | 0x0000000000000000000000000000000000000701 | Reading structured JSON payloads through a native parser. |
| Address table | Source-backed catalogue entry | Short-hands for frequently used addresses, reducing repeated calldata in supported flows. |
| Bech32 | 0x0000000000000000000000000000000000000400 | Converting between EVM 0x... and Cosmos c8... address formats. |
When to use
- Use JSON parsing when structured payloads are part of a protocol boundary and native parsing is safer than brittle byte slicing.
- Use address conversion when a contract must translate between EVM and Cosmos account representations.
- Use address compression only when the exact canonical interface is available for the target release.
Design notes
| Concern | Guidance |
|---|---|
| Canonical encoding | Define the exact payload shape before relying on parser output. |
| Address UX | Label 0x..., c8..., c8valoper..., and c8valcons... formats clearly in interfaces. |
| Failure behavior | Treat parse failure, unknown paths, and unsupported payload shapes as expected error cases. |
| Reference boundary | Keep exact ABI signatures in Precompile ABI Reference. |