Publish With The Program Seed
The program and ABI should use the same seed.ABI-Focused Flow
- validate the ABI locally first with Validation and roundtrip testing
- confirm the published artifact will be explorer-compatible with Explorer Compatibility
- if the ABI still depends on local imports, normalize it with ABI Prep for Publish
- create or upgrade the ABI account with ABI Account
- read the ABI back with
get --include-datato confirm the published artifact is the one you expected
Common ABI Publishing Gotchas
- publishing an ABI that was never roundtrip-tested
- publishing an ABI without
program-metadata.root-types - publishing only separate per-instruction structs instead of one discriminated instruction root
- publishing an ABI with a different seed than the deployed program
- forgetting that local imports need to be normalized before publication
- finalizing too early and losing the ability to upgrade or close the ABI account
Typical Follow-Up Commands
- ABI Prep for Publish
- ABI Account
- Explorer Compatibility
- Recommended Development Pattern for the broader deploy, test, and debug loop