Overview
Use this section when you are writing ABI YAML by hand, validating that it round-trips correctly, and deploying it alongside a program.
Start Here
Section titled “Start Here” Authoring Guide Write ABI YAML with the right metadata, imports, dynamic fields, and practical guardrails for handwritten schemas.
Examples Start from real ABI snippets for primitives, token instructions, flattened program ABIs, and advanced proof structures.
Explorer Compatibility Publish root types that let explorer tooling reflect instruction, account, and event bytes correctly from the on-chain ABI.
Validation and roundtrip testing Use analyze, codegen, reflect, and real payload roundtrips to prove that the ABI actually works before deployment.
Publishing and Iteration Publish the ABI with the program seed, verify the on-chain artifact, and iterate safely when the schema changes.
Specification Learn the ABI model: deterministic layout, little-endian encoding, import rules, dynamic parameters, and flexible array members.
Choose The Right Page
Section titled “Choose The Right Page”| If your task is… | Open this page | Common CLI follow-up |
|---|---|---|
| Start from real ABI shapes | Examples | ABI Codegen |
| Make explorer reflection work with the published ABI | Explorer Compatibility | ABI Account or Explorer MCP |
| Write or refactor ABI YAML safely | Authoring Guide | ABI Analyze |
| Prove the ABI actually works | Validation and roundtrip testing | ABI Analyze or ABI Reflect |
| Publish or upgrade the ABI artifact on-chain | Publishing and Iteration | ABI Account |
| Reason about layout and binary rules | Specification | ABI Analyze |
Progressive Workflow
Section titled “Progressive Workflow”- Start with Examples or the Authoring Guide so you do not invent schema shapes from scratch.
- Use Explorer Compatibility if the ABI must be reflected correctly from the published on-chain artifact.
- Use Validation and roundtrip testing to run the local proof loop before deployment.
- Move to Publishing and Iteration only once the ABI roundtrips correctly.
- Open Specification only when you need deeper rules about layout, imports, or dynamic parameters.