Treasury
Treasury is the operator-facing view across every chain, every agent, every wallet. Monitor balances, configure auto-refill, set hierarchical budgets. Non-custodial: Oris reads chain state and routes transfers; your provider signs.
Real-time balances
Eight EVM chains plus Solana and Tron, read through a single endpoint.
balances = client.treasury.get_balances(treasury_id="treasury-main")
for b in balances: print(b.chain, b.asset, b.amount, b.usd_value)
print(f"Total: {sum(b.usd_value for b in balances)} USD")const balances = await client.treasury.getBalances({ treasuryId: 'treasury-main' });
for (const b of balances) { console.log(b.chain, b.asset, b.amount, b.usdValue);}
const total = balances.reduce((acc, b) => acc + b.usdValue, 0);console.log(`Total: ${total} USD`);Auto-refill
Configure minimum and target balances per wallet. When the balance drops below the minimum, Oris constructs a transfer from the funding source. The provider signs. The transaction broadcasts.
client.treasury.set_refill_policy( wallet_id=agent.wallet_id, min_balance=100.00, target_balance=500.00, funding_source="treasury-main",)
# Refills are async + recorded in the activity loghistory = client.treasury.refill_history(wallet_id=agent.wallet_id, limit=20)await client.treasury.setRefillPolicy({ walletId: agent.walletId, minBalance: 100.00, targetBalance: 500.00, fundingSource: 'treasury-main',});
const history = await client.treasury.refillHistory({ walletId: agent.walletId, limit: 20 });Hierarchical budgets
A fleet of 200 agents can share a single budget cap with per-agent sub-caps. Policy inheritance: the parent budget enforces the ceiling; children divide it.
Org budget $50,000 / month └── Procurement team $30,000 / month ├── Agent A $500 / day, $5,000 / month ├── Agent B $500 / day, $5,000 / month └── Agent C $200 / day, $2,000 / month └── Research team $20,000 / month └── ... etc.A breach at any level blocks the in-flight payment. The hierarchy is recorded with every transaction so the audit log shows which level approved it.
Non-custodial architecture
Oris reads balance │ ▼Oris constructs unsigned transaction │ ▼Your provider (Turnkey, Fireblocks, Circle) signs │ ▼Provider broadcasts │ ▼Oris confirms + recordsFunds never touch Oris. The signing key never leaves your provider’s TEE.
Where to go next
- BYOK custody for the signing-key model.
- Wallets for the wallet primitive treasury manages.
- Multi-chain for the chain coverage.
- Activity log for treasury operation visibility.