Insights on Crypto Payments, Infrastructure, and Operations

Address Reservation

Pronunciation: AD-dress rez-er-VAY-shun

Also known as: Payment Address Reservation, Temporary Address Hold

Definition

Address reservation is the temporary hold placed on an available payment address or derivation index while a checkout, invoice, or account assignment is being created. It prevents concurrent processes from issuing the same destination before the final assignment is committed. A reservation should have an owner, creation time, expiry, and release rule, while any address already exposed to a payer requires more cautious reuse handling.

Overview

Meaning and scope

Address reservation is the temporary hold placed on an available payment address or derivation index while a checkout, invoice, or account assignment is being created. It prevents concurrent processes from issuing the same destination before the final assignment is committed. A reservation should have an owner, creation time, expiry, and release rule, while any address already exposed to a payer requires more cautious reuse handling.

Mechanism and operation

Address Reservation is an intermediate lifecycle state between availability and assignment. The system marks one entry from the Address Pool as unavailable to other requests while it completes the surrounding database or API operation. A reservation can expire if payment creation fails before the address is displayed. However, once the destination has been returned to a client, logged externally, or placed in a QR code, ordinary pool reuse can create late-payment risk. The reservation should preserve network, asset, intended customer or session, and the operation that created it. This context supports safe conversion into Address Assignment or controlled release.

Practical payment example

A payment service temporarily assigns a receiving address to one outstanding invoice. If the invoice expires, it preserves historical ownership before recycling or retiring the address, preventing a late deposit from being attributed to someone else.

Operational checks

Monitoring should identify stuck reservations and repeated failures that deplete inventory. Automatic cleanup needs idempotency and audit history so an address is never simultaneously treated as reserved, assigned, and available. Reservation timeout should reflect how long the surrounding checkout transaction can remain incomplete. If an API response is lost after the address was generated, a retry should first query or reconcile the earlier reservation instead of immediately allocating another address.

Distinctions and limits

Database row locks, unique constraints, or compare-and-set operations can ensure that two checkout workers do not both believe they reserved the same address.

Related definitions: Address Pool, Address Assignment.

Example

A payment service temporarily assigns a receiving address to one outstanding invoice. If the invoice expires, it preserves historical ownership before recycling or retiring the address, preventing a late deposit from being attributed to someone else.

Comparison

Database row locks, unique constraints, or compare-and-set operations can ensure that two checkout workers do not both believe they reserved the same address. However, once the destination has been returned to a client, logged externally, or placed in a QR code, ordinary pool reuse can create late-payment risk.

Key Takeaway

Address reservation prevents concurrent allocation conflicts and must distinguish never-exposed holds from destinations already shown to payers.

Sources

  1. BIP 32: Hierarchical Deterministic Wallets — Bitcoin Improvement Proposals (2026-08-02)
  2. OxaPay API Reference: Generate Static Address — OxaPay (2026-08-02)
  3. OxaPay API Reference: Static Address List — OxaPay (2026-08-02)