Overview
The AURA on-chain program — what aura-core is, how it spans chains, and how a proposal flows from intent to settlement.
Pre-alpha — devnet only
The program is deployed to Solana devnet and depends on the Ika Encrypt and dWallet pre-alpha networks. Account layouts, instruction discriminators, and the IDL may change. Do not secure real funds.
AURA is two programs working together:
aura-core— the deployed Anchor program. It owns theTreasuryAccountPDA and the full instruction surface: creating and operating agent treasuries, registering dWallets, evaluating policy, requesting FHE decryption, requesting dWallet signatures, and finalizing execution.aura-policy— a pure-Rust policy engine with no Anchor dependency. It is consumed on-chain byaura-coreand off-chain by SDKs/tooling for simulation and preview, so the same rules govern both.
| Program ID (devnet) | auraEgX8ZUK3Xr8X81aRfgyTmoyNdsdfL6XfDN8W1ce |
| On-chain IDL | Eior2CvitsWmDH9vJ6VPCxTW169UaM2sw9dupCLNdoQT — fetch with anchor idl fetch auraEgX8ZUK3Xr8X81aRfgyTmoyNdsdfL6XfDN8W1ce |
| Loader | BPF Upgradeable |
Why it's split this way
A treasury controlled by an autonomous agent has to satisfy three things at once: keep the agent's strategy private, let it operate freely within limits, and make those limits impossible to bypass. AURA separates concerns to achieve that:
- Solana is the control plane. All policy, limits, approvals, and audit live in
aura-core. It never holds external-chain keys. - Confidential guardrails (daily/per-tx limits + the running spend counter) are stored as FHE ciphertexts and evaluated by the Encrypt network — only a small violation code is decrypted, never the limits.
- Execution is MPC-signed. Approved proposals are co-signed through Ika dWallet records, so the agent is never handed a raw private key, and one Solana program can act across six chains.
How a proposal flows
A spend is never a single call — it moves through a policy gate, an optional confidential branch, an MPC-signing step, and a finalize step. Each stage is enforced on-chain.
For public proposals the policy decision is computed locally by aura-policy; for confidential proposals the
amount-sensitive checks run under encryption on the Encrypt network. Either way, the dWallet signature is only
requested after policy approves.
Explore the reference
Instructions
The full instruction catalog, grouped by entity.
Accounts
The treasury PDA and every auxiliary account, with seeds.
Errors
Program error codes and what triggers them.
SDK wrappers
This section documents the program directly (instructions, accounts, errors). The TypeScript SDK and Rust SDK wrap these into typed client methods — when a new instruction lands here, the SDK pages are updated to match.