> ## 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: obric-v2

> 23 exports of the obric-v2 venue integration in @eco-incorp/sauce/svm, including swapAccounts, OBRIC_V2_PROGRAM_ID, PYTH_V2_RELAY_OWNER, OBRIC_SWAP_DISCRIMINATOR, OFF_INITIALIZED, OFF_X_FEED.

Solana venue integration `obric-v2` under `svm/venues/obric-v2`.

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

### `swapAccounts`

*Function* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

The 12-account order for Obric's unified `swap` (shared by v1 buildSwap and v2 buildSwapV2).

```typescript theme={null}
export declare function swapAccounts(c: ObricV2PoolConfig, user: SwapUser, make: (ref: string, addr: Address, writable?: boolean) => VenueAccount, refFor?: (role: string) => string): VenueAccount[];
```

### `OBRIC_V2_PROGRAM_ID`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OBRIC_V2_PROGRAM_ID: Address<"obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y">
```

### `PYTH_V2_RELAY_OWNER`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

The Pyth-v2-format relay program Obric migrated onto (documented layout).

```typescript theme={null}
PYTH_V2_RELAY_OWNER = "Feed29BgSBmKrK5jQsLR4VcwJpJr1eHfg5sX4TQbLGrV"
```

### `OBRIC_SWAP_DISCRIMINATOR`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

sha256('global:swap')\[0..8] (Obric's unified swap; == meteora's, both "global:swap").

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

### `OFF_INITIALIZED`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

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

### `OFF_X_FEED`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_X_FEED = 9
```

### `OFF_Y_FEED`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_Y_FEED = 41
```

### `OFF_RESERVE_X`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_RESERVE_X = 73
```

### `OFF_RESERVE_Y`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_RESERVE_Y = 105
```

### `OFF_PROTO_FEE_X`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_PROTO_FEE_X = 137
```

### `OFF_PROTO_FEE_Y`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_PROTO_FEE_Y = 169
```

### `OFF_MINT_X`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_MINT_X = 202
```

### `OFF_MINT_Y`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_MINT_Y = 234
```

### `OFF_BIG_K`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_BIG_K = 274
```

### `OFF_TARGET_X`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_TARGET_X = 290
```

### `OFF_MULT_X`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_MULT_X = 306
```

### `OFF_MULT_Y`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_MULT_Y = 314
```

### `OFF_FEE_MILLIONTH`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_FEE_MILLIONTH = 322
```

### `OFF_REBATE_PCT`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_REBATE_PCT = 330
```

### `OFF_PROTO_FEE_SHARE`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
OFF_PROTO_FEE_SHARE = 338
```

### `OBRIC_DEFAULT_BAND_BPS`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

Default sanity band (bps of the stored mult ratio): a wide gross-corruption guard for the documented P-A feed.

```typescript theme={null}
OBRIC_DEFAULT_BAND_BPS = 2500n
```

### `ObricV2PoolConfig`

*Interface* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
export interface ObricV2PoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "xToY" | "yToX";
    mintX: Address;
    mintY: Address;
    reserveXVault: Address;
    reserveYVault: Address;
    protocolFeeX: Address;
    protocolFeeY: Address;
    feedX: Address;
    feedY: Address;
    tokenProgram: Address;
    bigK: bigint;
    targetX: bigint;
    feeMillionth: bigint;
    divX: bigint;
    mulX: bigint;
    divY: bigint;
    mulY: bigint;
    priceOffX: bigint;
    priceOffY: bigint;
    bandBps: bigint;
    storedMultX: bigint;
    storedMultY: bigint;
    cpiTier: CpiTier;
}
```

### `obricV2`

*Variable* · `sdk/dist/svm/venues/obric-v2/index.d.ts`

```typescript theme={null}
obricV2: {
    slug: string;
    kind: "constant-product";
    programId: Address<"obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y">;
    fetchPoolConfig(load: AccountLoader, pool: Address): Promise<ObricV2PoolConfig>;
    quoteAccounts(cfg: PoolConfig): VenueAccount[];
    buildSwap(cfg: PoolConfig, user: SwapUser, amountIn: bigint): VenueSwap;
}
```
