> ## 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: meteora-dbc

> 31 exports of the meteora-dbc venue integration in @eco-incorp/sauce/svm, including dbcFeeNumerator, quoteSingleSegment, dbcCapacity, METEORA_DBC_PROGRAM_ID, METEORA_DBC_POOL_AUTHORITY, METEORA_DBC_EVENT_AUTHORITY.

Solana venue integration `meteora-dbc` under `svm/venues/meteora-dbc`.

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

### `dbcFeeNumerator`

*Function* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

total\_fee\_numerator = min(base(period-decayed) + variable(volatility), cap).

```typescript theme={null}
export declare function dbcFeeNumerator(cliffFeeNumerator: bigint, periodFrequency: bigint, activationPoint: bigint, numberOfPeriod: bigint, reductionFactor: bigint, dynInitialized: number, binStep: bigint, variableFeeControl: bigint, volatilityAccumulator: bigint, now: bigint): bigint;
```

### `quoteSingleSegment`

*Function* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

The single-active-segment closed-form quote both directions share (see the file header). Amount-parametric, used by both emitQuote (amountIn baked) and the ladder (amountIn a live merge value).

```typescript theme={null}
export declare function quoteSingleSegment(cfg: MeteoraDbcPoolConfig, p: DecodedPool, c: DecodedConfig, amountIn: bigint, now: bigint): DbcSingleSegmentResult;
```

### `dbcCapacity`

*Function* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

Closed-form capacity (max productive amountIn) for the active segment, in the given direction - exported for the ladder's referenceCapacities and for tests.

```typescript theme={null}
export declare function dbcCapacity(cfg: MeteoraDbcPoolConfig, p: DecodedPool, c: DecodedConfig, now: bigint): bigint;
```

### `METEORA_DBC_PROGRAM_ID`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
METEORA_DBC_PROGRAM_ID: Address<"dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN">
```

### `METEORA_DBC_POOL_AUTHORITY`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

Constant PDA \['pool\_authority'] - owner-authority of both vaults (verified against the official SDK's hardcoded constant).

```typescript theme={null}
METEORA_DBC_POOL_AUTHORITY: Address<"FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM">
```

### `METEORA_DBC_EVENT_AUTHORITY`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

Constant PDA \['\_\_event\_authority'] (Anchor `#[event_cpi]`).

```typescript theme={null}
METEORA_DBC_EVENT_AUTHORITY: Address<"8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF">
```

### `METEORA_DBC_SWAP_DISCRIMINATOR`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

sha256('global:swap')\[0..8].

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

### `METEORA_DBC_FEE_DENOMINATOR`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
METEORA_DBC_FEE_DENOMINATOR = 1000000000n
```

### `METEORA_DBC_MAX_FEE_NUMERATOR`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
METEORA_DBC_MAX_FEE_NUMERATOR = 990000000n
```

### `MeteoraDbcCurvePoint`

*Interface* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
export interface MeteoraDbcCurvePoint {
    sqrtPrice: bigint;
    liquidity: bigint;
}
```

### `MeteoraDbcPoolConfig`

*Interface* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
export interface MeteoraDbcPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "quoteToBase" | "baseToQuote";
    config: Address;
    baseMint: Address;
    quoteMint: Address;
    baseVault: Address;
    quoteVault: Address;
    tokenBaseProgram: Address;
    tokenQuoteProgram: Address;
    segIdx: number;
    curveLength: number;
}
```

### `meteoraDbc`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
meteoraDbc: {
    slug: string;
    kind: "sqrt-price";
    programId: Address<"dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN">;
    fetchPoolConfig(load: AccountLoader, pool: Address): Promise<MeteoraDbcPoolConfig>;
    quoteAccounts(cfg: PoolConfig): VenueAccount[];
    emitQuote(cfg: PoolConfig, i: number, amountIn: bigint): string;
    buildSwap(cfg: PoolConfig, user: SwapUser, amountIn: bigint): VenueSwap;
    referenceQuote(cfg: PoolConfig, state: AccountBytesMap, amountIn: bigint, now: bigint): bigint;
}
```

### `DbcSingleSegmentResult`

*Interface* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
export interface DbcSingleSegmentResult {
    output: bigint;
    saturated: boolean;
    feeNumerator: bigint;
}
```

### `__decodeMeteoraDbcPool`

*Function* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
declare function decodePool(pool: string, data: Uint8Array): DecodedPool;
```

### `__decodeMeteoraDbcConfig`

*Function* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
declare function decodeConfig(configAddr: string, data: Uint8Array): DecodedConfig;
```

### `__meteoraDbcActiveSegment`

*Function* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

Smallest k with sqrtPrice \<= curve\[k].sqrtPrice - the segment the live price currently sits in. -1 when price is at/past the last point (curve complete).

```typescript theme={null}
declare function activeSegment(curve: readonly MeteoraDbcCurvePoint[], sqrtPrice: bigint): number;
```

### `METEORA_DBC_OFF_SQRT_PRICE`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

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

### `METEORA_DBC_OFF_ACTIVATION_POINT`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_ACTIVATION_POINT = 296
```

### `METEORA_DBC_OFF_VOL_ACCUMULATOR`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_VOL_ACCUMULATOR = 40
```

### `METEORA_DBC_OFF_CLIFF_FEE_NUMERATOR`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_CLIFF_FEE_NUMERATOR = 104
```

### `METEORA_DBC_OFF_PERIOD_FREQUENCY`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

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

### `METEORA_DBC_OFF_REDUCTION_FACTOR`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_REDUCTION_FACTOR = 120
```

### `METEORA_DBC_OFF_NUMBER_OF_PERIOD`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_NUMBER_OF_PERIOD = 128
```

### `METEORA_DBC_OFF_DYN_INITIALIZED`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_DYN_INITIALIZED = 136
```

### `METEORA_DBC_OFF_DYN_VARIABLE_FEE_CONTROL`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_DYN_VARIABLE_FEE_CONTROL = 148
```

### `METEORA_DBC_OFF_DYN_BIN_STEP`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_DYN_BIN_STEP = 152
```

### `METEORA_DBC_OFF_COLLECT_FEE_MODE`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_COLLECT_FEE_MODE = 232
```

### `METEORA_DBC_OFF_MIGRATION_SQRT_PRICE`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_MIGRATION_SQRT_PRICE = 280
```

### `METEORA_DBC_OFF_SQRT_START_PRICE`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_SQRT_START_PRICE = 392
```

### `METEORA_DBC_OFF_CURVE`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
OFF_CURVE = 408
```

### `METEORA_DBC_CURVE_POINT_SIZE`

*Variable* · `sdk/dist/svm/venues/meteora-dbc/index.d.ts`

```typescript theme={null}
CURVE_POINT_SIZE = 32
```
