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

> 10 exports of the xorca venue integration in @eco-incorp/sauce/svm, including XORCA_PROGRAM_ID, ORCA_MINT_ID, XORCA_MINT_ID, XORCA_STATE_PDA, XORCA_VAULT_ATA, STATE_ESCROWED_OFFSET.

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

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

### `XORCA_PROGRAM_ID`

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

```typescript theme={null}
XORCA_PROGRAM_ID: Address<"StaKE6XNKVVhG8Qu9hDJBqCW3eRe7MDGLz17nJZetLT">
```

### `ORCA_MINT_ID`

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

Hardcoded program constants (`cpi/token/mod.rs`) - never stored as pool-account bytes.

```typescript theme={null}
ORCA_MINT_ID: Address<"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE">
```

### `XORCA_MINT_ID`

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

```typescript theme={null}
XORCA_MINT_ID: Address<"xorcaYqbXUNz3474ubUMJAdu2xgPsew3rUCe5ughT3N">
```

### `XORCA_STATE_PDA`

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

The single global State PDA - seed `["state"]` under `XORCA_PROGRAM_ID`,
bump 250. The single vault ATA - seed `[statePda, tokenProgram, orcaMint]`
under the ATA program, bump 254. Both re-derived independently via
`getProgramDerivedAddress` and cross-checked against the live account's own
`State.bump`/`State.vault_bump` fields (250/254 exactly) AND against 3 real
mainnet `Stake` transactions' account lists (see file header) - hardcoded
here rather than derived at call time because both are permanently fixed
(there is exactly one xORCA vault; the mints never change).

```typescript theme={null}
XORCA_STATE_PDA: Address<"CSqKhyW1cpdyjheAx5HXx4ibcnYrzpL5JywEMAkZixBK">
```

### `XORCA_VAULT_ATA`

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

```typescript theme={null}
XORCA_VAULT_ATA: Address<"Ce5j11WAsSzM3nkzrw4Kw6v6ic3nbyqpv5eywjYKeKc5">
```

### `STATE_ESCROWED_OFFSET`

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

`State.escrowed_orca_amount`, u64 LE.

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

### `VAULT_AMOUNT_OFFSET`

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

SPL `TokenAccount.amount`, u64 LE - the vault's live ORCA balance.

```typescript theme={null}
VAULT_AMOUNT_OFFSET = 64
```

### `MINT_SUPPLY_OFFSET`

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

SPL `Mint.supply`, u64 LE (4-byte COption tag + 32-byte pubkey precede it).

```typescript theme={null}
MINT_SUPPLY_OFFSET = 36
```

### `fetchXorcaConfig`

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

Singleton venue: `pool` must be `XORCA_STATE_PDA` (there is nothing else to
resolve it to). `load` re-reads the live account so a program
upgrade/migration is caught like any other vanished pool - never silently
misquoted - rather than trusting the hardcoded address blindly.

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

### `XorcaPoolConfig`

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

```typescript theme={null}
export interface XorcaPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "orcaToXorca";
}
```
