Skip to main content
POST
/
accounts
/
{senderAccountId}
/
transfers
/
fiat
Create fiat transfer
curl --request POST \
  --url https://api.venlyfinance.com/v1/accounts/{senderAccountId}/transfers/fiat \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "receiverAccountId": "c3b2a1f0-9d8c-4e3a-bf21-1a2b3c4d5e60",
  "currency": "USD",
  "amount": 25,
  "description": "Invoice settlement",
  "idempotencyKey": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
'
{
  "success": true,
  "result": {
    "id": "a1b2c3d4-e5f6-4789-9abc-def012345678",
    "senderAccountId": "b2a1f0e9-8c7d-4e3a-9f21-0a1b2c3d4e5f",
    "receiverAccountId": "c3b2a1f0-9d8c-4e3a-bf21-1a2b3c4d5e60",
    "chain": "BASE",
    "asset": "USDC",
    "amount": 25,
    "fiatOrigin": {
      "currency": "USD",
      "amount": 25,
      "exchangeRate": 1
    },
    "description": "Invoice settlement",
    "idempotencyKey": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "COMPLETED",
    "transactionHash": "0xa1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
    "createdAt": "2026-01-15T09:30:00Z",
    "updatedAt": "2026-01-15T09:30:02Z"
  }
}
Transfers a fiat amount from the sender to a receiver (receiverAccountId or receiverExternalId). The amount settles in the underlying stablecoin; the response includes a fiatOrigin block with the original currency and exchange rate.
The sender account must be verified, and (self-custody) its wallet ACTIVE with an allowance to the orchestration wallet. See Account verification and Approving transfers without gas.

Authorizations

Path Parameters

senderAccountId
string<uuid>
required

The account ID initiating the transfer

Body

application/json
currency
string
required

Fiat currency code (e.g. EUR, USD)

Minimum string length: 1
amount
number
required

Transfer amount

idempotencyKey
string
required

Unique key to prevent duplicate operations on retry

Minimum string length: 1
receiverAccountId
string<uuid>

ID of the receiving account

receiverExternalId
string

External ID of the receiving account (alternative to receiverAccountId)

description
string

Optional transfer description

merchantReference
string

Optional merchant reference

Response

Fiat transfer created

success
boolean

Indicates whether the request was successful

result
object