AURA

Overview

All AURA program instructions grouped by domain.

Pre-alpha — not production ready

@aura-protocol/sdk-ts targets Solana devnet only. APIs may change without notice. Do not use for real funds until a stable release and audit are published.

The TypeScript SDK mirrors the current AURA Anchor IDL and groups all 67 instruction builders by domain. Every instruction is available in two forms — build-only (*Instruction()) and build-and-send.

Domains

DomainKey methodsPage
TreasurycreateTreasury, pauseExecution, cancelPendingTreasury
ConfidentialconfigureConfidentialGuardrails, proposeConfidentialTransaction, requestPolicyDecryption, confirmPolicyDecryptionConfidential
ExecutionproposeTransaction, approvePendingExecution, executePending, finalizeExecution, setScopedPauseExecution
GovernanceconfigureMultisig, proposeAiRotation, executeConfigChange, vetoConfigChange, emergencyShutdown, proposeGuardianRotation, configureApprovalLadderGovernance
SwarmconfigureSwarm, initSwarmPool, joinSwarmSwarm
dWalletregisterDwallet, refreshDwalletBalancedWallet
PolicysimulatePolicy, writePolicyReceipt, attestPolicy, checkInvariants, checkPolicyCpi, applyPolicyPresetPolicy
BudgetconfigureBudgetEnvelope, initExposureGroup, joinExposureGroup, configureApprovalLadderBudget
OperationsgrantOperatorRole, revokeOperatorRole, initExternalLiveness, refreshExternalLiveness, configureLivenessGuardrails, initHealthScore, refreshHealthScore, takeSnapshot, initActivityLog, initPolicyHistory, recordPolicySnapshotOperations
LifecycleissueSessionKey, revokeSessionKey, closeSessionKey, triggerDeadMansSwitch, transitionAgentState, migrateTreasuryLifecycle
FeesinitFeeVault, collectFees, closeFeeVaultFees
Address ListsinitAddressList, manageAddressList, closeAddressListAddress Lists
BatchproposeBatchBatch

Dual-Form Pattern

Every instruction has two forms:

// Build only — compose into custom transactions
const { instruction } = await client.emergencyShutdownInstruction(
  { owner: owner.publicKey, treasury },
  recoveryAuthority,
  Math.floor(Date.now() / 1000),
);

// Build + send in one call
const signature = await client.emergencyShutdown(
  owner,
  { owner: owner.publicKey, treasury },
  recoveryAuthority,
  Math.floor(Date.now() / 1000),
);

Discovery

Use the built-in catalog to enumerate all instructions at runtime:

import { AURA_FEATURE_DOMAINS } from "@aura-protocol/sdk-ts";

for (const domain of AURA_FEATURE_DOMAINS) {
  for (const ix of domain.instructions) {
    console.log(`${domain.label} / ${ix.name} (${ix.maturity})`);
  }
}

On this page