> ## 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.

# Sauce SDK

> Choose how to work with Sauce: a terminal, a coding agent, or a TypeScript application.

The Sauce SDK, published as `@eco-incorp/sauce`, gives you tools to write, test and run Sauce programs. A program describes the contract calls and checks you want to run in a transaction.

If you are learning what Sauce does, start with [Sauce](https://docs.eco.com/sauce/introduction.md). This section covers the tools you use to build with it.

## Choose your starting point

| You want to… | Start here |
| - | - |
| Try a program from your terminal | [Installation](https://docs.eco.com/sauce-sdk/installation.md), then the [quickstart](https://docs.eco.com/quickstarts/sauce/first-program.md) |
| Have a coding agent write and test a program | [AI agents](https://docs.eco.com/sauce-sdk/ai-agents.md) |
| Add Sauce to an application | [TypeScript library](https://docs.eco.com/sauce-sdk/typescript/overview.md) |
| Look up a command, tool or function | [CLI](https://docs.eco.com/sauce-sdk/cli/overview.md), [MCP tools](https://docs.eco.com/sauce-sdk/mcp/tools.md), or the [API reference](https://docs.eco.com/sauce-sdk/api/overview.md) |

## One package, three interfaces

The interfaces use the same compiler and transaction-building functions:

* **The `sauce` command** lets you compile, simulate and send programs from a terminal. It also manages wallets and Pots and looks up tokens, prices and pools.
* **The MCP server**, started with `sauce mcp`, exposes tools to a coding agent through the Model Context Protocol. It also provides agent skills that explain SauceScript and common integration patterns.
* **The TypeScript library** lets your application compile programs, encode inputs, build transactions and query the SDK's registries.

You can also install the agent skills in your project with `sauce skills install`. [Installation](https://docs.eco.com/sauce-sdk/installation.md) covers each setup path.

## From a program to a transaction

A Sauce program is a `.sauce.ts` file written in SauceScript. The language uses a supported subset of TypeScript syntax; arbitrary TypeScript and npm packages do not run inside a program. [Program layout](https://docs.eco.com/sauce/program-layout.md) explains the language.

The usual workflow is:

1. **Write the program.** Specify the calls to make and the conditions they must satisfy.
2. **Compile for a chain.** The compiler resolves that chain's token and protocol names and emits bytecode for V12, the Sauce engine.
3. **Simulate.** Test the program against the chain's current state, without signing or sending a transaction.
4. **Build the transaction.** The SDK prepares a *cook*: a transaction that runs the program on your Pot. A Pot holds the program's funds and calls other contracts. If the Pot is not deployed, a deployment transaction comes first.
5. **Review, sign and send.** Use your own wallet or the SDK's wallet tools.

Your program enforces the conditions you write. An uncaught failure reverts the cook. On EVM chains, a `try`/`catch` block can handle a failure after rolling back that block's work. Earlier transactions, including approvals, remain separate. See [How a program runs](https://docs.eco.com/sauce/introduction.md#how-a-program-runs).

## Chain support

The CLI and MCP server build and send transactions on **Ethereum, Base, Arc and Solana**, and on **Arc Testnet, Base Sepolia, Ethereum Sepolia, Solana Devnet and Solana Testnet** (`arc-testnet`, `base-sepolia`, `sepolia`, `solana-devnet`, `solana-testnet`). Other registry entries are preview chains: programs compile and reads work, while simulation also requires the engine and Kitchen to be deployed. The CLI and MCP server do not build or send transactions on preview chains.

The TypeScript library can build transactions for any chain in the registry. A registry entry alone does not confirm a live deployment. Check [chains](https://docs.eco.com/sauce-sdk/reference/chains.md) and [deployments](https://docs.eco.com/sauce-sdk/reference/deployments.md) for the distinction.

`solana-devnet` (id **1399811150**) and `solana-testnet` (id **1399811151**, alias `testnet`) are registry chains with their own mints: devnet registers `USDC` and `WSOL`, testnet registers `WSOL` only. Both clusters run the same Solana engine build, so a program compiled for either reads `ctx.chainId()` as **1399811150**; 1399811151 is the SDK's key for the testnet chain. Mainnet venue names are refused on both.

Arc and Arc Testnet have a **20-gwei minimum base fee**; transactions below that `maxFeePerGas` are not included. The EVM testnet registries have **no Permit2 deployment**: do not select Permit2 funding there.

## Next steps

* [Installation](https://docs.eco.com/sauce-sdk/installation.md): set up the interface you want to use.
* [Quickstart](https://docs.eco.com/quickstarts/sauce/first-program.md): compile and simulate a USDC payment on Base, then build its transaction.
* [Sauce SDK quickstarts](https://docs.eco.com/quickstarts/sauce/overview.md): explore complete programs once you know the workflow.


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