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

> The xorca Solana venue: the declaration and description of each of the 10 exports of @eco-incorp/sauce/svm.

Solana venue integration `xorca`, exported from `@eco-incorp/sauce/svm`.

Generated from the type declarations of `@eco-incorp/sauce`.

### `XORCA_PROGRAM_ID`

*Variable* · `@eco-incorp/sauce/svm`

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

### `ORCA_MINT_ID`

*Variable* · `@eco-incorp/sauce/svm`

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* · `@eco-incorp/sauce/svm`

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

### `XORCA_STATE_PDA`

*Variable* · `@eco-incorp/sauce/svm`

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* · `@eco-incorp/sauce/svm`

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

### `STATE_ESCROWED_OFFSET`

*Variable* · `@eco-incorp/sauce/svm`

`State.escrowed_orca_amount`, u64 LE.

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

### `VAULT_AMOUNT_OFFSET`

*Variable* · `@eco-incorp/sauce/svm`

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

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

### `MINT_SUPPLY_OFFSET`

*Variable* · `@eco-incorp/sauce/svm`

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

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

### `fetchXorcaConfig`

*Function* · `@eco-incorp/sauce/svm`

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(owned: OwnedAccountLoader, pool: Address): Promise<XorcaPoolConfig>;
```

### `XorcaPoolConfig`

*Interface* · `@eco-incorp/sauce/svm`

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.