SDK
Rust SDK
Full Buff SDK for Rust — zero-copy, async-ready.
Install
$
cargo add buff-sdkCopyFor network features (Jupiter, RPC):
$
cargo add buff-sdk --features networkCopyQuick Start
main.rs
typescript
1use buff_sdk::{fee, wallet};23fn main() {4 // Calculate round-up5 let r = fee::calculate_round_up(27.63, 0.50, 1.0);6 println!("Round-up: {}", r.round_up_usd); // 0.3778 // Full breakdown9 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);1213 // Derive wallet14 let sig = vec![1u8; 64];15 let keypair = wallet::derive_wallet(&sig).unwrap();16 println!("Buff wallet: {}", keypair.pubkey());17}Modules
| Module | Purpose |
|---|---|
| buff_sdk::fee | calculate_round_up(), calculate_fees() |
| buff_sdk::wallet | derive_wallet() — sha2 + solana-keypair |
| buff_sdk::config | PlanTier enum, token mints, fee tiers |
| buff_sdk::errors | BuffError enum (thiserror) |
| buff_sdk::price | PriceService (feature: network) |
| buff_sdk::swap | Jupiter integration (feature: network) |
Note
Core modules (fee, wallet, config, errors) have zero network dependencies. Enable the "network" feature for price fetching and Jupiter swaps.