@yokairpc/sdk
v1.0.0
Published
YOKAI SDK - Complete toolkit for privacy-first Solana development
Downloads
7
Maintainers
Readme
@yokairpc/sdk
Complete toolkit for privacy-first Solana development with built-in MEV protection and Jupiter integration.
Installation
npm install @yokairpc/sdk @solana/web3.jsQuick Start
import { YokaiSDK } from '@yokairpc/sdk';
import { Keypair } from '@solana/web3.js';
// Initialize SDK
const sdk = new YokaiSDK();
// Execute swap with one line
const wallet = Keypair.generate(); // Or your wallet adapter
const result = await sdk.swap({
inputToken: 'SOL',
outputToken: 'USDC',
amount: 1.5,
wallet: wallet,
slippageBps: 50
});
console.log('Swap signature:', result.signature);
console.log('Output amount:', result.outputAmount);Features
- ✅ One-Line Swaps - Simple API for complex operations
- ✅ MEV Protection - Built-in protection for all transactions
- ✅ Jupiter Integration - Best prices across all Solana DEXs
- ✅ Token Utilities - Easy token lookup and conversion
- ✅ TypeScript - Full type safety and IntelliSense
- ✅ Free Forever - Unlimited requests, no API key required
API Reference
new YokaiSDK(config?)
Create a new SDK instance.
const sdk = new YokaiSDK({
rpcEndpoint: 'https://app.yokairpc.io/api/rpc', // optional
jupiterEndpoint: 'https://lite-api.jup.ag/swap/v1' // optional
});sdk.swap(params)
Execute a swap with MEV protection.
const result = await sdk.swap({
inputToken: 'SOL', // Symbol or address
outputToken: 'USDC', // Symbol or address
amount: 1.5, // Input amount
wallet: myWallet, // Wallet adapter or Keypair
slippageBps: 50, // Optional: 0.5% slippage
options: { // Optional: Send options
skipPreflight: false,
preflightCommitment: 'confirmed'
}
});
if (result.success) {
console.log('Signature:', result.signature);
console.log('Output:', result.outputAmount);
console.log('Price impact:', result.priceImpact);
} else {
console.error('Error:', result.error);
}sdk.getQuote(params)
Get a quote without executing swap.
const quote = await sdk.getQuote({
inputMint: 'So11111111111111111111111111111111111111112',
outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
amount: 1500000000, // lamports
slippageBps: 50
});
console.log('Expected output:', quote.outAmount);
console.log('Price impact:', quote.priceImpactPct);
console.log('Route:', quote.route);sdk.getRPCClient()
Get underlying RPC client for low-level operations.
const rpcClient = sdk.getRPCClient();
const connection = rpcClient.getConnection();
const balance = await connection.getBalance(publicKey);sdk.getJupiterClient()
Get Jupiter client for advanced operations.
const jupiterClient = sdk.getJupiterClient();
const quote = await jupiterClient.getQuote({...});Token Utilities
import {
getTokenBySymbol,
getTokenByAddress,
toLamports,
fromLamports,
POPULAR_TOKENS
} from '@yokairpc/sdk';
// Get token by symbol
const solToken = getTokenBySymbol('SOL');
console.log(solToken.address); // So11111111...
// Convert amounts
const lamports = toLamports(1.5, 9); // 1500000000
const amount = fromLamports('1500000000', 9); // 1.5
// Access popular tokens
console.log(POPULAR_TOKENS.USDC);
console.log(POPULAR_TOKENS.BONK);Supported Tokens
Built-in support for:
- SOL (Wrapped SOL)
- USDC (USD Coin)
- USDT (Tether)
- BONK (Bonk)
- JUP (Jupiter)
Plus any token via address!
Advanced Usage
Custom RPC Endpoint
const sdk = new YokaiSDK({
rpcEndpoint: 'https://your-instance.com/api/rpc'
});Swap with Token Addresses
await sdk.swap({
inputToken: 'So11111111111111111111111111111111111111112',
outputToken: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
amount: 1.5,
wallet: myWallet
});Custom Slippage
await sdk.swap({
inputToken: 'SOL',
outputToken: 'USDC',
amount: 1.5,
wallet: myWallet,
slippageBps: 100 // 1% slippage
});Error Handling
const result = await sdk.swap({...});
if (!result.success) {
console.error('Swap failed:', result.error);
// Handle error
}TypeScript Support
Full TypeScript support with comprehensive types:
import { SwapParams, SwapResult, Quote, Token } from '@yokairpc/sdk';Comparison with @yokairpc/client
| Feature | @yokairpc/client | @yokairpc/sdk | |---------|------------------|---------------| | RPC Client | ✅ | ✅ | | MEV Protection | ✅ | ✅ | | Jupiter Integration | ❌ | ✅ | | One-line Swaps | ❌ | ✅ | | Token Utilities | ❌ | ✅ | | Quote API | ❌ | ✅ | | Size | ~3KB | ~10KB | | Use Case | Low-level control | Easy swaps |
Links
- Website: app.yokairpc.io
- Documentation: docs
- GitHub: yokairpc/yokai-rpc
- Twitter: @yokairpcdotio
- NPM: @yokairpc/sdk
Related Packages
- @yokairpc/client - Lightweight RPC client
License
MIT License - see LICENSE for details.
