> For the complete documentation index, see [llms.txt](https://docs.basis.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.basis.pro/getting-started/deposit-address-pool.md).

# Deposit Address Pool Architecture

{% hint style="info" %}
**Operator and jurisdiction:** BASIS is operated by BASIS DIGITAL INFRASTRUCTURE LTD, a Seychelles IBC (LEI: [254900IX2F2KCWNSSS64](https://lei.bloomberg.com/leis/view/254900IX2F2KCWNSSS64)).

**Research Partner:** Base58 Labs contributes execution research, systems modeling, and risk design.
{% endhint %}

BASIS maintains a large, dynamically allocated pool of deposit addresses that serves its global user base. Because the platform supports tens of thousands of users across multiple networks and assets, the same blockchain deposit address may be assigned to different users at different points in time.

This behavior is **normal, expected, and by design.** A deposit address that appears to have activity associated with more than one user does not mean funds are mixed, shared, or at risk. BASIS separates user balances through its internal accounting ledger and enforces custody security at the MPC key management layer, not through exclusive address ownership.

***

## How the address pool model works

BASIS uses an address pool model rather than a permanent one-address-per-user model. Deposit addresses are managed as platform infrastructure and allocated to users when needed.

{% tabs %}
{% tab title="Traditional model" %}
Each user is permanently assigned one fixed address per asset. The address never changes. All transaction history on that address belongs to one account forever.

This approach is simpler to understand but creates address correlation risks and operational rigidity at scale.
{% endtab %}

{% tab title="BASIS pool model" %}
Addresses are drawn from a large shared pool and assigned dynamically. An address may serve one user today and a different user later. User funds and balances are tracked through an internal ledger, not through address exclusivity.

This is the institutional-grade approach used by large custodial platforms and asset managers.
{% endtab %}
{% endtabs %}

### Pool components

| Component              | Role                                                                                    |
| ---------------------- | --------------------------------------------------------------------------------------- |
| Deposit address pool   | A large set of blockchain addresses managed by BASIS across all supported networks      |
| Dynamic assignment     | Addresses are drawn from the pool and assigned to users based on operational parameters |
| Reassignment over time | After a deposit is settled, an address may later be allocated to another user           |
| Internal ledger        | The authoritative record of every user's balance, credit, and withdrawal history        |
| MPC custody layer      | The cryptographic key management layer that controls signing authority                  |

{% hint style="warning" %}
A blockchain address is a delivery endpoint for receiving assets on a public network. It is not the source of truth for account ownership inside BASIS. Your balance is defined by the internal ledger, not by what a blockchain explorer shows on your deposit address.
{% endhint %}

***

## Why address overlap happens

Public blockchains expose address-level transaction history to anyone. A blockchain explorer shows deposits, withdrawals, and token transfers for a given address, but it has no visibility into BASIS's internal assignment records or ledger state.

Address overlap may occur when:

* A deposit address was assigned to one user at an earlier point in time.
* The same address was later reassigned and used by another user.
* Multiple historical deposits appear under the same on-chain address.
* A blockchain explorer displays the full address history without knowing which BASIS account was credited for each transaction.

This is standard practice in custodial and institutional digital asset infrastructure. Blockchain addresses are observable on-chain. User attribution and balance ownership are controlled through internal platform records.

{% hint style="info" %}
If you view your BASIS deposit address on a blockchain explorer such as Mempool, Etherscan, or Solscan, you may see transactions that were not made by you. This is expected behavior. It does not indicate any problem with your account or your funds.
{% endhint %}

***

## Why this is secure

User fund isolation at BASIS is enforced through internal accounting and custody controls, not through address exclusivity. Security operates at three independent layers.

{% tabs %}
{% tab title="Internal ledger" %}
Each user balance is tracked in BASIS's internal ledger independently from raw blockchain address history. When a deposit is detected, BASIS attributes it to the correct user account based on the active deposit instruction, asset, network, transaction hash, confirmation count, and account records.

No transaction is applied to a user account simply because it appeared at a deposit address. Attribution requires a confirmed match against the active assignment record.
{% endtab %}

{% tab title="MPC custody" %}
BASIS uses MPC wallet architecture via Privy. In an MPC model, private key material is split into cryptographic shares distributed across independent parties. No single party, including BASIS itself, holds a complete private key.

Signing requires controlled participation from multiple independent keyholders through the MPC protocol. Address sharing or reassignment does not weaken the MPC custody model, because custody security depends on key management policy and signing controls, not on whether an address has been used by one account or multiple accounts over time.
{% endtab %}

{% tab title="Reconciliation" %}
BASIS operates continuous post-execution reconciliation between internal ledger records and external balances. Every custody movement, deposit event, and venue balance is verified against the internal ledger on an ongoing basis.

If a discrepancy is detected at any layer, the BSCB circuit breaker triggers immediately and halts affected activity until the discrepancy is resolved and verified.
{% endtab %}
{% endtabs %}

{% hint style="success" %}
Address overlap does not commingle user funds. Each user's balance is isolated and tracked through BASIS's internal ledger, which is the authoritative accounting system. Address sharing is an operational design choice. It has no effect on fund separation or custody security.
{% endhint %}

***

## Reconciliation model

BASIS operates continuous post-execution reconciliation across all layers of the system.

| Reconciliation layer  | What is verified                                                                      |
| --------------------- | ------------------------------------------------------------------------------------- |
| Deposit detection     | Network, asset, amount, transaction hash, confirmation count, and destination address |
| Ledger attribution    | Correct user account credit matched against active assignment records                 |
| Custody balance check | Internal balance records compared against controlled MPC wallet state                 |
| Venue balance check   | Internal records verified against external venue balances where applicable            |
| Exception handling    | Immediate discrepancy flag and operational halt through BSCB circuit breaker          |

If reconciliation identifies any mismatch, the BSCB circuit breaker triggers. The affected process is halted immediately and flagged for investigation before any further activity proceeds. This control prevents reconciliation inconsistencies from propagating through the platform.

***

## Privacy benefits

Address pooling improves user privacy on public blockchains as an additional structural benefit.

A permanent one-to-one address model makes it straightforward for third parties to correlate a specific deposit address with a single user account, track balance history, and link activity across time. Pooling reduces this direct correlation risk. It becomes significantly harder to map a public address to a specific account or to construct a longitudinal view of a single user's on-chain behavior.

{% hint style="info" %}
Address pooling does not make public blockchain activity private in an absolute sense. On-chain transactions remain visible to anyone. The benefit is a meaningful reduction in simple address correlation attacks and long-term behavioral tracking by third parties.
{% endhint %}

***

## What users should know

{% hint style="success" %}
**Key facts for BASIS users**

* Address overlap between users is normal and expected for BASIS deposit infrastructure.
* A deposit address may show historical on-chain activity that is not related to your account.
* Your BASIS balance is determined by the internal ledger, not by what a block explorer shows.
* Security is enforced through MPC custody via Privy, continuous reconciliation, and BSCB circuit breaker controls.
* If reconciliation detects any failure, BSCB immediately flags and halts the affected process.
* Always use the deposit address currently displayed inside your authenticated BASIS account session.
* Unexpected historical activity on a blockchain explorer does not indicate any risk to your funds.
  {% endhint %}

The address pool model is a deliberate institutional design choice. It allows BASIS to serve a large and growing global user base efficiently while maintaining ledger-level fund isolation, MPC custody security, continuous post-execution reconciliation, and improved privacy against public blockchain correlation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.basis.pro/getting-started/deposit-address-pool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
