Release 1.30.0 (Effective from 31st March 2026)

🔄 Updates to Transfers API

POST /api/v1/transfers

Changes:

  • ❌ The amount field has been removed
  • ✅ The receiverAmount field is now required

Rationale:

  • This change standardises how transfer amounts are handled across all payment flows by explicitly defining the amount the beneficiary receives, rather than the sender amount.
  • Improves consistency for FX-based and cross-currency payments where the final received amount is critical.

POST /api/v1/transfers/quote

Changes:

  • ➕ Added isFirstParty field

    • Indicates whether the transfer is first-party (own account) or third-party (external beneficiary)
  • ❌ Removed amount field

  • receiverAmount is now required

Rationale:

  • Enables more accurate pricing and routing logic depending on payment type (first-party vs third-party).
  • Aligns quoting logic with execution flow by focusing on receiverAmount.

💱 New Trades API (FX & Asset Swaps)

POST /api/v1/trades

Purpose:

  • Execute asset swaps between supported currencies

Supported Use Case:

  • Swap between stablecoin variants:

    • USDC ↔ USDCT

Notes:

  • Designed to support internal liquidity routing and settlement flows.
  • Can be extended to support additional currency pairs in future releases.

POST /api/v1/trades/quotes

Purpose:

  • Retrieve a pre-trade quote before executing a swap

Capabilities:

  • Provides:

    • Exchange rate
    • Fees
    • Final output amount

Rationale:

  • Allows clients to preview trade outcomes before committing
  • Ensures transparency in pricing and execution

🏦 Virtual Accounts API

GET /api/v1/customers/{id}/fiat-deposit-instructions

Purpose:

  • Retrieve detailed information for a customer virtual account deposit instructions

⚠️ Summary of Breaking Changes

  • amount field has been fully deprecated across transfer endpoints
  • receiverAmount is now mandatory
  • Clients must update integrations accordingly to avoid request validation errors