> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI overview

> Find the commands for compiling, simulating and sending Sauce programs, and learn their shared conventions.

`sauce` is the command-line interface of the `@eco-incorp/sauce` package. It compiles SauceScript programs, simulates them against live chain state, and builds, signs and sends the transaction that runs a program on your Pot. It also looks up chain names, prices and pools, and installs the agent skills and the MCP server into a project.

## Prerequisites

Install the `sauce` command with Node.js 24 or newer, following [Installation](https://docs.eco.com/sauce-sdk/installation.md). If this is your first program, follow the [quickstart](https://docs.eco.com/quickstarts/sauce/first-program.md) before using the command reference.

## Usage

```bash theme={null}
sauce <command> [options]
sauce --version (-v)
```

`sauce <command> --help` prints that command's options. An unknown command prints the list of commands and exits 2:

```bash theme={null}
sauce frobnicate
```

```text theme={null}
sauce: unknown command 'frobnicate'. Commands: compile, actions, simulate, run, wallet, tx, sign, send, reclaim, pot, globals, price, pools, inspect, verify, skills, update, runtime, init, mcp
```

## Commands

### Compile, test and send

| Command | What it does |
| - | - |
| [`sauce compile`](https://docs.eco.com/sauce-sdk/cli/compile) | Compile a SauceScript program and print its bytecode. |
| [`sauce actions`](https://docs.eco.com/sauce-sdk/cli/actions) | Convert a JSON actions document to SauceScript for a chain and print the source and bytecode. |
| [`sauce simulate`](https://docs.eco.com/sauce-sdk/cli/simulate) | Simulate the cook from the Pot's owner with no key, and print what it did or why it reverts. |
| [`sauce tx`](https://docs.eco.com/sauce-sdk/cli/tx) | Print the unsigned cook transaction, for a wallet to sign. |
| [`sauce run`](https://docs.eco.com/sauce-sdk/cli/run) | Compile a program, sign, send and wait for the cook on your Pot. |
| [`sauce sign`](https://docs.eco.com/sauce-sdk/cli/sign) | Sign a cook on your Pot for another account to send and pay the gas for, or cancel one. |
| [`sauce send`](https://docs.eco.com/sauce-sdk/cli/send) | Broadcast transactions signed elsewhere, wait for them and report what they did. |
| [`sauce inspect`](https://docs.eco.com/sauce-sdk/cli/inspect) | Decode and inspect a cook, Kitchen call, program or file. |
| [`sauce verify`](https://docs.eco.com/sauce-sdk/cli/verify) | Check that a payload or cook runs the settle program the package ships. |

### Manage wallets and Pots

| Command | What it does |
| - | - |
| [`sauce wallet`](https://docs.eco.com/sauce-sdk/cli/wallet) | Create, list and import the wallets that `--wallet` signs with. |
| [`sauce pot`](https://docs.eco.com/sauce-sdk/cli/pot) | Predict a Pot's address, deploy it, and list the Pots you deployed. |
| [`sauce reclaim`](https://docs.eco.com/sauce-sdk/cli/reclaim) | List the code buffers and lookup tables a Solana owner left open, and close them. |

### Look up names, pools and prices

| Command | What it does |
| - | - |
| [`sauce globals`](https://docs.eco.com/sauce-sdk/cli/globals) | List the tokens, protocols and other names a program on a chain can use. |
| [`sauce pools`](https://docs.eco.com/sauce-sdk/cli/pools) | List a pair's price-limit pools on a chain, deepest first, with their prices. |
| [`sauce price`](https://docs.eco.com/sauce-sdk/cli/price) | Turn a price into a pool's `sqrtPriceX96` and a swap's limits, `priceLimit` included. |

### Set up and maintain a project

| Command | What it does |
| - | - |
| [`sauce init`](https://docs.eco.com/sauce-sdk/cli/init) | Scaffold a project that uses the package. |
| [`sauce mcp`](https://docs.eco.com/sauce-sdk/cli/mcp) | Serve the commands and the agent skills to coding agents over MCP. |
| [`sauce skills`](https://docs.eco.com/sauce-sdk/cli/skills) | Install, update or check the package's agent skills in a project. |
| [`sauce runtime`](https://docs.eco.com/sauce-sdk/cli/runtime) | Install or check the packages that `sauce mcp` and Solana simulations load. |
| [`sauce update`](https://docs.eco.com/sauce-sdk/cli/update) | Update the `sauce` command the way it was installed. |

## Conventions shared by every command

### Program files and stdin

A command that takes a program takes a file, or `-` to read the program from standard input:

```bash theme={null}
cat balance.sauce.ts | sauce compile - --chain base
```

A command never reads standard input unless the program operand is `-`. A program read from standard input resolves its relative imports against the current directory, or against `--source-dir`.

### JSON output

Commands that print a result as text take `--json` and print one JSON object instead. Commands whose normal output is already JSON, such as `sauce tx`, print it without the flag.

### Questions and `-y`

A command that needs your approval, such as deploying your Pot before a cook, asks on the terminal (`/dev/tty`), not on standard input. With no terminal, or with `--json`, `sauce run` names what it needs approved and sends nothing until you pass `-y` (`--yes`) and, for a wallet or keystore, a password source. `-y` is accepted by `sauce run`, `sauce reclaim` and `sauce pot`. A command with nothing to ask refuses it:

```text theme={null}
sauce compile: --yes is not an option of sauce compile: compile has nothing to ask (sauce run, sauce reclaim, sauce pot take it)
```

### Endpoints and chains

A command reads a chain through a built-in public endpoint unless you pass `--rpc-url` or `--config`. `--offline` reads no chain at all. Transactions are built and sent only on Ethereum, Base, Arc and Solana, and the testnets Arc Testnet, Base Sepolia, Ethereum Sepolia, Solana Devnet and Solana Testnet; every other chain is a preview chain. [Chains, endpoints and fees](https://docs.eco.com/sauce-sdk/cli/chains-and-endpoints.md) covers all of this.

### Signing

Nothing is signed without `--wallet`, `--keystore` or `--private-key`; on Solana, without `--wallet` or `--keypair`. A password is read only from the source you name: `--password-env <NAME>` (that one environment variable, the only one the command reads), `--password-file`, or `--password-command`. Otherwise the command asks for it. [Wallets and policy](https://docs.eco.com/sauce-sdk/cli/wallets-and-policy.md) describes wallets, and [Funding a Pot](https://docs.eco.com/sauce-sdk/cli/funding.md) describes how a cook's tokens reach it.

### Exit codes

| Code | Meaning |
| - | - |
| `0` | The command succeeded. |
| `1` | The command ran and failed: a program that does not compile, a cook that reverts, an outdated skills install, a transaction on a preview chain. |
| `2` | The command line was wrong: an unknown command, an unknown or misplaced option, a missing argument. |

## Updates

The command can print a newer-version notice on stderr. Use `sauce update --check` to check explicitly, or `--no-update-check` to disable the notice. [Package updates](https://docs.eco.com/sauce-sdk/operating/upgrading.md) explains package, compiler and agent updates; [`sauce update`](https://docs.eco.com/sauce-sdk/cli/update) documents the command.

## Topics

| Page | Covers |
| - | - |
| [Chains, endpoints and fees](https://docs.eco.com/sauce-sdk/cli/chains-and-endpoints.md) | Supported and preview chains, `--chain`, `--rpc-url`, `--config`, `--offline`, the public endpoints, and Arc's fee floor. |
| [Funding a Pot](https://docs.eco.com/sauce-sdk/cli/funding.md) | How the tokens a cook spends reach the Pot. |
| [Wallets and policy](https://docs.eco.com/sauce-sdk/cli/wallets-and-policy.md) | Wallets, passwords, and the spending policy a wallet is held to. |
| [Solana](https://docs.eco.com/sauce-sdk/cli/solana.md) | What changes for Solana programs on the command line. |

## Next steps

* Follow the [quickstart](https://docs.eco.com/quickstarts/sauce/first-program.md) for a complete program-to-transaction walkthrough.
* Use the [TypeScript library](https://docs.eco.com/sauce-sdk/typescript/overview.md) to run the same workflow from application code.
* Pick a chain and an endpoint: [Chains, endpoints and fees](https://docs.eco.com/sauce-sdk/cli/chains-and-endpoints.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.