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

> 11 exports of the obsidian venue integration in @eco-incorp/sauce/svm, including OBSIDIAN_PROGRAM_ID, OBSIDIAN_OFF_MINT_A, OBSIDIAN_OFF_MINT_B, OBSIDIAN_OFF_VAULT_A, OBSIDIAN_OFF_VAULT_B, OBSIDIAN_OFF_LAST_UPDATE_SLOT.

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

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

### `OBSIDIAN_PROGRAM_ID`

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

```typescript theme={null}
OBSIDIAN_PROGRAM_ID: Address<"HBVw6bZtcCaezhcBrmfyXBSBRWCdv72271xQ4GPvms2z">
```

### `OBSIDIAN_OFF_MINT_A`

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

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

### `OBSIDIAN_OFF_MINT_B`

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

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

### `OBSIDIAN_OFF_VAULT_A`

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

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

### `OBSIDIAN_OFF_VAULT_B`

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

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

### `OBSIDIAN_OFF_LAST_UPDATE_SLOT`

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

```typescript theme={null}
OFF_LAST_UPDATE_SLOT = 536
```

### `OBSIDIAN_OFF_PRICE`

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

```typescript theme={null}
OFF_PRICE = 544
```

### `OBSIDIAN_MINT_DECIMALS_OFF`

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

SPL mint account decimals field offset (standard layout: after COption\<Pubkey> + u64 supply).

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

### `OBSIDIAN_MAX_STALE_SLOTS`

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

Freshness bound for the off-chain prepare gate (slots; \~600 slots is \~4
minutes at 400ms/slot). Conservative-tight by design: we have no ground
truth for the program's own enforced threshold (only that \~15.9M slots of
staleness reverts), and under-estimating freshness only costs a missed
quote - over-estimating risks admitting a pool that reverts on-chain,
which aborts the WHOLE cook (see the file header). Re-tune once the real
threshold is known (e.g. once a keeper is observed refreshing on a known
cadence).

```typescript theme={null}
MAX_STALE_SLOTS = 600n
```

### `obsidian`

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

```typescript theme={null}
obsidian: {
    slug: string;
    kind: "constant-product";
    programId: Address<"HBVw6bZtcCaezhcBrmfyXBSBRWCdv72271xQ4GPvms2z">;
    fetchPoolConfig: typeof fetchPoolConfig;
    quoteAccounts: typeof quoteAccounts;
}
```

### `ObsidianPoolConfig`

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

```typescript theme={null}
export interface ObsidianPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: 0 | 1;
    mintA: Address;
    mintB: Address;
    vaultA: Address;
    vaultB: Address;
    decimalsA: number;
    decimalsB: number;
}
```
