Quick Start
Get up and running with the AURA Rust SDK.
Pre-alpha — not production ready
aura-sdk targets Solana devnet only. APIs, types, and instruction shapes may change without notice. Do not use for real funds until a stable release and audit are published.
aura-sdk is the native Rust client for the AURA program. It provides typed
builders for the full 161-instruction surface, PDA helpers, account fetching,
domain-model conversion, typed program error codes, and
client-side validation — without any TypeScript or Node.js dependency.
Use Cases
- Devnet smoke tests with typed AURA instructions
- Back-office services that prefer Rust for transaction composition
- Program-adjacent tooling sharing AURA domain types
- CI validation for PDA derivation and account decoding
Installation
[dependencies]
aura-sdk = { git = "https://github.com/exyreams/aura", branch = "main" }
solana-sdk = "=3.0.0"
solana-client = "=3.1.12"
solana-commitment-config = "=3.1.1"Quick Start
use aura_sdk::{
AuraClient,
AURA_DEVNET_PROGRAM_ID,
types::{CreateTreasuryArgs, PolicyConfig, PolicyConfigRecord, ProtocolFees, ProtocolFeesRecord},
};
use solana_commitment_config::CommitmentConfig;
use solana_sdk::signature::{Keypair, Signer};
let client = AuraClient::with_options(
"https://devnet.helius-rpc.com/?api-key=YOUR_KEY",
AURA_DEVNET_PROGRAM_ID,
CommitmentConfig::confirmed(),
);
let owner = Keypair::new();
let args = CreateTreasuryArgs {
agent_id: "agent-rs-1".to_string(),
ai_authority: owner.pubkey(),
created_at: 0,
pending_transaction_ttl_secs: 900,
policy_config: PolicyConfigRecord::from_domain(&PolicyConfig::default()),
protocol_fees: ProtocolFeesRecord::from_domain(&ProtocolFees::default()),
};
let (treasury, signature) = client.create_treasury(&owner, args)?;
println!("Treasury: {treasury}");
println!("Signature: {signature}");