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

> 8 exports of the taurusfi venue integration in @eco-incorp/sauce/svm, including TAURUSFI_PROGRAM_ID, TAURUSFI_PRICE_SCALE, TAURUSFI_POOL_REGISTRY, taurusfi, decodeTaurusFiPriceScaled, fetchTaurusFiConfig.

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

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

### `TAURUSFI_PROGRAM_ID`

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

```typescript theme={null}
TAURUSFI_PROGRAM_ID: Address<"9VX8EKBg6vM6tA68xaDsPkbrx26XConZjkQmhVApUptc">
```

### `TAURUSFI_PRICE_SCALE`

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

Fixed-point scale for the decoded price (10^9 - \~9-10 significant decimal digits of headroom).

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

### `TAURUSFI_POOL_REGISTRY`

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

Hand-verified TaurusFi markets: for each, a real mainnet swap CPI (inside a
Jupiter route) was decoded and the vault/mint addresses were cross-checked
against `preTokenBalances`/`postTokenBalances`, and the price account was
independently confirmed against a same-slot keeper-crank update. Only one
live-priced market was observed during integration; a second market
account (`HFqA7kAqgUMjNCo5zDSN1tnKvE8GVBXGPDyK2nizJm11`) exists but reads an
all-zero (unpriced/inactive) price and has no known vault/mint pair, so it
is deliberately NOT seeded here - extend by repeating the same
verification once it (or another market) goes live.

```typescript theme={null}
TAURUSFI_POOL_REGISTRY: Record<string, TaurusFiRegistryEntry>
```

### `taurusfi`

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

Family facade for the recipe orchestrator (ladder-only, like raydium-amm-v4/raydium-cp-swap).

```typescript theme={null}
taurusfi: {
    slug: string;
    programId: Address<"9VX8EKBg6vM6tA68xaDsPkbrx26XConZjkQmhVApUptc">;
    fetchPoolConfig: typeof fetchTaurusFiConfig;
}
```

### `decodeTaurusFiPriceScaled`

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

Decodes a raw f64 bit pattern (as read off-chain OR the exact on-chain
`accountUint` value) into a `TAURUSFI_PRICE_SCALE`-fixed-point integer,
LOCKSTEP with the on-chain formula in `emitSetup` below (same masks, same
mulDiv-shaped floor division) - bit-exact by construction, not merely
"close". Degrades to exactly 0 for an unpriced market (bits === 0n) with
no special case (see file header).

```typescript theme={null}
export declare function decodeTaurusFiPriceScaled(bits: bigint): bigint;
```

### `fetchTaurusFiConfig`

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

Registry lookup + live decode: reads the market's price account (for the
gate) and both vaults (mint-integrity check, mirroring gamma's/bisonfi's
own vault verification) - nothing else is decodable off this venue's pool
state (no plaintext pool-identity account exists at all; see file header).

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

### `TaurusFiRegistryEntry`

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

```typescript theme={null}
export interface TaurusFiRegistryEntry {
    vault0: Address;
    vault1: Address;
    mint0: Address;
    mint1: Address;
    decimals0: number;
    decimals1: number;
    vaultAuthority: Address;
    globalConfig: Address;
    globalAuthority: Address;
    priceAccount: Address;
}
```

### `TaurusFiPoolConfig`

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

```typescript theme={null}
export interface TaurusFiPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "0to1" | "1to0";
    vault0: Address;
    vault1: Address;
    mint0: Address;
    mint1: Address;
    decimals0: number;
    decimals1: number;
    vaultAuthority: Address;
    globalConfig: Address;
    globalAuthority: Address;
    priceAccount: Address;
    priceScaled: bigint;
}
```
