AURA

instruction

Build and send any aura-core instruction directly from the IDL.

Pre-alpha — not production ready

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

The instruction command (alias: instructions) gives raw access to every instruction in the AURA IDL. Useful for advanced operations not covered by the domain commands, or for scripting arbitrary instruction sequences.

# Both forms work identically
aura instruction list
aura instructions list

aura instruction list

List every instruction grouped by domain.

aura instruction list
aura instruction list --json
Example output:
$ aura instruction list
AURA :: Instruction Surface

┌──────────────┬──────────────────────────────────────────────────────────┐
│ Domain       │ Instructions                                             │
├──────────────┼──────────────────────────────────────────────────────────┤
│ Treasury     │ createTreasury                                           │
│              │ pauseExecution                                           │
│              │ proposeTransaction                                       │
│              │ cancelPending                                            │
├──────────────┼──────────────────────────────────────────────────────────┤
│ Confidential │ configureConfidentialGuardrails                          │
│              │ proposeConfidentialTransaction                           │
│              │ requestPolicyDecryption                                  │
│              │ confirmPolicyDecryption                                  │
└──────────────┴──────────────────────────────────────────────────────────┘

aura instruction schema

Show the account and argument schema for a specific instruction.

aura instruction schema configure_budget_envelope
aura instruction schema propose_transaction --json

Output includes each account (name, signer, writable, optional, default) and each argument (name, type, sample value).

Example output:
$ aura instruction schema
AURA :: proposeTransaction

┌──────────────┬────────┬──────────┬──────────┬─────────┐
│ Account      │ Signer │ Writable │ Optional │ Default │
├──────────────┼────────┼──────────┼──────────┼─────────┤
│ aiAuthority  │ yes    │ no       │ no       │         │
│ treasury     │ no     │ yes      │ no       │         │
│ systemProgram│ no     │ no       │ no       │ 1111…11 │
└──────────────┴────────┴──────────┴──────────┴─────────┘

┌──────────────────────┬────────┬──────────────┐
│ Arg                  │ Type   │ Sample       │
├──────────────────────┼────────┼──────────────┤
│ amountUsd            │ u64    │ 100          │
│ targetChain          │ u8     │ 2            │
│ txType               │ u8     │ 0            │
│ recipientOrContract  │ string │ "0xdeadbeef" │
└──────────────────────┴────────┴──────────────┘

aura instruction build

Build an instruction and print the serialized data without sending.

aura instruction build cancel_pending \
  --account owner=<pubkey> \
  --account treasury=<pubkey> \
  --arg now=1234567890

# Or pass accounts/args as JSON
aura instruction build cancel_pending \
  --accounts '{"owner":"<pubkey>","treasury":"<pubkey>"}' \
  --args '{"now":1234567890}'

# Or load from a file
aura instruction build cancel_pending \
  --accounts @accounts.json \
  --args @args.json
FlagDescription
--accounts <json|@file>Accounts as a JSON object or @path to file
--args <json|@file>Args as a JSON object/array or @path to file
--account <key=value>Single account override, repeatable
--arg <key=value>Single argument override, repeatable
{
  "instruction": "cancelPending",
  "programId": "EaRoLVwL8EErDUeEMPHJ5QJeLVQZWJMtZcgmFzT9bhHs",
  "accounts": [
    { "pubkey": "7mNv…QrSt", "isSigner": true,  "isWritable": false },
    { "pubkey": "9mTq…Wr4K", "isSigner": false, "isWritable": true  }
  ],
  "dataBase64": "3ySm...Kx=="
}

aura instruction send

Build and send any instruction using the configured wallet.

aura instruction send cancel_pending \
  --account owner=<pubkey> \
  --account treasury=<pubkey> \
  --arg now=1234567890

# With extra signers (e.g. for instructions requiring multiple keypairs)
aura instruction send propose_confidential_transaction \
  --accounts @accounts.json \
  --args @args.json \
  --extra-signer ~/.config/solana/policy-output.json

# Override compute units
aura instruction send configure_confidential_guardrails \
  --accounts @accounts.json \
  --args @args.json \
  --compute-units 800000
Example output:
$ aura instruction send
✓ Instruction sent: 2pVk…Hn6Z
FlagDescription
--accounts <json|@file>Accounts as a JSON object or @path to file
--args <json|@file>Args as a JSON object/array or @path to file
--account <key=value>Single account override, repeatable
--arg <key=value>Single argument override, repeatable
--extra-signer <path>Additional keypair path, repeatable
--compute-units <units>Compute unit limit (default: 600,000)

On this page