**Sandbox only.** Creates a simulated **inbound credit** on the treasury account identified in the path — an external deposit that appears as a bank-reported line without running a payin or ingesting a BAI2 file.
Funds credit the **treasury account** (`account_id` in the path), or **`subaccount_id`** when you pass the UUID of one of its subaccounts.
**Path**
| Parameter | Type | Description |
|-----------|------|-------------|
| `account_id` | UUID | Main SIM treasury account to credit. Must belong to your test entity. |
**Request Body**
| Field | Type | Required | Description | Validation Rules |
|-------|------|----------|-------------|------------------|
| `rail` | String | Yes | Payment rail for the deposit: `standard_ach` or `wire`. | `standard_ach` requires a US/USD SIM treasury account. `wire` credits the account's currency (USD, GBP, INR, and other SIM markets). |
| `amount_in_minor_units` | Integer | Yes | Amount in the smallest unit of the treasury account's currency. For USD, this is cents (100 = $1.00). | Must be a positive whole number. |
| `transaction_date` | Date | No | Optional as-of calendar date for the simulated line. | ISO `YYYY-MM-DD`. Defaults to the current UTC date when omitted. |
| `sender_info` | String | No | Optional label for the external sending party (shown on treasury inbound activity). | Max 200 characters. |
| `subaccount_id` | UUID | No | Credit a subaccount under the path treasury account instead of the main account. | Must belong to the treasury account in the path. |
**Response**
Returns a treasury-aligned subset of the created bank line:
| Field | Type | Description |
|-------|------|-------------|
| `bank_transaction_id` | UUID | Id of the simulated row (same id `GET .../bank-transactions` will use). |
| `amount_in_minor_units` | Integer | Amount credited. |
| `currency_code` | String | ISO currency of the credited account. |
| `direction` | String | Always `credit` for this endpoint. |
| `transaction_date` | Date | As-of date for the simulated line. |
**Examples**
- US/USD with ACH: `POST /accounts/{usd_account_id}/simulate-inbound-credit` with `{ "rail": "standard_ach", "amount_in_minor_units": 4000 }` → $40.00 inbound ACH credit.
- Backdated wire: `{ "rail": "wire", "amount_in_minor_units": 50000, "transaction_date": "2026-01-15" }` → credits with as-of date 2026-01-15.
- US/USD with wire: `{ "rail": "wire", "amount_in_minor_units": 100000 }` → $1,000.00 inbound wire credit.
- GB/GBP with wire: `{ "rail": "wire", "amount_in_minor_units": 80000 }` → £800.00 inbound wire credit on the GBP SIM account.
**Error Responses**
| Status | When |
|--------|------|
| 400 | Live entity, non-SIM account, invalid subaccount, or ACH on non-US/USD account |
| 401 | Missing or invalid auth |
| 404 | Treasury account not found for your entity |
| 409 | Duplicate sandbox reference |
Request
This endpoint expects an object.
railenumRequired
Payment rail for the simulated deposit. standard_ach requires a US/USD SIM treasury account; wire credits the account’s currency.
amount_in_minor_unitsintegerRequired
Amount in the smallest unit of the treasury account’s currency. For USD, this is cents (100 = $1.00).
transaction_datedate or nullOptional
Optional as-of calendar date for the simulated bank line (YYYY-MM-DD). Omit to use the current UTC date.
sender_infostring or nullOptional<=200 characters
Optional label for the external sending party (shown on treasury inbound activity).
subaccount_idstring or nullOptionalformat: "uuid"
Attribute the inbound amount to this subaccount (UUID of a subaccount under the treasury account in the path). Omit to credit the main account itself.
Response
Inbound credit simulation recorded for treasury.
warningstring or nullOptional