Same-Currency Transfers

Create a transfer-in request

Deprecated. Use POST /quotes instead.

Same-currency transfers are now served by the quote endpoint. Create a quote with an external account source and an internal account destination and set immediatelyExecute: true to move the funds in a single request, exactly as this endpoint does. This endpoint continues to work and its request and response shapes are unchanged.

To migrate a request to POST /quotes:

  • add sourceType: ACCOUNT to source and destinationType: ACCOUNT to destination; the account IDs are unchanged
  • rename amount to lockedCurrencyAmount and add lockedCurrencySide: SENDING
  • add immediatelyExecute: true to keep the single-request behavior

The quote response is a Quote rather than a Transaction; read transactionId from it to track the resulting transaction.

Transfer funds from an external account to an internal account for a specific customer. This endpoint should only be used for external account sources with pull functionality (e.g. ACH Pull). Otherwise, use the paymentInstructions on the internal account to deposit funds.

post/transfer-in

Headers

Idempotency-Keystring
Example:550e8400-e29b-41d4-a716-446655440000

A unique identifier for the request. If the same key is sent multiple times, the server will return the same response as the first request.

Request body

amountinteger

Amount in the smallest unit of the currency (e.g., cents for USD/EUR, satoshis for BTC)

Example request

{
  "source": {
    "accountId": "ExternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965"
  },
  "destination": {
    "accountId": "InternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123"
  },
  "amount": 12550
}

Response

Transfer-in request created successfully

OR
OR

Example response

{
  "id": "Transaction:019542f5-b3e7-1d02-0000-000000000004",
  "destination": {
    "destinationType": "ACCOUNT",
    "currency": "EUR",
    "accountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123",
    "onChainTransaction": {
      "transactionHash": "h82pJGF9p7kpzb6eU326EFZf2cDnimbTFVeJtx1qtBmUNJAEqN76R7PwPfHt3oWb8R6cKvhgyxQdDn53jFrK6wFx",
      "network": "SOLANA"
    }
  },
  "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "platformCustomerId": "18d3e5f7b4a9c2",
  "settledAt": "2025-08-15T14:30:00Z",
  "createdAt": "2025-08-15T14:25:18Z",
  "updatedAt": "2025-08-15T14:30:00Z",
  "receiptDeliveryConfirmedAt": "2025-08-15T14:31:00Z",
  "agentId": "Agent:019542f5-b3e7-1d02-0000-000000000042",
  "description": "Payment for invoice #1234",
  "sentAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "exchangeRate": 1.08,
  "quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006",
  "refund": {
    "reference": "UMA-Q12345-REFUND",
    "initiatedAt": "2025-08-15T14:30:00Z",
    "settledAt": "2025-08-15T14:35:00Z",
    "status": "COMPLETED",
    "reason": "TRANSACTION_FAILED"
  },
  "counterpartyInformation": {
    "FULL_NAME": "John Sender",
    "BIRTH_DATE": "1985-06-15",
    "NATIONALITY": "DE"
  },
  "source": {
    "sourceType": "ACCOUNT",
    "currency": "USD",
    "accountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
    "onChainTransaction": {
      "transactionHash": "h82pJGF9p7kpzb6eU326EFZf2cDnimbTFVeJtx1qtBmUNJAEqN76R7PwPfHt3oWb8R6cKvhgyxQdDn53jFrK6wFx",
      "network": "SOLANA"
    }
  },
  "receivedAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "fees": 10,
  "reconciliationInstructions": {
    "reference": "UMA-Q12345-REF",
    "transactionHash": "0x9f2c6b6f4b6c8f2a8d9e0b1c2d3e4f5061728394a5b6c7d8e9f00112233445566"
  }
}

Changes