Your treasury control tower
See every position. Govern every move. Put idle assets to work.
Balances, positions, approvals, automations, audit. Every wallet, every chain, one screen.
Quorums, velocity caps, allowlists, role-based access. Codified treasury policy on every wallet.
Swaps, staking, yield allocations, exchange routing. From the dashboard, on demand, under policy.
Every action is an API call. Sweep and reconcile automatically. Plug into your ERP and back office.
One source of truth
for every position
See balances, flows, and positions across wallets, entities, currencies, and chains in real time.
View all positionsTrack token balances across 100+ networks. Aggregate by entity, asset, business line, or counterparty.
Assign unique addresses to customers, vendors, or desks. Inbound funds reconcile themselves.
Follow funds across wallets and entities. Every movement has a source, destination, and approval trail.
Enforce controls
before assets move
Quorums, limits, allowlists, and roles are enforced natively. Governance is the gate every transfer goes through.
Configure controlsRoute approvals by amount, asset, destination, or entity. Initiators cannot approve their own transfers.
Set caps, time windows, and frequency rules. Stop abnormal outflows before they reach the chain.
Approve with WebAuthn and FIDO2 passkeys. No seed phrases. No shared credentials.
Move assets
without leaving the platform
Sweep, batch, swap, stake, route, and allocate assets from one governed treasury layer.
Move assetsConsolidate funds on schedule or threshold. Batch payouts with fee sponsors built in.
Use integrated providers for swaps, staking, and allocations. Every action is policy-checked.
Move between wallets, exchanges, and fiat rails without losing visibility or control.
Close the books
from your current system
Every event is logged, assigned, and exportable. Reconciliation is continuous, not a monthly rebuild.
Export reportsGenerate positions, histories, and reconciliation files by entity, tag, date, or chain.
Map wallets and movements into your ERP or accounting system.
Track initiation, approval, signing, and broadcast. Give auditors a signed record, not a spreadsheet story.
Discover how Sphere powers payments on DFNS.
“Sphere's collaboration with DFNS improved our payment rails by providing robust security, near-perfect uptime, and fast transaction processing. Their commitment to innovation and reliability not only enhances our efficiency but also sets a new industry standard, making them a vital partner.”
Four steps to a treasury you can run
From your first wallet to agent fleets. The dashboard handles it first. APIs take over at scale.
$10B+ in monthly volume · 100+ blockchains · 1,000+ tokens · 0 client asset losses
See every position in one place.
Pull balances and flows across every wallet, entity, and chain into one view.
// Aggregate positions across the whole treasury, grouped by entity and asset
const positions = await dfnsApi.wallets.listBalances({
query: {
walletTags: { hasAny: ["treasury", "operating", "reserves"] },
groupBy: ["entity", "asset"]
}
});
// positions.items[i] — entity, asset, network, balance, valueUsd
// The number here is the number in the wallet. Live, not cached.Codify the policy your auditors expect.
Approval matrices, caps, allowlists, roles. Configure visually or in code. Same engine underneath.
// Every transfer above $100k requires 2-of-3 from the Treasury Council
const policy = await dfnsApi.policies.createPolicy({
body: {
name: "Large Transfer Approval",
activityKind: "Wallets:Sign",
rule: {
kind: "TransactionAmountLimit",
configuration: { limit: "100000", currency: "USD" }
},
action: {
kind: "RequestApproval",
approvalGroups: [{
name: "Treasury Council",
quorum: 2,
approvers: { userId: { in: ["us-xxx-1", "us-xxx-2", "us-xxx-3"] } }
}],
autoRejectTimeout: 86400
},
status: "Active"
}
});Move it, convert it, put it to work.
Sweep, batch, swap, stake, route, and allocate across an open marketplace where every counterparty is replaceable.
// Allocate idle USDC into a yield-bearing position
await dfnsApi.allocations.createAllocation({
walletId: "wa-treasury-usdc-operating-7g3hf8sj2k0a9d",
body: {
protocol: "0fns",
asset: "USDC",
amount: "500000000000" // 500,000 USDC (6 decimals)
}
});
// Same marketplace: Swaps (Uniswap, UniswapX), Staking (Figment),
// Exchanges (Kraken, Binance, Coinbase Prime), any DeFi via WalletConnect.
// Automated sweeps and batch payouts run on a schedule, under the same policies.Close the books from the platform you operate in.
Every movement logged with full provenance, mapped to your accounting stack, exportable on demand.
// Stream every treasury event to your back office for continuous reconciliation
await dfnsApi.webhooks.createWebhook({
body: {
url: "https://finance.yourbank.com/dfns/events",
events: [
"wallets.transaction.confirmed",
"policies.approval.requested",
"policies.approval.resolved",
"allocations.balance.updated"
]
}
});
// Each event: signed payload, idempotency key, full provenance — booked automatically.
// Or pull reconciliation files on demand:
const report = await dfnsApi.reports.exportTransactions({
query: { walletTags: { hasAny: ["treasury"] }, dateFrom: "2026-05-01", format: "csv" }
});