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

# svm venue: mercurial

> 4 exports of the mercurial venue integration in @eco-incorp/sauce/svm, including MERCURIAL_PROGRAM_ID, mercurial, fetchMercurialPoolConfig, MercurialPoolConfig.

Solana venue integration `mercurial` under `svm/venues/mercurial`.

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

### `MERCURIAL_PROGRAM_ID`

*Variable* · `sdk/dist/svm/venues/mercurial/index.d.ts`

```typescript theme={null}
MERCURIAL_PROGRAM_ID: Address<"MERLuDFBMmsHnsBPZw2sDQZHvXFMwp8EdjudcU2HKky">
```

### `mercurial`

*Variable* · `sdk/dist/svm/venues/mercurial/index.d.ts`

Family facade for the recipe orchestrator (ladder-only, like orca-whirlpool/raydium-clmm/saber-stableswap).

```typescript theme={null}
mercurial: {
    slug: string;
    programId: Address<"MERLuDFBMmsHnsBPZw2sDQZHvXFMwp8EdjudcU2HKky">;
    tokenProgram: Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
    fetchPoolConfig: typeof fetchMercurialPoolConfig;
}
```

### `fetchMercurialPoolConfig`

*Function* · `sdk/dist/svm/venues/mercurial/index.d.ts`

Fetch + decode one Mercurial SwapV2 pool, plus its two vaults' mints. Read-only against the loader.

```typescript theme={null}
export declare function fetchMercurialPoolConfig(load: AccountLoader, pool: Address): Promise<MercurialPoolConfig>;
```

### `MercurialPoolConfig`

*Interface* · `sdk/dist/svm/venues/mercurial/index.d.ts`

```typescript theme={null}
export interface MercurialPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "aToB" | "bToA";
    nonce: number;
    authority: Address;
    vaultA: Address;
    vaultB: Address;
    mintA: Address;
    mintB: Address;
}
```
