solana-agent-kit v1.3.7
solana-agent-kit / SolanaAgentKit

Class: SolanaAgentKit

Defined in: agent/index.ts:89 Main class for interacting with Solana blockchain Provides a unified interface for token operations, NFT management, trading and more SolanaAgentKit

Constructors

new SolanaAgentKit()

new SolanaAgentKit(private_key, rpc_url, openai_api_key): SolanaAgentKit
Defined in: agent/index.ts:103

Parameters

private_key
string
rpc_url
string
openai_api_key
null | string

Returns

SolanaAgentKit

Deprecated

Using openai_api_key directly in constructor is deprecated. Please use the new constructor with Config object instead:

Example

const agent = new SolanaAgentKit(privateKey, rpcUrl, {
  OPENAI_API_KEY: 'your-key'
});

new SolanaAgentKit()

new SolanaAgentKit(private_key, rpc_url, config): SolanaAgentKit
Defined in: agent/index.ts:108

Parameters

private_key
string
rpc_url
string
config
Config

Returns

SolanaAgentKit

Methods

requestFaucetFunds()

requestFaucetFunds(): Promise<string>
Defined in: agent/index.ts:129

Returns

Promise<string>

deployToken()

deployToken(name, uri, symbol, decimals, initialSupply?): Promise<{ mint: PublicKey; }>
Defined in: agent/index.ts:133

Parameters

name
string
uri
string
symbol
string
decimals
number = DEFAULT_OPTIONS.TOKEN_DECIMALS
initialSupply?
number

Returns

Promise<{ mint: PublicKey; }>

deployCollection()

deployCollection(options): Promise<CollectionDeployment>
Defined in: agent/index.ts:143

Parameters

options
CollectionOptions

Returns

Promise<CollectionDeployment>

getBalance()

getBalance(token_address?): Promise<number>
Defined in: agent/index.ts:149

Parameters

token_address?
PublicKey

Returns

Promise<number>

getBalanceOther()

getBalanceOther(walletAddress, tokenAddress?): Promise<number>
Defined in: agent/index.ts:153

Parameters

walletAddress
PublicKey
tokenAddress?
PublicKey

Returns

Promise<number>

mintNFT()

mintNFT(collectionMint, metadata, recipient?): Promise<MintCollectionNFTResponse>
Defined in: agent/index.ts:160

Parameters

collectionMint
PublicKey
metadata
name
string
uri
string
sellerFeeBasisPoints
number
creators
object[]
recipient?
PublicKey

Returns

Promise<MintCollectionNFTResponse>

transfer()

transfer(to, amount, mint?): Promise<string>
Defined in: agent/index.ts:168

Parameters

to
PublicKey
amount
number
mint?
PublicKey

Returns

Promise<string>

registerDomain()

registerDomain(name, spaceKB?): Promise<string>
Defined in: agent/index.ts:176

Parameters

name
string
spaceKB?
number

Returns

Promise<string>

resolveSolDomain()

resolveSolDomain(domain): Promise<PublicKey>
Defined in: agent/index.ts:180

Parameters

domain
string

Returns

Promise<PublicKey>

getPrimaryDomain()

getPrimaryDomain(account): Promise<string>
Defined in: agent/index.ts:184

Parameters

account
PublicKey

Returns

Promise<string>

trade()

trade(outputMint, inputAmount, inputMint?, slippageBps?): Promise<string>
Defined in: agent/index.ts:188

Parameters

outputMint
PublicKey
inputAmount
number
inputMint?
PublicKey
slippageBps?
number = DEFAULT_OPTIONS.SLIPPAGE_BPS

Returns

Promise<string>

limitOrder()

limitOrder(marketId, quantity, side, price): Promise<string>
Defined in: agent/index.ts:197

Parameters

marketId
PublicKey
quantity
number
side
string
price
number

Returns

Promise<string>

batchOrder()

batchOrder(marketId, orders): Promise<string>
Defined in: agent/index.ts:206

Parameters

marketId
PublicKey
orders
OrderParams[]

Returns

Promise<string>

cancelAllOrders()

cancelAllOrders(marketId): Promise<string>
Defined in: agent/index.ts:213

Parameters

marketId
PublicKey

Returns

Promise<string>

withdrawAll()

withdrawAll(marketId): Promise<string>
Defined in: agent/index.ts:217

Parameters

marketId
PublicKey

Returns

Promise<string>

openPerpTradeLong()

openPerpTradeLong(args): Promise<string>
Defined in: agent/index.ts:221

Parameters

args
Omit<{ agent: SolanaAgentKit; price: number; collateralAmount: number; collateralMint: PublicKey; leverage: number; tradeMint: PublicKey; slippage: number; }, "agent">

Returns

Promise<string>

openPerpTradeShort()

openPerpTradeShort(args): Promise<string>
Defined in: agent/index.ts:230

Parameters

args
Omit<{ agent: SolanaAgentKit; price: number; collateralAmount: number; collateralMint: PublicKey; leverage: number; tradeMint: PublicKey; slippage: number; }, "agent">

Returns

Promise<string>

closePerpTradeShort()

closePerpTradeShort(args): Promise<string>
Defined in: agent/index.ts:239

Parameters

args
Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey; }, "agent">

Returns

Promise<string>

closePerpTradeLong()

closePerpTradeLong(args): Promise<string>
Defined in: agent/index.ts:248

Parameters

args
Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey; }, "agent">

Returns

Promise<string>

lendAssets()

lendAssets(amount): Promise<string>
Defined in: agent/index.ts:257

Parameters

amount
number

Returns

Promise<string>

getTPS()

getTPS(): Promise<number>
Defined in: agent/index.ts:261

Returns

Promise<number>

getTokenDataByAddress()

getTokenDataByAddress(mint): Promise<undefined | JupiterTokenData>
Defined in: agent/index.ts:265

Parameters

mint
string

Returns

Promise<undefined | JupiterTokenData>

getTokenDataByTicker()

getTokenDataByTicker(ticker): Promise<undefined | JupiterTokenData>
Defined in: agent/index.ts:271

Parameters

ticker
string

Returns

Promise<undefined | JupiterTokenData>

fetchTokenPrice()

fetchTokenPrice(mint): Promise<string>
Defined in: agent/index.ts:277

Parameters

mint
string

Returns

Promise<string>

launchPumpFunToken()

launchPumpFunToken(tokenName, tokenTicker, description, imageUrl, options?): Promise<PumpfunLaunchResponse>
Defined in: agent/index.ts:281

Parameters

tokenName
string
tokenTicker
string
description
string
imageUrl
string
options?
PumpFunTokenOptions

Returns

Promise<PumpfunLaunchResponse>

stake()

stake(amount): Promise<string>
Defined in: agent/index.ts:298

Parameters

amount
number

Returns

Promise<string>

restake()

restake(amount): Promise<string>
Defined in: agent/index.ts:302

Parameters

amount
number

Returns

Promise<string>

sendCompressedAirdrop()

sendCompressedAirdrop(mintAddress, amount, decimals, recipients, priorityFeeInLamports, shouldLog): Promise<string[]>
Defined in: agent/index.ts:306

Parameters

mintAddress
string
amount
number
decimals
number
recipients
string[]
priorityFeeInLamports
number
shouldLog
boolean

Returns

Promise<string[]>

orcaClosePosition()

orcaClosePosition(positionMintAddress): Promise<string>
Defined in: agent/index.ts:325

Parameters

positionMintAddress
PublicKey

Returns

Promise<string>

orcaCreateCLMM()

orcaCreateCLMM(mintDeploy, mintPair, initialPrice, feeTier): Promise<string>
Defined in: agent/index.ts:329

Parameters

mintDeploy
PublicKey
mintPair
PublicKey
initialPrice
Decimal
feeTier
1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

Returns

Promise<string>

orcaCreateSingleSidedLiquidityPool()

orcaCreateSingleSidedLiquidityPool(depositTokenAmount, depositTokenMint, otherTokenMint, initialPrice, maxPrice, feeTier): Promise<string>
Defined in: agent/index.ts:338

Parameters

depositTokenAmount
number
depositTokenMint
PublicKey
otherTokenMint
PublicKey
initialPrice
Decimal
maxPrice
Decimal
feeTier
1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

Returns

Promise<string>

orcaFetchPositions()

orcaFetchPositions(): Promise<string>
Defined in: agent/index.ts:357

Returns

Promise<string>

orcaOpenCenteredPositionWithLiquidity()

orcaOpenCenteredPositionWithLiquidity(whirlpoolAddress, priceOffsetBps, inputTokenMint, inputAmount): Promise<string>
Defined in: agent/index.ts:361

Parameters

whirlpoolAddress
PublicKey
priceOffsetBps
number
inputTokenMint
PublicKey
inputAmount
Decimal

Returns

Promise<string>

orcaOpenSingleSidedPosition()

orcaOpenSingleSidedPosition(whirlpoolAddress, distanceFromCurrentPriceBps, widthBps, inputTokenMint, inputAmount): Promise<string>
Defined in: agent/index.ts:376

Parameters

whirlpoolAddress
PublicKey
distanceFromCurrentPriceBps
number
widthBps
number
inputTokenMint
PublicKey
inputAmount
Decimal

Returns

Promise<string>

resolveAllDomains()

resolveAllDomains(domain): Promise<undefined | PublicKey>
Defined in: agent/index.ts:393

Parameters

domain
string

Returns

Promise<undefined | PublicKey>

getOwnedAllDomains()

getOwnedAllDomains(owner): Promise<string[]>
Defined in: agent/index.ts:397

Parameters

owner
PublicKey

Returns

Promise<string[]>

getOwnedDomainsForTLD()

getOwnedDomainsForTLD(tld): Promise<string[]>
Defined in: agent/index.ts:401

Parameters

tld
string

Returns

Promise<string[]>

getAllDomainsTLDs()

getAllDomainsTLDs(): Promise<string[]>
Defined in: agent/index.ts:405

Returns

Promise<string[]>

getAllRegisteredAllDomains()

getAllRegisteredAllDomains(): Promise<string[]>
Defined in: agent/index.ts:409

Returns

Promise<string[]>

getMainAllDomainsDomain()

getMainAllDomainsDomain(owner): Promise<null | string>
Defined in: agent/index.ts:413

Parameters

owner
PublicKey

Returns

Promise<null | string>

raydiumCreateAmmV4()

raydiumCreateAmmV4(marketId, baseAmount, quoteAmount, startTime): Promise<string>
Defined in: agent/index.ts:417

Parameters

marketId
PublicKey
baseAmount
BN
quoteAmount
BN
startTime
BN

Returns

Promise<string>

raydiumCreateClmm()

raydiumCreateClmm(mint1, mint2, configId, initialPrice, startTime): Promise<string>
Defined in: agent/index.ts:434

Parameters

mint1
PublicKey
mint2
PublicKey
configId
PublicKey
initialPrice
Decimal
startTime
BN

Returns

Promise<string>

raydiumCreateCpmm()

raydiumCreateCpmm(mint1, mint2, configId, mintAAmount, mintBAmount, startTime): Promise<string>
Defined in: agent/index.ts:451

Parameters

mint1
PublicKey
mint2
PublicKey
configId
PublicKey
mintAAmount
BN
mintBAmount
BN
startTime
BN

Returns

Promise<string>

openbookCreateMarket()

openbookCreateMarket(baseMint, quoteMint, lotSize, tickSize): Promise<string[]>
Defined in: agent/index.ts:471

Parameters

baseMint
PublicKey
quoteMint
PublicKey
lotSize
number = 1
tickSize
number = 0.01

Returns

Promise<string[]>

manifestCreateMarket()

manifestCreateMarket(baseMint, quoteMint): Promise<string[]>
Defined in: agent/index.ts:487

Parameters

baseMint
PublicKey
quoteMint
PublicKey

Returns

Promise<string[]>

getPythPriceFeedID()

getPythPriceFeedID(tokenSymbol): Promise<string>
Defined in: agent/index.ts:494

Parameters

tokenSymbol
string

Returns

Promise<string>

getPythPrice()

getPythPrice(priceFeedID): Promise<string>
Defined in: agent/index.ts:498

Parameters

priceFeedID
string

Returns

Promise<string>

createGibworkTask()

createGibworkTask(title, content, requirements, tags, tokenMintAddress, tokenAmount, payer?): Promise<GibworkCreateTaskReponse>
Defined in: agent/index.ts:502

Parameters

title
string
content
string
requirements
string
tags
string[]
tokenMintAddress
string
tokenAmount
number
payer?
string

Returns

Promise<GibworkCreateTaskReponse>

rockPaperScissors()

rockPaperScissors(amount, choice): Promise<string>
Defined in: agent/index.ts:523

Parameters

amount
number
choice
"rock" | "paper" | "scissors"

Returns

Promise<string>
createTiplink(amount, splmintAddress?): Promise<{ url: string; signature: string; }>
Defined in: agent/index.ts:529

Parameters

amount
number
splmintAddress?
PublicKey

Returns

Promise<{ url: string; signature: string; }>

tensorListNFT()

tensorListNFT(nftMint, price): Promise<string>
Defined in: agent/index.ts:533

Parameters

nftMint
PublicKey
price
number

Returns

Promise<string>

tensorCancelListing()

tensorCancelListing(nftMint): Promise<string>
Defined in: agent/index.ts:537

Parameters

nftMint
PublicKey

Returns

Promise<string>

fetchTokenReportSummary()

fetchTokenReportSummary(mint): Promise<TokenCheck>
Defined in: agent/index.ts:541

Parameters

mint
string

Returns

Promise<TokenCheck>

fetchTokenDetailedReport()

fetchTokenDetailedReport(mint): Promise<TokenCheck>
Defined in: agent/index.ts:545

Parameters

mint
string

Returns

Promise<TokenCheck>

flashOpenTrade()

flashOpenTrade(params): Promise<string>
Defined in: agent/index.ts:554 Opens a new trading position on Flash.Trade

Parameters

params
FlashTradeParams Flash trade parameters including market, side, collateral, leverage, and pool name

Returns

Promise<string> Transaction signature

flashCloseTrade()

flashCloseTrade(params): Promise<string>
Defined in: agent/index.ts:563 Closes an existing trading position on Flash.Trade

Parameters

params
FlashCloseTradeParams Flash trade close parameters

Returns

Promise<string> Transaction signature

Properties

connection

connection: Connection
Defined in: agent/index.ts:90 Solana RPC connection

wallet

wallet: Keypair
Defined in: agent/index.ts:91 Wallet keypair for signing transactions

wallet_address

wallet_address: PublicKey
Defined in: agent/index.ts:92 Public key of the wallet

config

config: Config
Defined in: agent/index.ts:93 Configuration object