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

> 20 exports of the hadron venue integration in @eco-incorp/sauce/svm, including hadronConfig, fetchHadronConfig, HADRON_PROGRAM_ID, HADRON_TOKEN_PROGRAM, HADRON_CLOCK_SYSVAR, HADRON_FEE_AUTHORITY.

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

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

### `hadronConfig`

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

```typescript theme={null}
export declare function hadronConfig(cfg: PoolConfig): HadronPoolConfig;
```

### `fetchHadronConfig`

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

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

### `HADRON_PROGRAM_ID`

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

```typescript theme={null}
HADRON_PROGRAM_ID: Address<"HADRoNbLovyqhCsocfYQYB7QdfCAAinN9HTePvBCVDQ8">
```

### `HADRON_TOKEN_PROGRAM`

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

```typescript theme={null}
HADRON_TOKEN_PROGRAM: Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">
```

### `HADRON_CLOCK_SYSVAR`

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

```typescript theme={null}
HADRON_CLOCK_SYSVAR: Address<"SysvarC1ock11111111111111111111111111111111">
```

### `HADRON_FEE_AUTHORITY`

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

Single venue-wide fee-treasury wallet - the fee-destination account for
ANY input mint is `findAssociatedTokenPda(\{owner: HADRON_FEE_AUTHORITY,
mint\})`, verified exact against 3 different mints' real fee-destination
addresses observed in real landed transactions.

```typescript theme={null}
HADRON_FEE_AUTHORITY: Address<"7Ly5vZTDz2ZJGrqTa9gCP2NWjFDvnxSLVQEdmvMcVaVn">
```

### `HADRON_PAIR_ACCOUNT_SIZE`

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

```typescript theme={null}
HADRON_PAIR_ACCOUNT_SIZE = 724
```

### `HADRON_OFF_MINT_A`

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

```typescript theme={null}
HADRON_OFF_MINT_A = 41
```

### `HADRON_OFF_MINT_B`

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

```typescript theme={null}
HADRON_OFF_MINT_B = 73
```

### `HADRON_OFF_ASSET_CFG_B`

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

mintB's own "role-B" record address sits right after mintB in the PAIR account.

```typescript theme={null}
HADRON_OFF_ASSET_CFG_B = 106
```

### `HADRON_AMOUNT_OFF`

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

SPL token account `amount` field offset (standard layout).

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

### `HADRON_SPL_TOKEN_ACCOUNT_SIZE`

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

```typescript theme={null}
HADRON_SPL_TOKEN_ACCOUNT_SIZE = 165
```

### `HADRON_PRICE_OFFSET`

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

Live oracle price field inside mintA's 128-byte AssetConfig - see ladder.ts's header.

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

### `HADRON_PRICE_SCALE`

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

Q32.32 fixed-point scale the price field is carried in.

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

### `HADRON_FEE_PPM`

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

Measured EXACT on both directions of both validated pairs - see ladder.ts's header.

```typescript theme={null}
HADRON_FEE_PPM = 10n
```

### `HADRON_PPM_DENOM`

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

```typescript theme={null}
HADRON_PPM_DENOM = 1000000n
```

### `HADRON_HAIRCUT_PPM`

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

Kept fraction after the conservative safety haircut (99.7% kept, 30 bps cut) - see ladder.ts's header.

```typescript theme={null}
HADRON_HAIRCUT_PPM = 997000n
```

### `HADRON_ASSET_REGISTRY`

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

```typescript theme={null}
HADRON_ASSET_REGISTRY: Partial<Record<Address, HadronAssetEntry>>
```

### `HadronPoolConfig`

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

```typescript theme={null}
export interface HadronPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    direction: "AtoB" | "BtoA";
    mintA: Address;
    mintB: Address;
    vaultA: Address;
    vaultB: Address;
    assetCfgA: Address;
    assetCfgB: Address;
    growingA: Address;
    metaA: Address;
    global: Address;
    feeVaultA: Address;
    feeVaultB: Address;
}
```

### `hadron`

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

```typescript theme={null}
hadron: {
    slug: string;
    kind: "constant-product";
    programId: Address<"HADRoNbLovyqhCsocfYQYB7QdfCAAinN9HTePvBCVDQ8">;
    fetchPoolConfig: typeof fetchHadronConfig;
    quoteAccounts: typeof quoteAccounts;
}
```
