Skip to main content

Overview

The settlement vault is an Atum smart contract on the source chain. It holds the payer’s funds while a payment is in progress, so neither the payer nor the settlement operator has to trust the other. Funds come out in only two ways: to the settlement operator once delivery is verified, or back to the payer. In contract code the vault is called Escrow.

How funds go in

  1. You sign the payment request. On EVM, Tempo and Tron, your signature is a Permit2 authorization for up to max_source_amount.
  2. The gateway selects a price quote. The deposit is reserved for the settlement operator that sent it.
  3. That operator submits the deposit transaction. The vault takes the quote’s source amount from your wallet, never more than max_source_amount.
Your balance drops when the deposit lands, before the recipient is paid. /status shows the deposit in transactions.deposit.

How funds come out

Both need a signature from Atum’s verifier over that deposit. Anyone can submit the transaction, but the vault pays only the address recorded for that deposit: the reserved settlement operator for a release, the payer for a refund.

Proof of delivery

The settlement operator pays the recipient through the FulfillmentProxy contract on the destination chain. It moves the tokens from the operator to the recipient and emits an event that names the quote. Atum’s verifier reads that event, waits for enough confirmations, and only then signs the release.

What Atum can do

  • Sign releases and refunds. Neither goes through without Atum’s signature.
  • Pause the vault. While it is paused, no release or refund goes through, and deposits stay in the vault.
  • Collect its fee, which is taken from each release.
The contracts have independent security reviews.

Where the vault is

Each network has its own vault. Contract addresses lists them. At runtime, read escrow_contract from GET /v1/defaults instead of hardcoding an address.

Next steps