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

# LATAM — cash orders

> Cash pay-in and pay-out across Latin America at supported pay-points, powered by Pago46.

<div className="bmoni-spine">
  <span>Lifecycle</span>
  <a data-stage="1" href="/lifecycle#1-create-the-user">User</a>
  <a data-stage="2" href="/lifecycle#2-provision-the-smart-wallet">Wallet</a>
  <a data-stage="3" href="/lifecycle#3-verify-identity-kyc">KYC</a>
  <a data-stage="4" href="/lifecycle#4-activate-the-rail">Rail</a>
  <a data-stage="5" href="/lifecycle#5-fund-the-wallet">Fund</a>
  <a data-stage="6" href="/lifecycle#6-move-money">Move money</a>
</div>

LATAM cash orders let users fund a smart wallet with physical cash, or receive cash from it, at supported pay-points across Latin America — no bank account required.

| Direction | Endpoint                                         | Meaning                                |
| --------- | ------------------------------------------------ | -------------------------------------- |
| Pay-in    | `POST /v1/users/{userId}/latam/cash/orders/fund` | User deposits cash → wallet is funded  |
| Pay-out   | `POST /v1/users/{userId}/latam/cash/orders/send` | Wallet is debited → user collects cash |

***

## Create an order

Both directions take the same body:

```http theme={null}
POST /v1/users/{userId}/latam/cash/orders/fund
{
  "smartWalletId": "7f4d6b88-80a0-4d3f-9538-9a4dfabc1234",
  "country": "MX",
  "price": "1500.00",
  "priceCurrency": "MXN",
  "description": "Wallet top-up"
}
```

| Field           |                                                                                                                                                                                                                         |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `smartWalletId` | required — UUID of the smart wallet to fund / debit                                                                                                                                                                     |
| `country`       | required — ISO 3166-1 alpha-2 code, e.g. `"MX"`                                                                                                                                                                         |
| `price`         | required — decimal string in the order currency                                                                                                                                                                         |
| `priceCurrency` | required — a fiat currency code that maps to a supported wallet stablecoin (`MXN` → `MEXe`, `USD` → `USDB`, `NGN` → `CNGN`, `CAD` → `CADC`, `EUR` → `EURe`, `GBP` → `GBPe`), and must match the smart wallet's currency |
| `description`   | required — shown on the order, e.g. `"Wallet top-up"`                                                                                                                                                                   |

### Pay-in (`fund`) response

Returns the provider order including a `redirect_url` — send the user there to choose a pay-point and pay the cash. Once paid, the wallet is credited.

### Pay-out (`send`) response

Returns a `signatureRequest` authorizing the payout from the user's wallet. Have the user sign it on-device with `bmoni_embedded_sdk` and submit the signature via `POST /v1/users/{userId}/wallets/submit-signature` — the cash order is placed once the debit is authorized.

***

## List and track orders

```http theme={null}
GET /v1/users/{userId}/latam/cash/orders?type=FUND
GET /v1/users/{userId}/latam/cash/orders/{orderId}
```

**List** returns the user's **active** order records (completed, cancelled, and expired orders are excluded). The optional `type` filter takes `FUND` or `SEND`. Each record has `id`, `orderId`, `type`, an uppercase `status` (`CREATED`, `READY`, `PAYMENT_STARTED`, …), `price`, `expiry` (pay / collect before this), and timestamps.

**Get by ID** returns the live provider order: `id`, `price`, `price_currency`, `description`, `merchant_order_id`, `status`, `redirect_url`, and `return_url`.
