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

> 7 exports of the perena venue integration in @eco-incorp/sauce/svm, including PERENA_PROGRAM_ID, STABLE_POOL_ACCOUNT_SIZE, STABLE_POOL_DISCRIMINATOR, perena, perenaSwapOut, PerenaPoolConfig.

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

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

### `PERENA_PROGRAM_ID`

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

```typescript theme={null}
PERENA_PROGRAM_ID: Address<"NUMERUNsFCP3kuNmWZuXtm1AaQCPj9uw6Guv2Ekoi5P">
```

### `STABLE_POOL_ACCOUNT_SIZE`

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

```typescript theme={null}
STABLE_POOL_ACCOUNT_SIZE = 4024
```

### `STABLE_POOL_DISCRIMINATOR`

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

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

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

### `perena`

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

```typescript theme={null}
perena: SvmVenueAdapter
```

### `perenaSwapOut`

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

TS mirror of the emitted fragment's per-rung quote - see module header
MATH for the 2-hop derivation and RESIDUAL for the measured, disclosed gap
to the real venue, and MARGIN\_BPS for the conservative haircut applied
here.

```typescript theme={null}
export declare function perenaSwapOut(live: PerenaLiveState, x: bigint): bigint;
```

### `PerenaPoolConfig`

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

```typescript theme={null}
export interface PerenaPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "aToB" | "bToA";
    aMint: Address;
    aVault: Address;
    aIs2022: boolean;
    bMint: Address;
    bVault: Address;
    bIs2022: boolean;
    ampRaw: bigint;
    aRaw: bigint;
    pausedAtFetch: boolean;
    rateOkAtFetch: boolean;
    decimalsOkAtFetch: boolean;
}
```

### `PerenaLiveState`

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

```typescript theme={null}
export interface PerenaLiveState {
    ampRaw: bigint;
    aRaw: bigint;
    feeNum: bigint;
    feeDenom: bigint;
    xIn: bigint;
    yIn: bigint;
    lIn: bigint;
    xOut: bigint;
    yOut: bigint;
    lOut: bigint;
}
```
