Virtual Accounts

Create Virtual Account

Changed on

Creates a virtual account that automatically converts inbound USD deposits (ACH, wire, RTP) into stablecoins sent to the linked wallet. Fees on these automated payins depend on the deposit amount: deposits below $100.00 accrue the BlindPay fee to your billing cycle (charged at the end of the month via the payin's billing_fee_amount), while deposits of $100.00 or more are charged at the time of the transaction (deducted from the delivered amount via transaction_fee_amount). Every deposit is processed regardless of size and always delivers at least $0.01 on-chain; a partner fee (optional partner_fee_id) is collected only from what remains after that.

post/v1/instances/{instance_id}/customers/{customer_id}/virtual-accounts

Request

  • Base URL: https://blindpay.com (the document declares no server; this is the origin it was published from)
  • URL: https://blindpay.com/v1/instances/{instance_id}/customers/{customer_id}/virtual-accounts
  • Auth: HTTP bearer

Path parameters

instance_idstring required
Example:in_000000000000
customer_idstring required

Customer ID

Example:re_000000000000

Headers

Idempotency-Keystring

Optional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

Example:a1b2c3d4-e5f6-7890-abcd-ef1234567890

Request body

banking_partner'jpmorgan' | 'citi' | 'hsbc' | 'cfsb' | 'portage' | 'bre_b' | 'spei' required
token'USDC' | 'USDT' | 'USDB' required
blockchain_wallet_idstring required
sole_proprietor_doc_type'master_service_agreement' | 'salary_slip' | 'bank_statement' nullable
sole_proprietor_doc_filestring uri nullable
partner_fee_idstring nullable

Example request

{
  "banking_partner": "jpmorgan",
  "token": "USDC",
  "sole_proprietor_doc_type": "master_service_agreement",
  "sole_proprietor_doc_file": "https://example.com/document.pdf",
  "partner_fee_id": "pf_000000000000",
  "bre_b": {
    "gender": "female"
  }
}

Response

Create virtual account

idstring required
banking_partner'jpmorgan' | 'citi' | 'hsbc' | 'cfsb' | 'portage' | 'bre_b' | 'spei' nullable required
kyc_status'verifying' | 'approved' | 'rejected' | 'deprecated' | 'pending_review' | 'awaiting_contract' | 'compliance_request' | 'approved_rfi' nullable required
token'USDC' | 'USDT' | 'USDB' required
blockchain_wallet_idstring nullable
partner_fee_idstring nullable
customer_idstring nullable

Example response

{
  "id": "va_000000000000",
  "banking_partner": "jpmorgan",
  "kyc_status": "approved",
  "us": {
    "ach": {
      "routing_number": "123456789",
      "account_number": "123456789"
    },
    "wire": {
      "routing_number": "123456789",
      "account_number": "123456789"
    },
    "rtp": {
      "routing_number": "123456789",
      "account_number": "123456789"
    },
    "swift_bic_code": "TCCLGB3L",
    "swift_account_number": "GB50TCCL04140449730892",
    "account_type": "Business checking",
    "beneficiary": {
      "name": "Customer Name",
      "address_line_1": "8 The Green, #19364",
      "address_line_2": "Dover, DE 19901"
    },
    "receiving_bank": {
      "name": "JPMorgan Chase",
      "address_line_1": "270 Park Ave",
      "address_line_2": "New York, NY, 10017-2070"
    },
    "swift_receiving_bank": {
      "name": "JPMorgan Chase",
      "address_line_1": "270 Park Ave",
      "address_line_2": "New York, NY, 10017-2070"
    },
    "swift_intermediary_bank": {
      "name": "JP Morgan Chase NA",
      "swift_code_bic": "CHASUS33",
      "routing_number": "021000021",
      "address_line_1": "270 Park Ave",
      "address_line_2": "New York, NY, 10017-2070"
    }
  },
  "co": {
    "bre_b": {
      "key": "@BP000000000000"
    },
    "beneficiary": {
      "name": "Customer Name"
    }
  },
  "mx": {
    "spei": {
      "clabe": "710969000000000001"
    },
    "beneficiary": {
      "name": "BLINDPAY LLC"
    }
  },
  "token": "USDC",
  "blockchain_wallet_id": "bw_000000000000",
  "blockchain_wallet": {
    "network": "polygon",
    "address": "0xDD6a3aD0949396e57C7738ba8FC1A46A5a1C372C"
  },
  "partner_fee_id": "pf_000000000000",
  "customer_id": "re_000000000000"
}

Changes

    • warning

      added the new spei enum value to the response property for the response status

    • info

      added the new spei enum value to the request property

    • info

      added the optional property to the response with the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became optional for the status

    • warning

      added the new bre_b enum value to the response property for the response status

    • info

      added the new optional request property

    • info

      added the new bre_b enum value to the request property

    • info

      added the optional property to the response with the status