> ## 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: solfi-v1

> 10 exports of the solfi-v1 venue integration in @eco-incorp/sauce/svm, including SOLFI_V1_PROGRAM_ID, SOLFI_V1_POOL_ACCOUNT_SIZE, SOLFI_V1_OFF_MINT_A, SOLFI_V1_OFF_MINT_B, SOLFI_V1_OFF_VAULT_A, SOLFI_V1_OFF_VAULT_B.

Solana venue integration `solfi-v1` under `svm/venues/solfi-v1`.

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

### `SOLFI_V1_PROGRAM_ID`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
SOLFI_V1_PROGRAM_ID: Address<"SoLFiHG9TfgtdUXUjWAxi3LtvYuFyDLVhBWxdMZxyCe">
```

### `SOLFI_V1_POOL_ACCOUNT_SIZE`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
POOL_ACCOUNT_SIZE = 2800
```

### `SOLFI_V1_OFF_MINT_A`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
OFF_MINT_A = 2664
```

### `SOLFI_V1_OFF_MINT_B`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
OFF_MINT_B = 2696
```

### `SOLFI_V1_OFF_VAULT_A`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
OFF_VAULT_A = 2736
```

### `SOLFI_V1_OFF_VAULT_B`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
OFF_VAULT_B = 2768
```

### `SOLFI_V1_POOL_RATES`

*Variable* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

Per-pool, per-direction verified floor rates. A pool absent here THROWS at
`fetchPoolConfig` (see `fetchSolfiV1Config`) - never borrowed from another
pool, mirroring solfi-v2's `POOL_K`. direction 0 = mintA -> mintB, 1 =
mintB -> mintA (matches the on-chain instruction's direction byte).

'65ZHSArs...'-style single-pool coverage today: the only pool this
integration's LiteSVM sweep verified (docs/solfi-v1-evidence.md). Extend
by running the same sweep against another pool's real bytes.

```typescript theme={null}
SOLFI_V1_POOL_RATES: Record<string, {
    0: SolfiV1FloorRate;
    1: SolfiV1FloorRate;
}>
```

### `fetchSolfiV1Config`

*Function* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

Off-chain gate + decode: pool size, mint/vault pubkeys (plaintext, fixed
offsets - verified across all 40 discovered pools), and the per-pool
verified floor rate (REQUIRED - see `SOLFI_V1_POOL_RATES`; a pool not yet
independently verified throws rather than guessing).

```typescript theme={null}
export declare function fetchSolfiV1Config(load: AccountLoader, pool: Address, direction?: 0 | 1): Promise<SolfiV1PoolConfig>;
```

### `SolfiV1FloorRate`

*Interface* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

The verified conservative floor rate for a pool + direction: real realized
output is >= (num/den)·amountIn at every sampled size (see the module doc
and docs/solfi-v1-evidence.md for the raw LiteSVM sweep this was derived
from - NOT a claim about the venue's real fee/impact schedule, a safety
floor sized so the model never over-promises).

```typescript theme={null}
export interface SolfiV1FloorRate {
    num: bigint;
    den: bigint;
}
```

### `SolfiV1PoolConfig`

*Interface* · `sdk/dist/svm/venues/solfi-v1/index.d.ts`

```typescript theme={null}
export interface SolfiV1PoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: 0 | 1;
    mintA: Address;
    mintB: Address;
    vaultA: Address;
    vaultB: Address;
    rate0: SolfiV1FloorRate;
    rate1: SolfiV1FloorRate;
}
```
