---
title: "Create or retrieve standing virtual-account onramp deposit instructions"
method: POST
path: "/payments/virtual-account/deposit-instructions"
tags: ["Headless"]
---

# Create or retrieve standing virtual-account onramp deposit instructions

`POST /payments/virtual-account/deposit-instructions`

Provisions a standing virtual bank account for recurring onramp deposits, or returns the existing instructions when the same customer, provider, payment method, currency pair, and destination wallet were already set up.

## Headers

- `X-Idempotency-Key` string, uuid

## Request body

- VirtualAccountDepositInstructionsRequest — Request to provision or retrieve standing virtual-account deposit instructions
  - `customerId` string, required — Meld customer id
  - `customerPhoneNumber` string — Customer phone number — required when paymentMethodType is MOBILE_MONEY and the provider requires it
  - `destinationCurrencyCode` string, required — Destination cryptocurrency code
  - `destinationWalletAddress` string, required — Wallet address that will receive the purchased cryptocurrency
  - `paymentMethodType` 'ACH' | 'SEPA' | 'PIX' | 'MOBILE_MONEY', required — Desired type of virtual account to create for sending the fiat currency to
  - `serviceProvider` 'NOAH' | 'DUENETWORK', required — Service provider used for creating the virtual deposit account
  - `sourceCurrencyCode` string, required — Source fiat currency code

## Response `201`

Deposit instructions created or returned successfully

## Other responses

- `400` — Bad Request : check request values and format
- `401` — Invalid credentials
- `403` — Unauthenticated or authenticated with insufficient access
- `500` — Internal Error

---

[API](https://skmtc.net/meld/apis/bank-linking.md) · [All operations](https://skmtc.net/meld/apis/bank-linking/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/meld/bank-linking/revisions/818d6079a611/schema)
