Skip to main content
Use this page when the ABI is locally validated and you are ready to publish or upgrade the ABI artifact that goes with a deployed program.

Publish With The Program Seed

The program and ABI should use the same seed.
thru-cli program create my_program ./build/thruvm/bin/my_program_c.bin
thru-cli abi account create my_program ./program.abi.yaml
That seed match matters because it is how downstream tooling can associate the deployed program with the ABI it should use for reflection.

ABI-Focused Flow

  1. validate the ABI locally first with Validation and roundtrip testing
  2. if the ABI still depends on local imports, normalize it with ABI Prep for Publish
  3. create or upgrade the ABI account with ABI Account
  4. read the ABI back with get --include-data to confirm the published artifact is the one you expected

Common ABI Publishing Gotchas

  • publishing an ABI that was never roundtrip-tested
  • 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