AURA

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

DomainCountWhat it covers
Treasury6Create/migrate treasuries, analytics, recipient limits.
Execution20Proposals, settlement, scheduled & conditional intents, pause.
Confidential10Encrypted guardrails, FHE proposals, policy decryption.
Governance15Multisig, overrides, rotations, config changes, recovery.
dWallet18dWallet state, balances, oracle feeds, spend reservations.
Policy21Presets, templates, simulations, receipts, canaries, trust.
Budget9Budget envelopes, exposure groups, approval ladders, liveness.
Operational11Scoped pauses, liveness, health, snapshots, activity logs.
Lifecycle23Agent identity, roles, session keys, chain & protocol config.
Swarm6Shared agent pools and membership.
Fees15Fee schedules, vaults, billing templates, collection.
Address Lists5Recipient/contract allow & deny lists.
Batch2Batch 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 (None when 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.

On this page