Each agent holds its own wallet across 9 chains with three stablecoins. The system reserves balances atomically and provides real-time spending visibility through a single dashboard.
Oris creates isolated wallets for each agent on each chain. Agents on Ethereum do not share funds with agents on Base. The wallet type adapts to the chain: ERC-4337 account abstraction for EVM chains, PDA multisig through Squads Protocol on Solana.
Ethereum, Base, Polygon, Arbitrum, Avalanche, BSC, Optimism, Celo, and Solana. One API call creates a wallet on any of them.
USDC, USDT, and EURC balances tracked independently per wallet. The dashboard shows aggregated and per-agent breakdowns.
2-of-3 threshold MPC signing through Lit Protocol, Fireblocks, or self-hosted infrastructure. No single point of key compromise.
Oris uses a two-tier balance architecture. Redis cache serves the policy engine and dashboard with sub-millisecond reads. PostgreSQL handles atomic balance reservation with row-level locking for concurrent operation safety.
60-second TTL. Hash keys per wallet. The policy engine and dashboard read from this layer. Sub-millisecond latency for balance checks during payment authorization.
SELECT FOR UPDATE with serializable isolation. Two concurrent payments to the same wallet will never both succeed if the balance covers only one. The database guarantees ordering.
reserve_balance, release_balance, confirm_debit, credit_balance. Each operation updates both tiers in the correct order. Failed transactions release the reservation automatically.
Oris can unilaterally freeze any agent wallet when compliance violations are detected. Frozen wallets reject all transactions until a compliance review clears the hold. The freeze stores a reason, a timestamp, and an audit record.
Sets wallet status to frozen with a stored reason and timestamp. All payment attempts return a rejection immediately. The freeze propagates to the Redis cache within one second.
Compliance review clears the hold. The wallet returns to active status. Both freeze and unfreeze events appear in the audit trail.
Permanently disable a wallet. Remaining balance must be swept before decommissioning. The wallet address is retained for audit purposes.
Create your first wallet and allocate budget in under three minutes.