AURA

dWallet Operations

dWallet registration, controls, balance tracking, and transfer management

dWallet Transfer Flow

dWallets

InstructionDescription
register_dwalletRegister (or update runtime metadata for) a dWallet on a chain.
refresh_dwallet_balanceRefresh a dWallet's stored USD balance from its oracle.
init_dwallet_stateCreate the per-dWallet runtime account (status, limits, asset ledger) for a chain.New
set_default_chainSet/clear the treasury's preferred ("primary") execution chain.New

Each registered dWallet has a separate runtime account (DWalletAccount, one PDA per chain) holding its controls, multi-asset ledger, and spend reservation — kept out of the size-capped treasury account.

dWallet controls

InstructionDescription
set_dwallet_statusTransition the dWallet lifecycle (active / freeze / retire).New
set_dwallet_limitsSet/clear the per-dWallet daily + per-tx USD limits.New
set_dwallet_labelSet/clear a human-readable label.New
rotate_dwallet_authorityRotate the controlling authority + CPI authority seed (bumps the rotation epoch).New
remove_dwalletRemove a dWallet and close its runtime account (must be empty/retired, not the default chain, no pending proposal).New

dWallet balances

InstructionDescription
record_depositCredit a deposit onto the asset ledger (accumulates or creates a row).New
refresh_asset_balanceInsert/replace a tracked asset's native amount + USD valuation.New
set_asset_feedSet/clear the price-feed account on a tracked asset.New
set_asset_oracle_feedSet/clear the verified oracle feed account for a tracked asset; trusted providers require a feed account, owner program, staleness bound, and confidence bound.New
refresh_verified_asset_balanceRefresh a tracked asset from its stored feed account using the verified oracle adapter, normalized native amount, and USD price.New
reconcile_dwallet_balanceRecompute the treasury's cached aggregate balance from the asset ledger.New

dWallet transfers

InstructionDescription
reserve_dwallet_spendReserve available balance ahead of an outbound proposal (enforces status, limits, and available balance).New
settle_dwallet_spendRelease the reservation, record the spend, and debit the named asset row after settlement.New
release_dwallet_spendReturn a reservation without spending (cancel/expire path).New

Multi-asset ledger

Each DWalletAccount maintains a per-asset ledger with native amounts, USD valuations, and price feeds. Asset-aware proposals reserve specific assets during execution.

On this page