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

# Changelog

<Update label="2026-07-17" title="BSC (USDT) On-Ramp & Off-Ramp Support">
  ## BSC / USDT for On-Ramp and Off-Ramp

  On-ramp and off-ramp transactions now support **BSC (Binance Smart Chain)** with **USDT**.

  * New `blockchainSymbol` value **`BSC`**, paired with `tokenSymbol` **`USDT`**.
  * Available on `POST /api/partner/v2/on-ramp`, `POST /api/partner/v2/off-ramp`, and the quote endpoints (`POST /api/partner/v2/quote`, `GET /api/partner/v2/quote/rate`).
  * **Limitation**: BSC is only available for transactions **over 50,000 MXN**.
  * `BSC` is EVM-compatible — use the `EVM` `vmType` for BSC wallet addresses.

  See the [On-Ramp guide](/docs/on-ramp), [Off-Ramp guide](/docs/off-ramp), and [SDK reference](/sdk#supported-blockchains).
</Update>

<Update label="2026-07-09" title="China & Hong Kong Cross-Ramp Destinations">
  ## USD Payouts to China and Hong Kong

  Cross-ramp transactions can now deliver **USD** to bank accounts in **China (CN)** and **Hong Kong (HK)**. These are **destination-only** corridors — CN/HK can be the target of a cross-ramp, never the source.

  * **USD only** — CNY is not yet supported. Because source and target currencies must differ, the source currency must be **MXN, DOP, or EUR**.
  * **New request fields** on `POST /api/partner/v2/cross-ramp`:
    * `targetCountry` — set to `CN` or `HK` to route USD there (USD otherwise defaults to the US).
    * `targetRail` — `LOCAL` (default) or `SWIFT`.
    * `invoiceFile` — Base64-encoded PDF invoice, **required** when the target country is `CN`.
    * `reference` — optional memo (max 140 chars), forwarded on USD→CN SWIFT payouts.
  * **Limits**: min **10 USD**, max **10,000 USD** per transaction.

  See the [Cross-Ramp guide](/docs/cross-ramp#china--hong-kong-destinations) and [Create Cross-Ramp](/reference/crossramppartnerv2controller_createpartnercrossramp).
</Update>

<Update label="2026-04-24" title="Idempotency Support for Transaction-Creation Endpoints">
  ## Idempotency-Key Header

  Transaction-creation `POST` endpoints now support opt-in idempotency via the `Idempotency-Key` HTTP header. Send a unique key (UUIDv4 recommended) with your request; if the request is retried with the same key and body, Capa replays the original response without creating a duplicate transaction.

  **Covered endpoints:**

  * `POST /api/partner/v2/on-ramp`
  * `POST /api/partner/v2/off-ramp`
  * `POST /api/partner/v2/cross-ramp`

  The guarantee window is **48 hours**. Requests without the header are unaffected.

  See the [Idempotency Guide](/docs/idempotency) for the full contract, behavior matrix, and best practices.
</Update>

<Update label="2026-04-19" title="Webhook Notification Management Endpoints">
  ## Webhook Notification List, Detail, and Retry

  Three new endpoints give partners full visibility into webhook delivery history and the ability to self-serve failed notifications without contacting support.

  * **`GET /api/partner/v2/webhook-notifications`** — Paginated list of all webhook notifications for your account. Filter by `status` (PENDING, SENT, FAILED, NOT\_SENT) to surface failed deliveries.
  * **`GET /api/partner/v2/webhook-notifications/:id`** — Full detail for a single notification: original payload, last error response, retry history, and delivery status.
  * **`POST /api/partner/v2/webhook-notifications/:id/retry`** — Manually retry a `FAILED` notification. Resets the automatic retry cycle and queues the notification for immediate re-delivery.

  **Retry limits**: Up to 3 manual retries per notification; up to 10 retries per partner per minute.

  See the [Webhook Notifications reference](/reference/webhooknotificationpartnerv2controller_listnotifications).
</Update>

<Update label="2026-03-29" title="Wallet Balance, Forwarding Fields, On-Ramp Simplification, and Bank Alias">
  ## User Wallet Balance Endpoint

  New endpoint `GET /api/partner/v2/users/{userId}/wallets/balance` retrieves the crypto balances for all wallets belonging to a user. Balances are grouped by blockchain, flow, and wallet address, with a nested `tokens` array containing each token's `symbol` and `balance`.

  Supports optional query filters: `blockchain` and `token`.

  See the [User Wallet Balance reference](/reference/userbalancepartnerv2controller_getuserwalletbalances).

  ***

  ## Forwarding Settlement Fields on Transaction Listing

  The transaction listing response now includes three new fields for MXN OTC transactions:

  * **`forwardingDays`** — The requested T+N forwarding days (0–4).
  * **`effectiveForwardingDays`** — The actual forwarding days after accounting for holidays and weekends.
  * **`forwardingSettlementDate`** — The calculated settlement date based on the effective forwarding days.

  These fields appear on responses from `GET /api/partner/v2/transactions`.

  ***

  ## On-Ramp Required Fields Simplified

  When creating an on-ramp transaction with a `quoteId`, the fields `fiatCurrency`, `blockchainSymbol`, and `tokenSymbol` are no longer required — their values are inherited from the quote. Only `userId` and `destinationWalletAddress` remain required.

  See the [On-Ramp reference](/reference/onramppartnerv2controller_createpartneronramp).

  ***

  ## Optional Bank Alias

  Bank account creation endpoints now accept an optional **`alias`** field — a friendly label for the account (e.g. `"My savings"`). The alias is returned in all bank account GET responses.

  Applies to both user and receiver bank account endpoints.

  See the [Bank Accounts guide](/docs/bank-accounts).
</Update>

<Update label="2026-03-08" title="V1 API Removal and Status Page">
  ## V1 API Removal

  All V1 endpoints and documentation have been fully removed. The API reference now exclusively covers V2 endpoints. If you are still referencing V1 routes, please migrate to the corresponding V2 endpoints immediately.

  ***

  ## Status Page

  A new **Status** link has been added to the documentation navbar, pointing to [status.capa.fi](https://status.capa.fi). Partners can now monitor API uptime, ongoing incidents, and maintenance windows directly from the docs.
</Update>

<Update label="2026-03-07" title="Bank Accounts, User Wallets, and Receivers">
  ## Bank Accounts

  Partners can now create, list, and delete bank accounts for both users and receivers. Supported countries include MX, DO, US, and SEPA regions. Mexican accounts include automatic penny-test verification to confirm account ownership.

  Bank details can also be provided inline when creating off-ramp or cross-ramp transactions.

  See the [Bank Accounts guide](/docs/bank-accounts).

  ***

  ## User Wallets

  Partners can now save and manage destination wallet addresses for on-ramp crypto delivery. Supported VM types include EVM and SVM, covering blockchains like Polygon, Ethereum, and Solana.

  See the [User Wallets guide](/docs/user-wallets).

  ***

  ## Receivers

  Partners can register third-party individuals or businesses as receivers to accept off-ramp and cross-ramp payouts on behalf of a user. Pass the `receiverId` when creating a transaction to direct funds to a third party.

  See the [Receivers guide](/docs/receivers).

  ***

  ## FAQ Updates

  The FAQ section has been expanded with answers sourced from common partner questions.
</Update>

<Update label="2026-03-06" title="New Quote Parameters">
  ## New Quote Parameters: `country`, `rail`, and `forwardingDays`

  The `POST /api/partner/v2/quotes` endpoint now supports three new optional fields:

  * **`country`** — Override the destination country when a currency is shared across multiple regions (e.g. USD in US vs. DO).
  * **`rail`** — Specify the payment rail for the transaction (SPEI, ACH, WIRE, SEPA, SWIFT).
  * **`forwardingDays`** — Set T+N forwarding days (0–4) for MXN OTC settlement scheduling.

  These fields give partners finer control over quote generation for multi-country and multi-rail flows.
</Update>

<Update label="2026-03-04" title="New Off-Ramp Execute Endpoint">
  ## New Off-Ramp Execute Endpoint

  Added `POST /api/partner/v2/off-ramp/execute` — a new endpoint that executes a previously created off-ramp transaction. After crypto funds are received at the `destinationWalletAddress`, call this endpoint to trigger the fiat payout to the user's bank account.

  This enables partners to separate transaction creation from execution, supporting manual verification steps or automated workflow orchestration.

  See the [Off-Ramp Execute reference](/reference/offramppartnerv2controller_executeofframp) for full details.
</Update>

<Update label="2026-02-24" title="Quote Locking Available for All MXN Transactions">
  ## Quote Locking Available for All MXN Transactions

  Previously, quote locking was blocked for Mexico transactions exceeding **\$50,000 MXN**. This restriction has been removed — partners can now lock exchange rates on MXN transactions of **any amount**, just like any other currency.
</Update>

<Update label="2026-01-21" title="MCP Server for Documentation">
  ## MCP Server for Documentation

  Capa now offers a Model Context Protocol (MCP) server that connects AI tools directly to our documentation. Instead of relying on generic web searches, AI assistants can query Capa's API docs, integration guides, and feature references in real time — providing more accurate and up-to-date answers.

  See the [MCP Server guide](/docs/mcp-server) for setup instructions.
</Update>
