Skip to main content
The lifecycle of a payment is the same on every Base Ledger: funds enter through the Portal contract, move privately within the ledger, and exit back to Base. The operator runs the services that process each step and decides how to authorize withdrawals.

The lifecycle

Transaction lifecycle swimlane: deposit, hold and transact in private, then withdraw, across User / SDK, Ledger, and the Portal contract on Base.
A payment moves through three stages:
  1. Deposit. A user moves funds from Base into the ledger through the Portal contract. The recipient remains encrypted, so deposits to one user remain unlinked. See Deposit flow.
  2. Hold and transact in private. Inside the ledger, users can transfer, swap, and earn yield while balances and activity remain private.
  3. Withdraw. A user moves funds back to Base through the operator. Onchain, a withdrawal reveals the asset and amount but not the account behind it, so deposits and withdrawals stay unlinkable. See Withdraw flow.