Rust
Complete examples for integrating Turnpike API with Rust.
Dependencies
Add to Cargo.toml:
[dependencies]
reqwest = { version = "0.11", features = ["json"] }
tokio = { version = "1", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
solana-client = "1.16"
solana-sdk = "1.16"
base64 = "0.21"
anyhow = "1.0"Lightning API Examples
Execute Buy Trade
use reqwest::Client;
use serde::{Deserialize, Serialize};
use std::env;
#[derive(Serialize)]
struct BuyTradeRequest {
#[serde(rename = "publicKey")]
public_key: String,
mint: String,
amount: f64,
slippage: f64,
#[serde(rename = "priorityFee")]
priority_fee: f64,
}
#[derive(Deserialize, Debug)]
struct BuyTradeResponse {
success: bool,
signature: String,
#[serde(rename = "tokensReceived")]
tokens_received: u64,
#[serde(rename = "effectivePrice")]
effective_price: f64,
}
async fn execute_buy_trade(
public_key: &str,
mint: &str,
amount: f64,
) -> Result<BuyTradeResponse, Box<dyn std::error::Error>> {
let client = Client::new();
let api_key = env::var("TURNPIKE_API_KEY")?;
let request = BuyTradeRequest {
public_key: public_key.to_string(),
mint: mint.to_string(),
amount,
slippage: 10.0,
priority_fee: 0.0001,
};
let response = client
.post("https://api.turnpike.dev/trade/buy")
.header("Content-Type", "application/json")
.header("Authorization", format!("Bearer {}", api_key))
.json(&request)
.send()
.await?;
let data: BuyTradeResponse = response.json().await?;
println!("Trade successful!");
println!("Signature: {}", data.signature);
println!("Tokens received: {}", data.tokens_received);
println!("Effective price: {}", data.effective_price);
Ok(data)
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let result = execute_buy_trade(
"YOUR_WALLET_PUBLIC_KEY",
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
0.01,
)
.await?;
println!("Result: {:?}", result);
Ok(())
}Get Token Information
Get Portfolio
Local Transaction API Examples
Build and Sign Transaction
WebSocket Examples
Basic WebSocket Connection
Add to Cargo.toml:
Complete Trading Bot Example
Error Handling Example
Last updated