Parfournir.
Skills/Raydium/Raydium

Raydium

Solana AMM and liquidity protocol — Raydium SDK for token swaps, concentrated liquidity, farm yields, and AcceleRaytor launchpad.

GPL-3.0sdk
by @Raydium
Install
npm install @raydium-io/raydium-sdk-v2
SKILL.md

Raydium SDK

[npm-image]: https://img.shields.io/npm/v/@raydium-io/raydium-sdk-v2.svg?style=flat
[npm-url]: https://www.npmjs.com/package/@raydium-io/raydium-sdk-v2

[![npm][npm-image]][npm-url]

An SDK for building applications on top of Raydium.

Usage Guide

Installation

$ yarn add @raydium-io/raydium-sdk-v2

SDK method Demo

SDK V2 Demo Repo

SDK local test

$ yarn dev {directory}

e.g. yarn dev test/init.ts

Features

Initialization

import { Raydium } from "@raydium-io/raydium-sdk";
const raydium = await Raydium.load({
connection,
owner, // key pair or publicKey, if you run a node process, provide keyPair
signAllTransactions, // optional - provide sign functions provided by @solana/wallet-adapter-react
tokenAccounts, // optional, if dapp handle it by self can provide to sdk
tokenAccountRowInfos, // optional, if dapp handle it by self can provide to sdk
disableLoadToken: false, // default is false, if you don't need token info, set to true
});

how to transform token account data

import { parseTokenAccountResp } from "@raydium-io/raydium-sdk";

const solAccountResp = await connection.getAccountInfo(owner.publicKey);
const tokenAccountResp = await connection.getTokenAccountsByOwner(owner.publicKey, { programId: TOKEN_PROGRAM_ID });
const token2022Req = await connection.getTokenAccountsByOwner(owner.publicKey, { programId: TOKEN_2022_PROGRAM_ID });
const tokenAccountData = parseTokenAccountResp({
owner: owner.publicKey,
solAccountResp,
tokenAccountResp: {
context: tokenAccountResp.context,
value: [...tokenAccountResp.value, ...token2022Req.value],
},
});

data after initialization

# token
raydium.token.tokenList
raydium.token.tokenMap
raydium.token.mintGroup

token account


raydium.account.tokenAccounts
raydium.account.tokenAccountRawInfos

Api methods (https://github.com/raydium-io/raydium-sdk-V2/blob/master/src/api/api.ts)

  • fetch raydium default mint list (mainnet only)
  • const data = await raydium.api.getTokenList();
    

  • fetch mints recognizable by raydium
  • const data = await raydium.api.getTokenInfo([
    "So11111111111111111111111111111111111111112",
    "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",
    ]);

  • fetch pool list (mainnet only)

  • available fetch params defined here: https://github.com/raydium-io/raydium-sdk-V2/blob/master/src/api/type.ts#L249

    const data = await raydium.api.getPoolList({});
    

  • fetch poolInfo by id (mainnet only)
  • // ids: join pool ids by comma(,)
    const data = await raydium.api.fetchPoolById({
    ids: "AVs9TA4nWDzfPJE9gGVNJMVhcQy3V9PGazuz33BfG2RA,8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj",
    });

  • fetch pool list by mints (mainnet only)
  • ```javascript
    const data = await raydium.api.fetchPoolByMints({
    mint1: "So11111111111111111111111111111111111111112",
    mint2:

    ... [truncated — view full README on GitHub]

    Details

    Categoryblockchain
    Typesdk
    Sourcegithub
    LicenseGPL-3.0

    Runtime Requirements

    Environment variablesTOKEN_PROGRAM_IDTOKEN_2022_PROGRAM_ID

    Use this skill

    Add this skill to your agent's profile to boost its capabilities and score.

    Add to My Agent