> ## 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: crema

> 22 exports of the crema venue integration in @eco-incorp/sauce/svm, including CREMA_PROGRAM_ID, CLMMPOOL_ACCOUNT_SIZE, CLMMPOOL_DISCRIMINATOR, CREMA_TICK_ARRAY_ACCOUNT_SIZE, CREMA_TICK_ARRAY_DISCRIMINATOR, TICK_ARRAY_MAP_ACCOUNT_SIZE.

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

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

### `CREMA_PROGRAM_ID`

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

```typescript theme={null}
CREMA_PROGRAM_ID: Address<"CLMM9tUoggJu2wagPkkqs9eFG4BWhVBZWkP1qv3Sp7tR">
```

### `CLMMPOOL_ACCOUNT_SIZE`

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

```typescript theme={null}
CLMMPOOL_ACCOUNT_SIZE = 748
```

### `CLMMPOOL_DISCRIMINATOR`

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

sha256('account:Clmmpool')\[0..8].

```typescript theme={null}
CLMMPOOL_DISCRIMINATOR: number[]
```

### `CREMA_TICK_ARRAY_ACCOUNT_SIZE`

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

```typescript theme={null}
TICK_ARRAY_ACCOUNT_SIZE = 8556
```

### `CREMA_TICK_ARRAY_DISCRIMINATOR`

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

sha256('account:TickArray')\[0..8] - byte-identical to orca-whirlpool's own (name-derived, not program-derived).

```typescript theme={null}
TICK_ARRAY_DISCRIMINATOR: number[]
```

### `TICK_ARRAY_MAP_ACCOUNT_SIZE`

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

```typescript theme={null}
TICK_ARRAY_MAP_ACCOUNT_SIZE = 876
```

### `TICK_ARRAY_MAP_DISCRIMINATOR`

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

sha256('account:TickArrayMap')\[0..8].

```typescript theme={null}
TICK_ARRAY_MAP_DISCRIMINATOR: number[]
```

### `CREMA_TICK_ARRAY_SIZE`

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

```typescript theme={null}
TICK_ARRAY_SIZE = 64
```

### `CREMA_OFF_TICK_SPACING`

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

```typescript theme={null}
OFF_TICK_SPACING = 168
```

### `CREMA_OFF_FEE_RATE`

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

```typescript theme={null}
OFF_FEE_RATE = 172
```

### `CREMA_OFF_LIQUIDITY`

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

```typescript theme={null}
OFF_LIQUIDITY = 174
```

### `CREMA_OFF_SQRT_PRICE`

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

```typescript theme={null}
OFF_SQRT_PRICE = 190
```

### `CREMA_OFF_TICK_CURRENT`

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

```typescript theme={null}
OFF_TICK_CURRENT = 206
```

### `OFF_TA_ARRAY_INDEX`

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

```typescript theme={null}
OFF_TA_ARRAY_INDEX = 8
```

### `CREMA_OFF_TA_TICKS`

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

```typescript theme={null}
OFF_TA_TICKS = 44
```

### `CREMA_TICK_LEN`

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

```typescript theme={null}
TICK_LEN = 133
```

### `CREMA_MAX_BOUNDARIES`

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

Shipped initialized-tick boundaries per direction - same budget class as orca-whirlpool/raydium-clmm.

```typescript theme={null}
CREMA_MAX_BOUNDARIES = 4
```

### `crema`

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

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

```typescript theme={null}
crema: {
    slug: string;
    programId: Address<"CLMM9tUoggJu2wagPkkqs9eFG4BWhVBZWkP1qv3Sp7tR">;
    tokenProgram: Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
    fetchPoolConfig: typeof fetchCremaPoolConfig;
}
```

### `fetchCremaPoolConfig`

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

Fetch + decode one Clmmpool and freeze both directions' boundary windows. Read-only against the loader.

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

### `CremaBoundary`

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

```typescript theme={null}
export interface CremaBoundary {
    arrayIndex: number;
    offset: number;
    tick: number;
    sqrtPrice: bigint;
}
```

### `CremaWindow`

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

```typescript theme={null}
export interface CremaWindow {
    tickArrays: [
        Address,
        Address,
        Address
    ];
    arrayIndices: [
        number,
        number,
        number
    ];
    startTicks: [
        number,
        number,
        number
    ];
    boundaries: CremaBoundary[];
    edge: {
        tick: number;
        sqrtPrice: bigint;
    } | null;
    readable: number;
}
```

### `CremaPoolConfig`

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

```typescript theme={null}
export interface CremaPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "aToB" | "bToA";
    tokenMintA: Address;
    tokenMintB: Address;
    tokenVaultA: Address;
    tokenVaultB: Address;
    clmmConfig: Address;
    tickArrayMap: Address;
    tickSpacing: number;
    feeRate: number;
    liquidity: bigint;
    sqrtPrice: bigint;
    tickCurrentIndex: number;
    windows: {
        aToB: CremaWindow;
        bToA: CremaWindow;
    };
}
```
