Skip to main content
Finrock supports two address models — omnibus and isolated — giving you the flexibility to choose between pooled fund management and strict per-address segregation. The right choice depends on whether your operational priority is efficient fund consolidation or full financial isolation between individual addresses or customers.

What Is an Omnibus Wallet?

An omnibus wallet is a logical construct in which multiple individual addresses pool their balances into a single unified entity. Rather than treating each address as a fully independent fund with its own balance, the omnibus wallet aggregates them, allowing the combined balance to be moved, settled, or managed as one. This model is widely used by exchanges, custodians, and payment processors to:
  • Move funds to cold storage — consolidate balances from many deposit addresses into a single sweep before moving to a vault.
  • Facilitate transaction settlement — net off obligations between multiple parties paying to multiple recipients without requiring individual transfers.

Address Types

When you create an address in Finrock, you specify whether it participates in the omnibus pool or remains isolated. This is controlled by the omnibus field on the address object.

Isolated Address

omnibus: falseAn isolated address never shares its funds with any other address in the wallet. Balances remain strictly contained within that address and are never included in omnibus pool calculations or automated movements.Use isolated addresses when individual customers or accounts require provable, auditable segregation of funds.

Omnibus Address

omnibus: trueAn omnibus address participates in the virtual pool. Its balance is treated as part of the larger omnibus wallet, and Finrock’s internal systems may move funds between omnibus addresses to optimize operations.Use omnibus addresses for high-volume deposit workflows where individual address isolation is not required.

How Omnibus Works by Chain Type

The underlying mechanics of the omnibus system differ depending on whether the blockchain uses a UTXO or account-based model.

UTXO Chains (Bitcoin and others)

Bitcoin and other UTXO-based blockchains are natively omnibus-compatible. Because UTXO transactions can reference multiple unspent outputs from different addresses as inputs to a single transaction, consolidating funds from many addresses into one output is a natural, low-cost operation. No additional abstraction layer is needed — Finrock handles UTXO selection and consolidation automatically.

EVM Chains (Ethereum and others)

Account-based chains like Ethereum do not natively support multi-source transactions in the same way. To provide omnibus functionality on EVM chains, Finrock manages a Virtual Omnibus Wallet — a proprietary system that:
  • Logically combines all omnibus-flagged addresses into a single virtual balance.
  • Uses an internal AI-driven system to determine when and how to physically move assets between addresses (for sweeping, settlement, or consolidation).
  • Abstracts the underlying complexity away from your API interactions — you work with the logical omnibus balance, not the physical distribution.
On EVM chains, physical fund movements between omnibus addresses consume gas. This is why omnibus wallets on EVM chains require a Gas Tank to function correctly.

Gas Tank Requirement

Omnibus wallets on EVM chains depend on a funded Gas Tank to execute the internal movements that keep the virtual pool in sync. Without gas, Finrock cannot consolidate, sweep, or move funds between addresses in the omnibus pool. Enable automatic gas funding on your omnibus addresses by setting auto_refill: true when creating or updating them:
With auto_refill enabled, Finrock draws from your Gas Tank automatically whenever an omnibus address needs native token to execute a movement.
If your Gas Tank runs out of funds, internal omnibus movements — including sweeps and consolidations — will stall. Keep your Gas Tank adequately funded, especially ahead of high-volume periods.

Smart Contract Addresses

By default, Finrock blocks all withdrawals to smart contract addresses. This policy is in place for three reasons:
Smart contracts are not standard wallets. Many require specific functions to accept incoming funds — a direct transfer to a contract can result in funds becoming permanently stuck and unrecoverable. Additionally, contracts can be upgraded, paused, or exploited after deployment. Blocking direct withdrawals reduces your exposure to vulnerable or malicious contracts.
Sending to a contract address executes on-chain code, which costs significantly more gas than a simple transfer to a regular wallet. Contract calls can also fail due to incorrect parameters or logic errors — and you still pay gas for the failed attempt. Restricting withdrawals to regular wallets keeps fees predictable and eliminates this failure mode.
Regulations increasingly require businesses to identify who they are sending funds to. Smart contracts — especially DeFi protocols and mixers — do not represent identified individuals or businesses, and funds entering complex contracts become harder to trace and monitor. Blocking withdrawals to contracts helps you maintain strong AML, sanctions screening, and audit controls.
If your customers want to interact with DeFi protocols or other smart contracts, instruct them to first withdraw funds to their own personal wallet, then connect that wallet to the DeFi application or contract under their own policies and risk controls. This keeps your platform compliant while giving your customers full flexibility.
If your use case legitimately requires withdrawals to contract addresses, you can update this setting directly in your Finrock account settings.