SDK

Rust SDK

Full Buff SDK for Rust — zero-copy, async-ready.

Install

$cargo add buff-sdkCopy

For network features (Jupiter, RPC):

$cargo add buff-sdk --features networkCopy

Quick Start

main.rs
typescript
1use buff_sdk::{fee, wallet};
2
3fn main() {
4 // Calculate round-up
5 let r = fee::calculate_round_up(27.63, 0.50, 1.0);
6 println!("Round-up: {}", r.round_up_usd); // 0.37
7
8 // Full breakdown
9 let b = fee::calculate_fees(27.63, 150.0, 0.50);
10 println!("Investing: {}", b.user_investment_usd);
11 println!("Buff fee: {}", b.buff_fee_usd);
12
13 // Derive wallet
14 let sig = vec![1u8; 64];
15 let keypair = wallet::derive_wallet(&sig).unwrap();
16 println!("Buff wallet: {}", keypair.pubkey());
17}

Modules

ModulePurpose
buff_sdk::feecalculate_round_up(), calculate_fees()
buff_sdk::walletderive_wallet() — sha2 + solana-keypair
buff_sdk::configPlanTier enum, token mints, fee tiers
buff_sdk::errorsBuffError enum (thiserror)
buff_sdk::pricePriceService (feature: network)
buff_sdk::swapJupiter integration (feature: network)
Note
Core modules (fee, wallet, config, errors) have zero network dependencies. Enable the "network" feature for price fetching and Jupiter swaps.