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

> 16 exports of the carrot venue integration in @eco-incorp/sauce/svm, including CARROT_PROGRAM_ID, CRT_MINT, CARROT_VAULT_ADDRESS, CARROT_TOKEN_2022_MINTS, CARROT_MAX_ASSETS, carrot.

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

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

### `CARROT_PROGRAM_ID`

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

```typescript theme={null}
CARROT_PROGRAM_ID: Address<"CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s">
```

### `CRT_MINT`

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

```typescript theme={null}
CRT_MINT: Address<"CRTx1JouZhzSU6XytsE42UQraoGqiHgxabocVfARTy2s">
```

### `CARROT_VAULT_ADDRESS`

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

The one deployed vault - a PDA of `["vault", CRT_MINT]`, singleton today.

```typescript theme={null}
CARROT_VAULT_ADDRESS: Address<"FfCRL34rkJiMiX5emNDrYp3MdWH2mES3FvDQyFppqgpJ">
```

### `CARROT_TOKEN_2022_MINTS`

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

See the module header's TOKEN PROGRAM note - CRT (shares) plus pyUSD are the only Token-2022 mints today.

```typescript theme={null}
CARROT_TOKEN_2022_MINTS: ReadonlySet<Address>
```

### `CARROT_MAX_ASSETS`

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

Fail-loud cap on basket size (not a silent truncation) - see the module
header's SELF-DROP SCOPE note. The vault has held exactly 3 assets
(USDC/USDT/pyUSD) for its entire observed history; `paramCount` below is
sized for this. A real 4th-asset addition needs this constant (and
`paramCount`) bumped, not a silent misquote.

```typescript theme={null}
CARROT_MAX_ASSETS = 3
```

### `carrot`

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

```typescript theme={null}
carrot: {
    slug: "carrot";
    programId: Address<"CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s">;
    fetchPoolConfig: (load: AccountLoader, pool: Address) => Promise<CarrotPoolConfig>;
}
```

### `parseCarrotDirection`

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

```typescript theme={null}
export declare function parseCarrotDirection(direction: string): CarrotDirection;
```

### `carrotAllDirections`

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

Every `issue:<id>` / `redeem:<id>` direction the fetched vault currently offers, in asset order - the multi-direction dispatch `resolveSvmPoolSpec` tries (see `the consuming app SVM solver entry`).

```typescript theme={null}
export declare function carrotAllDirections(cfg: PoolConfig): string[];
```

### `carrotGate`

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

Prepare-time direction gate: self-drops the SPECIFIC direction (not the whole vault) if its asset's oracle reading is stale.

```typescript theme={null}
export declare function carrotGate(base: PoolConfig, now: bigint): void;
```

### `carrotMints`

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

```typescript theme={null}
export declare function carrotMints(base: PoolConfig): {
    inMint: Address;
    outMint: Address;
};
```

### `carrotApplyDirection`

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

```typescript theme={null}
export declare function carrotApplyDirection(base: PoolConfig, direction: string | undefined): CarrotPoolConfig;
```

### `PYTH_RECEIVER_PROGRAM_ID`

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

Pyth `PriceUpdateV2` (pyth-solana-receiver) layout, confirmed live against all 3 basket oracles.

```typescript theme={null}
PYTH_RECEIVER_PROGRAM_ID: Address<"rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ">
```

### `CARROT_U64_MAX`

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

```typescript theme={null}
U64_MAX: bigint
```

### `CarrotAssetSnapshot`

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

```typescript theme={null}
export interface CarrotAssetSnapshot {
    assetId: number;
    mint: Address;
    decimals: number;
    ata: Address;
    oracle: Address;
    priceOffset: number;
    scale: bigint;
    priceSnapshot: bigint;
    publishTime: bigint;
}
```

### `CarrotPoolConfig`

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

```typescript theme={null}
export interface CarrotPoolConfig extends PoolConfig {
    venue: "carrot";
    sharesMint: Address;
    redemptionFeeBps: bigint;
    assets: readonly CarrotAssetSnapshot[];
    direction: string;
}
```

### `CarrotDirection`

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

```typescript theme={null}
export interface CarrotDirection {
    op: "issue" | "redeem";
    assetId: number;
}
```
