Every chain, one view

One view.
Every chain.

Watch your stablecoin balances across eight chains in a single view. Set refill rules that move funds when balances run low. Oris reads and routes. Your provider key signs.

Treasury overview · Live
Total balance 6,550 USDC
Ethereum
1,240 USDC
Base
2,100 USDC
Arbitrum
1,850 USDC
Polygon
860 USDC
Avalanche
500 USDC
8
EVM chains
1
Unified API
Real-time
Balance reads
Non-custodial
Your keys sign

Live balances. All eight chains.

Hold USDC on every supported chain at once. Oris reads each chain direct and stacks the balances into one view.

01 / 04

Ethereum

USDC and USDT live with on-chain RPC reads against the canonical mainnet endpoint.

Base

USDC plus USDbC live on Base, the default cost-efficient settlement rail for the treasury.

Arbitrum

USDC and USDT live on Arbitrum One with the same balance-read primitive as every other chain.

Polygon

USDC and USDT live on Polygon, with PoS bridge metadata available for inter-chain reconciliation.

Avalanche

USDC and USDT live on Avalanche C-Chain with the standard balance-read interface.

Optimism

USDC and USDT live on Optimism, available as a destination for refill routing on the OP Stack.

BNB Chain

USDC, USDT, and BUSD live on BNB Smart Chain with the same operator interface as every other rail.

Celo

USDC and cUSD live on Celo, included for operators that need a mobile-first settlement chain.

Funds move when they need to.

A refill rule watches the agent balance and triggers a transfer the moment it dips below the threshold. Oris builds the transaction. Your key signs.

02 / 04

Threshold triggers

Each policy specifies a minimum balance and a target balance. Oris monitors continuously and triggers a refill the moment the minimum is breached. There is no polling delay on the operator's side.

Transfer routing

The transfer is routed to your configured key provider. Turnkey, Fireblocks, or Circle signs the transaction inside its own TEE. Oris submits the signed payload on-chain. The treasury keys never leave the provider.

Refill history

Every refill produces a row in the activity log: the policy that fired, the source treasury, the destination wallet, the amount, the chain, the on-chain transaction hash. The audit trail is complete.

We read. You sign.

Oris never holds your keys. A refill runs in four stages. Oris reads and routes. Your provider signs. The treasury never loses sight of the funds.

03 / 04
01

Balance read

Oris reads the chain state directly. There is no custodial database in between. The number reflects the on-chain truth at the time of the read.

02

Transaction construction

If the policy fires, Oris assembles the unsigned transaction. Recipient, amount, chain, gas parameters are all calculated server-side.

03

Key provider signing

The unsigned transaction is sent to Turnkey, Fireblocks, or Circle. The provider signs inside its own TEE. The signed payload returns to Oris.

04

On-chain submission

The provider broadcasts the signed transaction to the destination chain. Oris confirms inclusion and writes the receipt to the activity log.

One call. All balances.

The SDK exposes balance reads and refill rules from the same client. Each method is one line.

04 / 04

Read the full treasury balance across every chain with a single call. Define a refill policy with a min balance, a target balance, and a funding source. Both calls inherit the developer scope and respect tenant isolation.

treasury_setup.py
balances = oris.treasury.get_balances(
    treasury_id="treasury-main",
)

oris.treasury.set_refill_policy(
    wallet_id="agent-procurement-bot",
    min_balance=100.00,
    target_balance=500.00,
    funding_source="treasury-main",
)

See every chain in one view.

Monitor balances, set refill rules, route transfers. One API. Your keys stay yours.