diff --git a/.env.example b/.env.example
index e2a6d1a..1f3564b 100644
--- a/.env.example
+++ b/.env.example
@@ -1,3 +1,3 @@
OPENAI_API_KEY=
-HELIUS_API_KEY=
-SOLANA_PRIVATE_KEY=
\ No newline at end of file
+RPC_URL=
+SOLANA_PRIVATE_KEY=
diff --git a/README.md b/README.md
index 6654b85..2272d47 100644
--- a/README.md
+++ b/README.md
@@ -44,9 +44,9 @@ import { SolanaAgentKit, createSolanaTools } from "solana-agent-kit";
// Initialize with private key and optional RPC URL
const agent = new SolanaAgentKit(
- "your-wallet-private-key-as-base58",
- "https://api.mainnet-beta.solana.com",
- "your-openai-api-key"
+ "your-wallet-private-key-as-base58",
+ "https://api.mainnet-beta.solana.com",
+ "your-openai-api-key"
);
// Create LangChain tools
@@ -61,9 +61,9 @@ const tools = createSolanaTools(agent);
import { deploy_token } from "solana-agent-kit";
const result = await deploy_token(
- agent,
- 9, // decimals
- 1000000 // initial supply
+ agent,
+ 9, // decimals
+ 1000000 // initial supply
);
console.log("Token Mint Address:", result.mint.toString());
@@ -75,15 +75,15 @@ console.log("Token Mint Address:", result.mint.toString());
import { deploy_collection } from "solana-agent-kit";
const collection = await deploy_collection(agent, {
- name: "My NFT Collection",
- uri: "https://arweave.net/metadata.json",
- royaltyBasisPoints: 500, // 5%
- creators: [
- {
- address: "creator-wallet-address",
- percentage: 100,
- },
- ],
+ name: "My NFT Collection",
+ uri: "https://arweave.net/metadata.json",
+ royaltyBasisPoints: 500, // 5%
+ creators: [
+ {
+ address: "creator-wallet-address",
+ percentage: 100,
+ },
+ ],
});
```
@@ -94,11 +94,11 @@ import { trade } from "solana-agent-kit";
import { PublicKey } from "@solana/web3.js";
const signature = await trade(
- agent,
- new PublicKey("target-token-mint"),
- 100, // amount
- new PublicKey("source-token-mint"),
- 300 // 3% slippage
+ agent,
+ new PublicKey("target-token-mint"),
+ 100, // amount
+ new PublicKey("source-token-mint"),
+ 300 // 3% slippage
);
```
@@ -109,8 +109,8 @@ import { lendAsset } from "solana-agent-kit";
import { PublicKey } from "@solana/web3.js";
const signature = await lendAsset(
- agent,
- 100 // amount
+ agent,
+ 100 // amount
);
```
@@ -120,8 +120,8 @@ const signature = await lendAsset(
import { stakeWithJup } from "solana-agent-kit";
const signature = await stakeWithJup(
- agent,
- 1 // amount in SOL
+ agent,
+ 1 // amount in SOL
);
```
@@ -131,8 +131,8 @@ const signature = await stakeWithJup(
import { fetchPrice } from "solana-agent-kit";
const price = await fetchPrice(
- agent,
- "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" // Token mint address
+ agent,
+ "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" // Token mint address
);
console.log("Price in USDC:", price);
@@ -142,9 +142,9 @@ console.log("Price in USDC:", price);
### Core Functions
-#### `deploy_token(agent, decimals?, initialSupply?)`
+#### `deploy_token(agent, decimals?, name, uri, symbol, initialSupply?)`
-Deploy a new SPL token with optional initial supply.
+Deploy a new SPL token with optional initial supply. If not specified, decimals default to 9.
#### `deploy_collection(agent, options)`
@@ -181,6 +181,7 @@ The toolkit relies on several key Solana and Metaplex libraries:
- @solana/web3.js
- @solana/spl-token
- @metaplex-foundation/mpl-token-metadata
+- @metaplex-foundation/mpl-core
- @metaplex-foundation/umi
## Contributing
diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html
index 47091be..2ca220c 100644
--- a/docs/classes/SolanaAgentKit.html
+++ b/docs/classes/SolanaAgentKit.html
@@ -1,7 +1,7 @@
SolanaAgentKit | solana-agent-kit Index
Constructors
constructor
- new SolanaAgentKit(private_key, rpc_url?, openai_api_key): SolanaAgentKit
Parameters
- private_key: string
- rpc_url: string = "https://api.mainnet-beta.solana.com"
- openai_api_key: string
Properties
connection
connection: Connection
openai_api_key
openai_api_key: string
wallet_address
wallet_address: PublicKey
Methods
deployToken
- deployToken(decimals?): Promise<{
mint: PublicKey;
}> Parameters
- decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
Returns Promise<{
mint: PublicKey;
}>
getBalance
- getBalance(token_address?): Promise<null | number>
Parameters
Optionaltoken_address: PublicKey
Returns Promise<null | number>
getPrimaryDomain
- getPrimaryDomain(account): Promise<string>
Returns Promise<string>
getTPS
- getTPS(): Promise<number>
Returns Promise<number>
launchPumpFunToken
- launchPumpFunToken(tokenName, tokenTicker, description, imageUrl, options?): Promise<{
metadataUri: any;
mint: string;
signature: string;
}> Parameters
- tokenName: string
- tokenTicker: string
- description: string
- imageUrl: string
Optionaloptions: PumpFunTokenOptions
Returns Promise<{
metadataUri: any;
mint: string;
signature: string;
}>
lendAssets
- lendAssets(amount): Promise<string>
Returns Promise<string>
mintNFT
- mintNFT(collectionMint, metadata, recipient?): Promise<MintCollectionNFTResponse>
Parameters
- collectionMint: PublicKey
- metadata: {
creators?: {
address: string;
share: number;
}[];
name: string;
sellerFeeBasisPoints?: number;
symbol: string;
uri: string;
}Optionalcreators?: {
address: string;
share: number;
}[]
name: string
OptionalsellerFeeBasisPoints?: number
symbol: string
uri: string
Optionalrecipient: PublicKey
registerDomain
- registerDomain(name, spaceKB?): Promise<string>
Parameters
- name: string
OptionalspaceKB: number
Returns Promise<string>
requestFaucetFunds
- requestFaucetFunds(): Promise<string>
Returns Promise<string>
resolveSolDomain
- resolveSolDomain(domain): Promise<PublicKey>
Returns Promise<PublicKey>
stake
- stake(amount): Promise<string>
Returns Promise<string>
trade
- trade(outputMint, inputAmount, inputMint?, slippageBps?): Promise<string>
Parameters
- outputMint: PublicKey
- inputAmount: number
OptionalinputMint: PublicKey- slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS
Returns Promise<string>
transfer
- transfer(to, amount, mint?): Promise<string>
Parameters
- to: PublicKey
- amount: number
Optionalmint: PublicKey
Returns Promise<string>
+
Constructors
constructor
- new SolanaAgentKit(private_key, rpc_url?, openai_api_key): SolanaAgentKit
Parameters
- private_key: string
- rpc_url: string = "https://api.mainnet-beta.solana.com"
- openai_api_key: string
Properties
connection
connection: Connection
openai_api_key
openai_api_key: string
wallet_address
wallet_address: PublicKey
Methods
deployToken
- deployToken(name, uri, symbol, decimals?, initialSupply?): Promise<{
mint: PublicKey;
}> Parameters
- name: string
- uri: string
- symbol: string
- decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
OptionalinitialSupply: number
Returns Promise<{
mint: PublicKey;
}>
getBalance
- getBalance(token_address?): Promise<null | number>
Parameters
Optionaltoken_address: PublicKey
Returns Promise<null | number>
getPrimaryDomain
- getPrimaryDomain(account): Promise<string>
Returns Promise<string>
getTPS
- getTPS(): Promise<number>
Returns Promise<number>
launchPumpFunToken
- launchPumpFunToken(tokenName, tokenTicker, description, imageUrl, options?): Promise<{
metadataUri: any;
mint: string;
signature: string;
}> Parameters
- tokenName: string
- tokenTicker: string
- description: string
- imageUrl: string
Optionaloptions: PumpFunTokenOptions
Returns Promise<{
metadataUri: any;
mint: string;
signature: string;
}>
lendAssets
- lendAssets(amount): Promise<string>
Returns Promise<string>
mintNFT
- mintNFT(collectionMint, metadata, recipient?): Promise<MintCollectionNFTResponse>
Parameters
- collectionMint: PublicKey
- metadata: {
creators?: {
address: string;
share: number;
}[];
name: string;
sellerFeeBasisPoints?: number;
uri: string;
}Optionalcreators?: {
address: string;
share: number;
}[]
name: string
OptionalsellerFeeBasisPoints?: number
uri: string
Optionalrecipient: PublicKey
registerDomain
- registerDomain(name, spaceKB?): Promise<string>
Parameters
- name: string
OptionalspaceKB: number
Returns Promise<string>
requestFaucetFunds
- requestFaucetFunds(): Promise<string>
Returns Promise<string>
resolveSolDomain
- resolveSolDomain(domain): Promise<PublicKey>
Returns Promise<PublicKey>
stake
- stake(amount): Promise<string>
Returns Promise<string>
trade
- trade(outputMint, inputAmount, inputMint?, slippageBps?): Promise<string>
Parameters
- outputMint: PublicKey
- inputAmount: number
OptionalinputMint: PublicKey- slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS
Returns Promise<string>
transfer
- transfer(to, amount, mint?): Promise<string>
Parameters
- to: PublicKey
- amount: number
Optionalmint: PublicKey
Returns Promise<string>
Main class for interacting with Solana blockchain Provides a unified interface for token operations, NFT management, and trading
SolanaAgentKit
-