blackmesh-sdk
v1.0.2
Published
BLACKMESH SDK - Complete toolkit for privacy-first Solana development
Downloads
25
Maintainers
Readme
blackmesh-sdk
Complete toolkit for privacy-first Solana development with built-in MEV protection and Jupiter integration.
Installation
npm install blackmesh-sdk @solana/web3.jsQuick Start
import { BlackMeshSDK } from 'blackmesh-sdk';
import { Keypair } from '@solana/web3.js';
// Initialize SDK
const sdk = new BlackMeshSDK();
// 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 BlackMeshSDK(config?)
Create a new SDK instance.
const sdk = new BlackMeshSDK({
rpcEndpoint: 'https://blackmesh.xyz/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 'blackmesh-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 BlackMeshSDK({
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 'blackmesh-sdk';Links
- Website: blackmesh.xyz
- GitHub: Black-Mesh/blackmesh-sdk
- Twitter: @BMeshNet
- NPM: blackmesh-sdk
License
MIT License - see LICENSE for details.
