Overview
All 161 AURA instructions, grouped into 13 domains.
Pre-alpha — not production ready
aura-sdk targets Solana devnet only. APIs may change without notice. Do
not use for real funds until a stable release and audit are published.
The Rust SDK covers the full 161-instruction aura-core surface, grouped
into 13 domains that mirror the TypeScript SDK. Full
coverage is pinned by two compile-time tests, so the SDK can never silently
drift from the deployed program:
every_program_instruction_has_a_reachable_builder— the standalone builders.every_program_instruction_has_a_client_send_helper— the client surface.
The three calling forms
Every instruction is exposed three ways. Pick whichever fits the call site:
use aura_sdk::instructions;
// 1. Standalone builder — returns an `Instruction` you can compose freely.
let ix = instructions::governance::configure_multisig(accounts, args);
// 2. Client builder — same, but rewritten to the client's program ID.
let ix = client.configure_multisig_instruction(owner.pubkey(), treasury, args);
// 3. Client send-helper — build + validate signer + sign + submit in one call.
let sig = client.configure_multisig(&owner, treasury, args)?;The standalone builder pairs with the generic, type-safe
execute /
execute_many for single or atomic multi-instruction submission:
let ix = instructions::policy::discard_canary(accounts);
client.execute(&owner, ix, &[])?;Builders live in category modules (core, flows, wallets, admin,
controls, economics) and every domain is also re-exported at the top level,
so instructions::governance::… and instructions::admin::governance::… both
resolve.
Domains
| Domain | Count | What it covers |
|---|---|---|
| Treasury | 6 | Create/migrate treasuries, analytics, recipient limits. |
| Execution | 20 | Proposals, settlement, scheduled & conditional intents, pause. |
| Confidential | 10 | Encrypted guardrails, FHE proposals, policy decryption. |
| Governance | 15 | Multisig, overrides, rotations, config changes, recovery. |
| dWallet | 18 | dWallet state, balances, oracle feeds, spend reservations. |
| Policy | 21 | Presets, templates, simulations, receipts, canaries, trust. |
| Budget | 9 | Budget envelopes, exposure groups, approval ladders, liveness. |
| Operational | 11 | Scoped pauses, liveness, health, snapshots, activity logs. |
| Lifecycle | 23 | Agent identity, roles, session keys, chain & protocol config. |
| Swarm | 6 | Shared agent pools and membership. |
| Fees | 15 | Fee schedules, vaults, billing templates, collection. |
| Address Lists | 5 | Recipient/contract allow & deny lists. |
| Batch | 2 | Batch policy simulation and proposals. |
Reading the per-domain tables
Each domain page lists every instruction with its purpose, signer, and key arguments. Account columns use these markers:
- (s) signer · (w) writable · ? optional (
Nonewhen unused)
Send-helpers take the generated Anchor account structs from
aura_sdk::anchor_accounts (re-exported as aura_core::accounts) plus a typed
args struct from aura_sdk::types. Where the program
instruction has an explicit signer account, the send-helper validates the
provided keypair against it locally before touching RPC.