Skip to main content
POST
/
accounts
/
{accountId}
/
virtual-bank-accounts
Create a virtual bank account
curl --request POST \
  --url https://api.venlyfinance.com/api/v1/accounts/{accountId}/virtual-bank-accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "My EUR Deposit Account",
  "inCurrency": "EUR",
  "targetCryptocurrency": "USDC"
}
'
{
  "success": true,
  "result": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "bankAccountType": "EUR_SEPA",
    "name": "<string>",
    "status": "ACTIVE",
    "currency": "EUR",
    "targetCryptocurrency": "USDC",
    "iban": "DE89370400440532013000",
    "bic": "DEUTDEDB",
    "accountNumber": "<string>",
    "routingNumber": "<string>",
    "bankName": "<string>",
    "beneficiaryName": "<string>",
    "referenceCode": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string<uuid>

Unique key for idempotent requests (UUID recommended)

Path Parameters

accountId
string<uuid>
required

Body

application/json

Request to create a virtual bank account. The backend provisions the appropriate bank account type based on the inCurrency (e.g., EUR creates a EUR_SEPA account).

name
string
required

Display name for the bank account

Maximum string length: 255
inCurrency
enum<string>
required

Fiat currency to receive. Determines the bank account type (e.g., EUR -> EUR_SEPA)

Available options:
EUR,
GBP,
USD
targetCryptocurrency
enum<string>
required

Cryptocurrency to convert incoming fiat payments to

Available options:
USDC,
EURC,
USDT

Response

Virtual bank account created

success
boolean

Indicates whether the request was successful

result
object

Virtual bank account for receiving payments. The fields returned depend on the bankAccountType. EUR_SEPA accounts return iban/bic, while USD accounts (future) return accountNumber/routingNumber.