---
title: Overview
description: Choose the right thru abi command for ABI account management,
  analysis, reflection, and code generation
source_url:
  html: https://thru.org/docs/cli-reference/abi-commands/
  md: https://thru.org/docs/cli-reference/abi-commands.md
---

# Overview

Use `thru abi` when your task is about ABI YAML files or ABI accounts, not program binaries.

> **Tip:**
>
> **Transaction Fees**: Currently all transaction fees are set to 0. Transaction fees will be implemented and charged in future releases.

## Use This When

- you want to create, upgrade, finalize, close, or inspect an on-chain ABI account
- you want to generate C, Rust, or TypeScript code from ABI YAML
- you want to analyze ABI types, print layout IR, or preview generated helpers
- you want to decode binary payloads against an ABI type
- you need to flatten imports, prepare an ABI for publishing, or bundle dependencies for WASM-style consumers

Choose another family when:

- you are deploying or upgrading binaries: [Program](https://thru.org/docs/cli-reference/program-commands.md)
- you are working with raw upload buffers: [Uploader](https://thru.org/docs/cli-reference/uploader-commands.md)
- you only need chain reads or transaction inspection: [RPC](https://thru.org/docs/cli-reference/rpc-commands.md) or [Transaction](https://thru.org/docs/cli-reference/transaction-commands.md)

## Start Here

- [Account](https://thru.org/docs/cli-reference/abi-account.md): Create, upgrade, finalize, close, and inspect on-chain ABI accounts.
- [Codegen](https://thru.org/docs/cli-reference/abi-codegen.md): Generate C, Rust, or TypeScript code from ABI type definitions.
- [Analyze](https://thru.org/docs/cli-reference/abi-analyze.md): Inspect resolved ABI types, print shared layout IR, and preview helper output.
- [Reflect](https://thru.org/docs/cli-reference/abi-reflect.md): Decode or validate binary data against an ABI type and print JSON results.
- [Flatten](https://thru.org/docs/cli-reference/abi-flatten.md): Resolve imports into a single ABI YAML file for review or downstream tooling.
- [Prep for Publish](https://thru.org/docs/cli-reference/abi-prep-for-publish.md): Inline local imports and validate the file before you publish an ABI on-chain.
- [Bundle](https://thru.org/docs/cli-reference/abi-bundle.md): Resolve dependencies into a JSON manifest for WASM-backed or browser tooling.

## Command Map

| Command | Use it for | Reads | Writes |
| - | - | - | - |
| `thru abi account ...` | Manage on-chain ABI accounts. | CLI config, ABI YAML, or ABI account address. | Chain state and optional local YAML export. |
| `thru abi codegen ...` | Generate typed client code from ABI YAML. | ABI YAML files and imported dependencies. | A generated source tree under an output directory. |
| `thru abi analyze ...` | Inspect resolved types and preview helper output. | ABI YAML files and imported dependencies. | stdout only. |
| `thru abi reflect ...` | Decode or validate binary payloads. | ABI YAML files plus a binary data file. | stdout JSON only. |
| `thru abi flatten ...` | Collapse imports into one YAML file. | ABI YAML files and imported dependencies. | A flattened YAML file. |
| `thru abi prep-for-publish ...` | Produce a publishable ABI YAML file. | ABI YAML files and local imports. | A publish-ready YAML file. |
| `thru abi bundle ...` | Build a dependency manifest for tooling. | ABI YAML files plus resolved imports. | A JSON manifest file. |

## Minimal Patterns

```bash
thru abi account create my_program ./program.abi.yaml
thru abi codegen --files ./program.abi.yaml --language typescript --output ./generated
thru abi reflect --abi-file ./program.abi.yaml --type-name TransferArgs --data-file ./payload.bin --pretty
```

## Notes

- The `account` subcommands are the only ABI commands here that mutate chain state.
- The tooling commands are local file workflows, so they are safe to use before you publish anything on-chain.
- The examples here use the `thru abi ...` form. The same tooling surface is also exposed by the standalone `abi` binary that lands with the same implementation.
