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

# @eco-incorp/sauce package reference

> The reference for the TypeScript library in @eco-incorp/sauce, by subpath. Start here to find the import you need.

`@eco-incorp/sauce` includes a TypeScript library, the `sauce` command, an MCP server and agent skills. This reference lists the TypeScript exports by import path. For a working example, start with the [TypeScript guide](https://docs.eco.com/sauce-sdk/typescript/overview.md). To choose between the library, terminal and agent tools, read the [SDK overview](https://docs.eco.com/sauce-sdk/introduction.md).

## Requirements

Follow [Installation](https://docs.eco.com/sauce-sdk/installation.md) for Node.js requirements, package setup and optional runtime dependencies.

The package pins the SauceScript compiler, [`@eco-incorp/sauce-compiler`](https://docs.eco.com/sauce-sdk/compiler/api), at exactly 2.6.1 and installs it as a dependency. The SDK pins that compiler with the engine and Kitchen releases its output runs on, one release set per compiler version; more than one compiler version can share an engine and Kitchen, and Pot addresses follow the Kitchen release. Every SDK builder that names an engine refuses one that the release sets record only for other compilers ([Compiler and engine pairing](https://docs.eco.com/sauce/v12.md#compiler-and-engine-pairing)). `@modelcontextprotocol/sdk`, `zod` and `litesvm` are optional peer dependencies: `sauce mcp` loads the first two, and a Solana simulation or a `/testing` Solana chain loads `litesvm`. For the `sauce` command, `sauce runtime install` installs them; a test that runs Solana needs `litesvm` installed in its own project.

## Subpaths

Every import path is a suffix of `@eco-incorp/sauce`; `.` is the package root. The package's `exports` map defines this list. `routes`, `token`, `deposit` and `contracts` are namespaces of the root, not subpaths.

| Import | Contents | Reference |
| - | - | - |
| `.` | Chain exports (`Base`, `Solana`, ...), `chain` and `Token`; the namespaces `routes`, `token`, `deposit`, `contracts` and `svmVenues`; chain and protocol queries; `v12PredictPot`, `potSalt`, `DEFAULT_POT_SALT`, `kitchenExecutionFee`; `sqrtPriceX96FromPrice`, `priceFromSqrtPriceX96`; `ready` | [routes](https://docs.eco.com/sauce-sdk/api/routes/compile.md), [token](https://docs.eco.com/sauce-sdk/api/token/api.md), [deposit](https://docs.eco.com/sauce-sdk/api/deposit/api.md), [contracts](https://docs.eco.com/sauce-sdk/api/contracts/descriptors.md), [helpers](https://docs.eco.com/sauce-sdk/api/helpers/pot-and-fee.md) |
| `/compiler` | `compile`, `ready`, the compiler's types, `resolveSdkModule` and `resolveSdkPackage` | [compiler](https://docs.eco.com/sauce-sdk/api/compiler/compile.md) |
| `/actions` | JSON action programs: parsing, validation and compilation for a chain | [actions](https://docs.eco.com/sauce-sdk/api/actions/types.md) |
| `/actions/action-program.schema.json` | The JSON Schema of an action program | [actions](https://docs.eco.com/sauce-sdk/api/actions/program.md) |
| `/protocols/<slug>` | One protocol's `protocolInfo`, `deployments`, ABIs and named SauceScript templates | [protocols](https://docs.eco.com/sauce-sdk/api/protocols/uniswap-v3-subpath.md) |
| `/chains` | Canonical chain identities and EVM chain metadata | [chains](https://docs.eco.com/sauce-sdk/api/chains/canonical.md) |
| `/deployments` | Release addresses, Pot derivation inputs, and which engine runs which compiler's output | [deployments](https://docs.eco.com/sauce-sdk/api/deployments/current-addresses.md) |
| `/recipes` | `settleSource`, the EVM settle program's text | [recipes](https://docs.eco.com/sauce-sdk/api/recipes/settle.md) |
| `/recipes/settle.sauce.ts` | The EVM settle program file | [recipes](https://docs.eco.com/sauce-sdk/api/recipes/settle.md) |
| `/skills` | Each protocol's Markdown document and their index, as text | [protocols](https://docs.eco.com/sauce-sdk/api/protocols/skills.md) |
| `/svm` | Solana: the client, clusters, PDAs, account resolution, Kitchen instructions, transactions, token accounts, venue adapters | [svm](https://docs.eco.com/sauce-sdk/api/svm/client.md), [svm venues](https://docs.eco.com/sauce-sdk/api/svm-venues/shared.md) |
| `/svm/engine` | The Solana engine's wire format and instruction builders | [svm](https://docs.eco.com/sauce-sdk/api/svm/engine.md) |
| `/svm/engine-artifacts` | File paths to the packaged Solana engine and Kitchen binaries and the Kitchen IDL | [svm](https://docs.eco.com/sauce-sdk/api/svm/engine-artifacts.md) |
| `/svm/verify` | Settle program and engine CPI verification on Solana | [svm](https://docs.eco.com/sauce-sdk/api/svm/verify.md) |
| `/svm/recipes/settle.sauce.ts` | The Solana settle program file | [svm](https://docs.eco.com/sauce-sdk/api/svm/recipes.md) |
| `/evm/engine` | EVM Pot and Kitchen ABIs, call encoders, `potRouterUpdate` | [evm/engine](https://docs.eco.com/sauce-sdk/api/evm-engine/pot-and-kitchen.md) |
| `/verify` | EVM settle payload encoding, decoding and validation against the pinned program | [verify](https://docs.eco.com/sauce-sdk/api/verify/decode.md) |
| `/testing` | Running programs on a forked or empty local chain from a test | [testing](https://docs.eco.com/sauce-sdk/api/testing/fork-and-local.md) |
| `/sauce-script` | Types only: SauceScript's builtins, chains and ABI modules, for an editor checking `*.sauce.ts` files | [Builtins](https://docs.eco.com/sauce/builtins.md) |

```typescript theme={null}
import { routes, Base, requireChain } from "@eco-incorp/sauce";
import { compile, ready } from "@eco-incorp/sauce/compiler";
import { v12EngineAddress, v12KitchenAddress } from "@eco-incorp/sauce/deployments";
import { v12Pot } from "@eco-incorp/sauce/evm/engine";
import { createSauceSvmClient } from "@eco-incorp/sauce/svm";
import { validateSettleProgram } from "@eco-incorp/sauce/verify";
```

Each chain is a named export of the root. Importing the package puts nothing on `globalThis`. Bare names such as `USDC` and `UniswapV3` are SauceScript syntax, which `routes.compileSauceProgram`, the `sauce` command, the MCP server and actions documents resolve before the compiler runs; in TypeScript the same registry entries are on the chain export (`Base.USDC`). See [Names](https://docs.eco.com/sauce/names.md) and [Compiler or SDK](https://docs.eco.com/sauce/builtins.md#compiler-or-sdk).

## Where each import runs

Every import runs in Node.js and in a browser except two, which are Node.js only:

* `/svm/engine-artifacts` returns file system paths to the packaged binaries.
* `/testing` starts a local `anvil` or LiteSVM chain.

In a browser, call `await ready()` once before anything that compiles: `/compiler`, `routes.compileSauceProgram`, the `token` and `deposit` builders, `/recipes`, `/actions` and `/svm/verify`. In Node.js nothing needs it. `/verify` never loads the compiler; it depends on `viem` only.

No import carries an RPC endpoint. Every client you build takes its connection from you. The `sauce` command is the exception: it falls back to public endpoints of its own, which no import exposes.

## How the reference is organized

Each sidebar group is a namespace or subpath, with one page per source module. An entry gives the export's name, its kind, the import paths it is exported from, its doc comment and its TypeScript declaration. Declarations longer than 6,000 characters (large ABI constants) are truncated with a marker. Declarations re-exported from dependencies (`viem`, `@solana/kit`, the compiler) are listed by name on the page of the subpath that re-exports them. Protocol subpaths share one shape, shown for [uniswap-v3](https://docs.eco.com/sauce-sdk/api/protocols/uniswap-v3-subpath.md).

Release addresses are listed once, on [Deployments](https://docs.eco.com/sauce-sdk/reference/deployments.md).

## Next steps

> **[TypeScript](https://docs.eco.com/sauce-sdk/typescript/overview.md)**
>
> Compile a program for a chain and build its cook from TypeScript.

> **[routes](https://docs.eco.com/sauce-sdk/api/routes/compile.md)**
>
> `compileSauceProgram`, `encodeEntryArguments`, `buildSauceEvmCall`.

> **[Compiler package](https://docs.eco.com/sauce-sdk/compiler/api.md)**
>
> `compile`, its options, `CompileResult`, errors and `ready()`.

> **[Deployments](https://docs.eco.com/sauce-sdk/reference/deployments.md)**
>
> Engine, Kitchen and Router addresses of the pinned release.


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