> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pix limits and hours for businesses

> Brazil's Central Bank sets no fixed Pix cap for companies: each institution sets a daily limit. On Lumx, Pix runs 24/7 within the customer's KYB limits.

The Banco Central do Brasil sets no fixed Pix limit for payments to a company: the only limit it defines for business recipients is a daily one, set by each institution. The R\$1,000 night limit (8 p.m. to 6 a.m.) applies to payments to individuals, and limits for individuals and companies are independent ([Banco Central Pix FAQ](https://www.bcb.gov.br/meubc/faqs/p/limites-de-valor-para-as-transacoes-pix), updated January 2, 2026).

On Lumx, the limits that apply are your customer's KYB limits. A business can send and receive Pix 24/7/365 with no cut-off: at KYB Standard, up to USD 50,000 per transaction and USD 100,000 per day and per month, and higher once the business completes Enhanced KYB. This page covers those limits, the hours, how to read usage, and how to raise it.

## Lumx limits for a business

Every customer has `single` (per transaction), `daily`, and `monthly` limits for each transaction type. A Pix payout is an off-ramp and counts against the `offramp` limits. A Pix deposit is an on-ramp and counts against the `onramp` limits. One type never uses up the headroom of another.

| **Limit** | **KYB Standard** | **KYB Enhanced** |
| :- | :- | :- |
| Per transaction | \$50,000 | \$50,000 + |
| Daily | \$100,000 | \$100,000 + |
| Monthly | \$100,000 | \$100,000 + |

Every limit is counted in the USD equivalent of the transaction, including a Pix in BRL. The minimum per transaction is the equivalent of USD 40 today, and it may change. After Enhanced KYB, Lumx sets a limit that fits the financial capacity shown in the documents the business submitted. The limits are global and apply to every customer, in any country. They are defaults and may be revised, so read the live values from the API as shown below. See [Transaction limits](https://docs.lumx.io/compliance/transaction-limits.md).

## Hours

| **Currency** | **Rail** | **Cut-off** | **Settlement** | **Operating days** |
| :- | :- | :- | :- | :- |
| BRL | PIX | None | Instant | 24/7/365 |

Pix has no business-day calendar on Lumx. A payout sent at 2 a.m. on a Sunday runs like one sent at noon on a Tuesday. Brazilian holidays may still affect dispute windows.

These are processing targets, not guarantees. A transaction that Lumx's monitoring holds for review (see [Request for Information](https://docs.lumx.io/compliance/rfi.md)) is paused until it is resolved, and a large transfer can add up to two business hours for extra risk review. See [Payment rail cut-off times](https://docs.lumx.io/additional-information/sla-and-cutoffs.md).

## Read a customer's limits and usage

Pass `includeTransactionLimits=true` when you read the customer. `transactionLimits` returns one entry per transaction type, with `max`, `used`, and `remaining` for `daily` and `monthly`.

```bash Request theme={null}
curl "https://api-sandbox.lumx.io/customers/3c90c3cc-0d44-4b50-8888-8dd25736052a?includeTransactionLimits=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

```json Response (excerpt) theme={null}
{
  "transactionLimits": {
    "offramp": {
      "single": { "max": "50000.00" },
      "daily": { "max": "100000.00", "used": "12000.00", "remaining": "88000.00" },
      "monthly": { "max": "100000.00", "used": "31000.00", "remaining": "69000.00" }
    }
  }
}
```

Check the `offramp` entry before a Pix payout and the `onramp` entry before you ask for a Pix deposit.

## Send a Pix payout

1. Create a PIX destination for the recipient.
2. Send an off-ramp to that destination.

```bash Request theme={null}
curl -X POST https://api-sandbox.lumx.io/destinations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "Supplier in Rio de Janeiro",
    "rail": "PIX",
    "currency": "BRL",
    "identifier": {
      "keyType": "CNPJ",
      "keyValue": "42.887.120/0001-00"
    },
    "holder": {
      "type": "BUSINESS",
      "relationship": "SUPPLIER",
      "legalName": "Fornecedor Exemplo Ltda",
      "taxId": "42.887.120/0001-00",
      "address": {
        "line1": "Rua Voluntarios da Patria 89",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "postalCode": "22270-000",
        "country": "BRA"
      }
    }
  }'
```

`keyType` is `CPF`, `CNPJ`, `EMAIL`, `PHONE`, or `RANDOM`. For `PHONE`, use E.164 format, such as `+5511987654321`. A PIX destination requires `holder.relationship`, `holder.taxId`, and `holder.address`.

Once the destination is approved, create the off-ramp. The amount you send in `sourceAmount` is the stablecoin leaving the wallet.

```bash Request theme={null}
curl -X POST https://api-sandbox.lumx.io/transactions/off-ramp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "destinationId": "a72f5359-ffef-4913-b1da-8a58d491c406",
    "sourceCurrency": "USDC",
    "sourceAmount": "10000.00",
    "purpose": "TRADE_TRANSACTIONS"
  }'
```

Follow it with the `offramp.*` events, from `offramp.transferring_fiat` to `offramp.success`. See [Webhooks](https://docs.lumx.io/developer/webhooks.md).

## Receive a Pix deposit

An on-ramp with `rail` set to `PIX` returns a `brCode` in `state.payment` while the status is `AWAITING_FUNDS`. The payer pays it with any Pix app. A floating on-ramp over Pix expires after 1 day, and a deposit that lands after that is refunded to the sender on Pix. See [Transactions](https://docs.lumx.io/concepts/transactions.md#payment-expiration).

To convert every Pix deposit automatically, use an [autoconversion rule](https://docs.lumx.io/guides/autoconversion-rules.md).

## When you pass a limit

A transaction that would pass a `single`, `daily`, or `monthly` limit is rejected with a `422` and the code `TRANSACTION_LIMIT_EXCEEDED`.

```json Response theme={null}
{
  "requestId": "9f6f9741-4c65-4e0b-a48f-16d5b34d9e2f",
  "timestamp": "2026-11-02T10:30:45.123Z",
  "path": "/transactions/off-ramp",
  "status": 422,
  "code": "TRANSACTION_LIMIT_EXCEEDED",
  "message": "This transaction would pass the offramp daily limit of $100000 for this customer. Current daily total: $95000."
}
```

Match on `code`. To go ahead, wait for the daily or monthly window to have room, lower the amount, or ask for higher limits.

## Raise the limits

Limit increases run through the API or the Dashboard, one request per transaction type (`ONRAMP`, `OFFRAMP`, or `TRANSFER`).

1. Upload a supporting document with `POST /customers/{id}/documents`. A business can use a bank statement, financial statements, or a tax return.
2. Send `POST /customers/{id}/limit-requests` with the `type`, the `requested` amounts for `single`, `daily`, and `monthly`, and the `supportingDocumentId` from step 1.
3. Track it with `GET /customers/{id}/limit-requests/{limitRequestId}`, or subscribe to the `customer.limit_request.approved`, `customer.limit_request.partially_approved`, and `customer.limit_request.rejected` events.

```json Request body theme={null}
{
  "type": "OFFRAMP",
  "requested": {
    "single": "150000.00",
    "daily": "300000.00",
    "monthly": "600000.00"
  },
  "supportingDocumentId": "9d1e2f3a-4b5c-6d7e-8f90-1a2b3c4d5e6f"
}
```

Compliance reviews each request. The target is 1 business day, and it is a target, not a guarantee. The outcome is approved, partially approved, or rejected, and approved limits apply immediately to that transaction type only. See [Limit increase requests](https://docs.lumx.io/guides/limit-increase-requests.md).

## Related resources

> [card] [Transaction limits](https://docs.lumx.io/compliance/transaction-limits.md)
>
> Default limits and how reviews work.

> [card] [Payment rail cut-off times](https://docs.lumx.io/additional-information/sla-and-cutoffs.md)
>
> Hours and settlement for every rail.

> [card] [Limit increase requests](https://docs.lumx.io/guides/limit-increase-requests.md)
>
> The full API flow to raise a limit.

> [card] [Autoconversion rules](https://docs.lumx.io/guides/autoconversion-rules.md)
>
> Convert Pix deposits to stablecoin automatically.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.