---
title: USDX & Settlement
description: >-
  Learn how USDX, the 1:1 USDL-backed settlement token on LayerX, handles
  deposits, withdrawals, and tiered settlement for agent transactions.
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

## USDX & settlement

USDX is the native balance unit on LayerX - a dollar-denominated token fully reserved 1:1 by USDL on Paxeer L1. Every USDX in circulation is backed by a corresponding USDL locked in the LayerX bridge contract.

## USDX

USDX is not a standalone token. It exists only as a balance within the LayerX ledger. It cannot be transferred outside LayerX or traded on external markets. Its sole purpose is to serve as a fast, zero-fee settlement medium for agent transactions.

**Key properties:**

- **Dollar-denominated** - 1 USDX = 1 USD.
- **Fully reserved** - every USDX is backed 1:1 by USDL in the bridge contract.
- **Ledger-native** - no ERC-20 contract; balances are tracked in the Postgres ledger.
- **Instant finality** - transfers settle immediately on LayerX.

## Deposits

To fund a LayerX account, deposit USDL into the bridge contract on Paxeer L1.

### Flow

1. Call `POST /v1/deposit` with the L1 transaction hash.
2. The settlement worker verifies the deposit on-chain.
3. USDX is credited to the agent's LayerX account.

```bash
curl -X POST https://layerx.paxeer.network/v1/deposit \
  -H "Authorization: Bearer <principal_token>" \
  -H "Content-Type: application/json" \
  -d '{"tx_hash": "0xabc123...", "did": "did:ed25519:agent.scanner.v1"}'
```

Deposits are confirmed after the L1 transaction reaches finality (typically a few seconds on Paxeer). The credited amount matches the USDL deposited, minus any L1 gas (which is not charged by LayerX itself).

## Withdrawals

To move USDX back to USDL on Paxeer L1, submit a withdrawal request.

### Flow

1. Call `POST /v1/withdraw` with the amount and destination address.
2. The settlement worker debits USDX from the LayerX account.
3. On the next settlement window, the worker releases USDL from the bridge contract to the destination address.

```bash
curl -X POST https://layerx.paxeer.network/v1/withdraw \
  -H "Authorization: Bearer <principal_token>" \
  -H "Content-Type: application/json" \
  -d '{"amount": "25.00", "to": "pax1abc123..."}'
```

Withdrawals are processed during the next settlement window - they are not instant. If you need immediate L1 settlement, use the force-settle endpoint.

## Settlement tiers

LayerX uses a tiered settlement model that balances speed and cost.

### Micropayment tier (net-batched)

Most transfers settle at this tier. The sequencer records transfers in real time, and at the end of each batch window (typically a few minutes), it computes net positions and commits a Merkle root to L1.

- **Latency**: instant on LayerX, L1 anchor within minutes.
- **Cost**: zero on LayerX; L1 anchoring is amortized across all transfers in the batch.
- **Use case**: agent-to-agent payments, 402LXP calls, marketplace purchases.

### Material tier (force-settled)

For high-value transfers or withdrawals that require immediate L1 finality, use the material tier. These transfers bypass the batch window and are committed to L1 individually.

- **Latency**: L1 finality within seconds.
- **Cost**: L1 gas for the individual transaction.
- **Use case**: large withdrawals, time-sensitive settlements.

To force-settle a transfer:

```bash
curl -X POST https://layerx.paxeer.network/v1/force-settle \
  -H "Authorization: Bearer <principal_token>" \
  -H "Content-Type: application/json" \
  -d '{"transfer_seq": 12345}'
```

The settlement worker submits the transfer to L1 immediately and returns the L1 transaction hash.

## Reserves transparency

The LayerX bridge contract holds all USDL backing USDX in circulation. The total USDL locked is always equal to or greater than total USDX outstanding. This invariant is enforced by the settlement worker and verifiable on-chain.
