> ## 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: raydium-cp-swap

> 2 exports of the raydium-cp-swap venue integration in @eco-incorp/sauce/svm, including RaydiumCpSwapPoolConfig, raydiumCpSwap.

Solana venue integration `raydium-cp-swap` under `svm/venues/raydium-cp-swap`.

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

### `RaydiumCpSwapPoolConfig`

*Interface* · `sdk/dist/svm/venues/raydium-cp-swap/index.d.ts`

```typescript theme={null}
export interface RaydiumCpSwapPoolConfig extends PoolConfig {
    venue: typeof SLUG;
    ammConfig: Address;
    token0Vault: Address;
    token1Vault: Address;
    token0Mint: Address;
    token1Mint: Address;
    token0Program: Address;
    token1Program: Address;
    observation: Address;
    status: number;
    openTime: bigint;
    creatorFeeOn: number;
    enableCreatorFee: boolean;
    tradeFeeRate: bigint;
    creatorFeeRate: bigint;
    inputIsToken0: boolean;
}
```

### `raydiumCpSwap`

*Variable* · `sdk/dist/svm/venues/raydium-cp-swap/index.d.ts`

```typescript theme={null}
raydiumCpSwap: {
    slug: string;
    kind: "constant-product";
    programId: Address<"CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C">;
    fetchPoolConfig(load: AccountLoader, pool: Address): Promise<RaydiumCpSwapPoolConfig>;
    quoteAccounts(base: PoolConfig): VenueAccount[];
    emitQuote(base: PoolConfig, i: number, amountIn: bigint): string;
    buildSwap(base: PoolConfig, user: SwapUser, amountIn: bigint): VenueSwap;
    referenceQuote(base: PoolConfig, state: AccountBytesMap, amountIn: bigint, now: bigint): bigint;
}
```
