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

# actions: Quote conversion

> Quote conversion: 3 exports of the actions module of @eco-incorp/sauce, including actionToQuote, QuoteCall, QuoteOpts.

`@eco-incorp/sauce/actions` lowers routing intents into Sauce programs and carries the AMM and bridge action primitives.

```typescript theme={null}
import { actionsToSauce } from "@eco-incorp/sauce/actions";
```

This page covers `actions/dist/to-quote.d.ts`.

<Note>
  Generated from the type declarations shipped in `@eco-incorp/sauce` 0.99.4. Each entry shows the package authors' JSDoc and declaration for this SDK version. For runtime compatibility and deployed addresses, see [architecture and deployments](/programmable-transactions/sauce/architecture-and-deployments).
</Note>

### `actionToQuote`

*Function* · `actions/dist/to-quote.d.ts`

Compile a swap action into calldata for quoting the output amount via `eth_call`.

Every supported action resolves to a view or revert-simulation call that
does **not** require token balance or approvals.

Some protocols use a separate quoter/resolver contract. Pass the relevant
address in `QuoteOpts` when quoting those protocols.

```typescript theme={null}
export declare function actionToQuote(action: SwapAction, amountIn: bigint, opts?: QuoteOpts): QuoteCall;
```

### `QuoteCall`

*Interface* · `actions/dist/to-quote.d.ts`

Result of compiling a swap action into a quote call.

```typescript theme={null}
export interface QuoteCall {
    to: Address;
    data: Hex;
    decode: (result: Hex) => bigint;
    toSauce?: (emit: Emitter) => Fragment;
    toSauceDynamic?: (emit: Emitter, amountExpr: Expr) => Fragment;
}
```

### `QuoteOpts`

*Interface* · `actions/dist/to-quote.d.ts`

External contract addresses needed for quoting protocols that use a
separate quoter / resolver / impact contract.

```typescript theme={null}
export interface QuoteOpts {
    quoterV3?: Address;
    quoterV4?: Address;
    quoterMaverick?: Address;
    impact?: Address;
    relayer?: Address;
    fluidResolver?: Address;
    fluidLiteResolver?: Address;
}
```
