Skip to main content
A payment method is the bank network a payin or payout uses, named by a value such as sepa or ach. Read what one client can use with GET /dapi/v1/banks, and what one contact can receive with GET /dapi/v1/contacts/{contactId}/capabilities. Virtual accounts defines product, rail, virtual account and account details.

Products

Request a virtual account with POST /dapi/v1/banks and one of these products. The payer sends the listed currency over one of the listed methods. GET /dapi/v1/banks returns the products one client can request, with currency and method for each. Use the response in code, not this table. The product enum in the API reference has more codes than this table. A code the client cannot request is absent from its GET /dapi/v1/banks response, and POST /dapi/v1/banks with it returns 403 rail_not_available.

What each method needs

The identifiers are the requisites.fields of an active virtual account and the fields you send to save a contact. + means each group is required. or means one of the alternatives in that group. A contact can use any method in the table. A virtual account can use the methods from ach to transfers_3_0. An _ewallet method pays a mobile wallet identified by a phone number. A _local method is the domestic clearing system of that market. For both, save a contact and then book a payout. Each requisites object and each contact has a holder. Its type is individual with firstName and lastName, or business with businessName. The holder does not replace the identifiers.

Availability

Chain codes

A chain code names the chain in crypto.chain of a wallet contact and in originChainId of a quoted on-chain payin. A transfer to baseSmartWallet and a quoted on-chain payin need no virtual account and no verification. The client must be ready. Read GET /dapi/v1/chains at startup and do not hardcode the codes below. Chain codes: eth, bsc, avax, op, arb, pol, sol, base, gnosis, tron, xrp, zec, doge, ltc, btc, cardano, bera, sui, near, near_intents, xlayer, plasma, ton, stellar, monad, starknet, aptos, adi, bch. A payout to a chain other than Base is routed.

Fees

A fee or rate in this API is either declared before a payment exists or quoted on one payment. Rates are set per integrator. Ask HEVN for yours.

Declared and quoted

Do not bill from a stored declared rate.

Fee fields

POST /dapi/v1/payouts/preview prices a rail without a contact. A price from capabilities or preview is indicative. POST /dapi/v1/payouts repeats the checks and returns the binding quote. To choose which side of a payment absorbs the fee, send amount or amountTo (Conventions).

Product rate

GET /dapi/v1/banks/{product}/rate returns the indicative price of a payin on one product.

Market rate

GET /dapi/v1/rates?from=EUR&to=USDC returns the current market rate between two currencies or tokens.
A currency HEVN does not price returns 404 not_found.

Not a fee

Next: Errors