Create Payout Destination
curl --request POST \
--url https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"country": "<string>",
"type": "<string>",
"currency": "<string>",
"label": "<string>",
"network": "<string>",
"account_number": "<string>",
"account_name": "<string>",
"routing_number": "<string>",
"account_type": "<string>",
"iban": "<string>",
"swift_code": "<string>",
"wallet_address": "<string>",
"is_default": true
}
'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations"
payload = {
"country": "<string>",
"type": "<string>",
"currency": "<string>",
"label": "<string>",
"network": "<string>",
"account_number": "<string>",
"account_name": "<string>",
"routing_number": "<string>",
"account_type": "<string>",
"iban": "<string>",
"swift_code": "<string>",
"wallet_address": "<string>",
"is_default": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
country: '<string>',
type: '<string>',
currency: '<string>',
label: '<string>',
network: '<string>',
account_number: '<string>',
account_name: '<string>',
routing_number: '<string>',
account_type: '<string>',
iban: '<string>',
swift_code: '<string>',
wallet_address: '<string>',
is_default: true
})
};
fetch('https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'country' => '<string>',
'type' => '<string>',
'currency' => '<string>',
'label' => '<string>',
'network' => '<string>',
'account_number' => '<string>',
'account_name' => '<string>',
'routing_number' => '<string>',
'account_type' => '<string>',
'iban' => '<string>',
'swift_code' => '<string>',
'wallet_address' => '<string>',
'is_default' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations"
payload := strings.NewReader("{\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"currency\": \"<string>\",\n \"label\": \"<string>\",\n \"network\": \"<string>\",\n \"account_number\": \"<string>\",\n \"account_name\": \"<string>\",\n \"routing_number\": \"<string>\",\n \"account_type\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\",\n \"wallet_address\": \"<string>\",\n \"is_default\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"currency\": \"<string>\",\n \"label\": \"<string>\",\n \"network\": \"<string>\",\n \"account_number\": \"<string>\",\n \"account_name\": \"<string>\",\n \"routing_number\": \"<string>\",\n \"account_type\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\",\n \"wallet_address\": \"<string>\",\n \"is_default\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"currency\": \"<string>\",\n \"label\": \"<string>\",\n \"network\": \"<string>\",\n \"account_number\": \"<string>\",\n \"account_name\": \"<string>\",\n \"routing_number\": \"<string>\",\n \"account_type\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\",\n \"wallet_address\": \"<string>\",\n \"is_default\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"beneficiary_id": "<string>",
"country": "<string>",
"payout_method": "<string>",
"type": "<string>",
"label": "<string>",
"currency": "<string>",
"network": "<string>",
"status": "<string>",
"account_number_last4": "<string>",
"routing_number": "<string>",
"account_type": "<string>",
"clabe_last4": "<string>",
"iban_masked": "<string>",
"swift_code": "<string>",
"wallet_address_masked": "<string>",
"is_default": true,
"created": "<string>",
"updated": "<string>"
}Payout Destinations
Create Payout Destination
Add a bank account or wallet as a payout destination for a beneficiary
POST
/
v1
/
accounts
/
{account_id}
/
beneficiaries
/
{beneficiary_id}
/
payout-destinations
Create Payout Destination
curl --request POST \
--url https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"country": "<string>",
"type": "<string>",
"currency": "<string>",
"label": "<string>",
"network": "<string>",
"account_number": "<string>",
"account_name": "<string>",
"routing_number": "<string>",
"account_type": "<string>",
"iban": "<string>",
"swift_code": "<string>",
"wallet_address": "<string>",
"is_default": true
}
'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations"
payload = {
"country": "<string>",
"type": "<string>",
"currency": "<string>",
"label": "<string>",
"network": "<string>",
"account_number": "<string>",
"account_name": "<string>",
"routing_number": "<string>",
"account_type": "<string>",
"iban": "<string>",
"swift_code": "<string>",
"wallet_address": "<string>",
"is_default": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
country: '<string>',
type: '<string>',
currency: '<string>',
label: '<string>',
network: '<string>',
account_number: '<string>',
account_name: '<string>',
routing_number: '<string>',
account_type: '<string>',
iban: '<string>',
swift_code: '<string>',
wallet_address: '<string>',
is_default: true
})
};
fetch('https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'country' => '<string>',
'type' => '<string>',
'currency' => '<string>',
'label' => '<string>',
'network' => '<string>',
'account_number' => '<string>',
'account_name' => '<string>',
'routing_number' => '<string>',
'account_type' => '<string>',
'iban' => '<string>',
'swift_code' => '<string>',
'wallet_address' => '<string>',
'is_default' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations"
payload := strings.NewReader("{\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"currency\": \"<string>\",\n \"label\": \"<string>\",\n \"network\": \"<string>\",\n \"account_number\": \"<string>\",\n \"account_name\": \"<string>\",\n \"routing_number\": \"<string>\",\n \"account_type\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\",\n \"wallet_address\": \"<string>\",\n \"is_default\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"currency\": \"<string>\",\n \"label\": \"<string>\",\n \"network\": \"<string>\",\n \"account_number\": \"<string>\",\n \"account_name\": \"<string>\",\n \"routing_number\": \"<string>\",\n \"account_type\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\",\n \"wallet_address\": \"<string>\",\n \"is_default\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/payout-destinations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"country\": \"<string>\",\n \"type\": \"<string>\",\n \"currency\": \"<string>\",\n \"label\": \"<string>\",\n \"network\": \"<string>\",\n \"account_number\": \"<string>\",\n \"account_name\": \"<string>\",\n \"routing_number\": \"<string>\",\n \"account_type\": \"<string>\",\n \"iban\": \"<string>\",\n \"swift_code\": \"<string>\",\n \"wallet_address\": \"<string>\",\n \"is_default\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"beneficiary_id": "<string>",
"country": "<string>",
"payout_method": "<string>",
"type": "<string>",
"label": "<string>",
"currency": "<string>",
"network": "<string>",
"status": "<string>",
"account_number_last4": "<string>",
"routing_number": "<string>",
"account_type": "<string>",
"clabe_last4": "<string>",
"iban_masked": "<string>",
"swift_code": "<string>",
"wallet_address_masked": "<string>",
"is_default": true,
"created": "<string>",
"updated": "<string>"
}Path Parameters
string
required
The account’s external ID (starts with
acct_)string
required
The beneficiary’s external ID (starts with
bene_)Request Body
string
required
Payout country code (ISO 3166-1 alpha-2)
string
required
Destination type:
bank_account, wallet, or cardstring
required
Currency for payouts (ISO 4217 code)
string
Custom label for this destination
string
Blockchain network (required for crypto destinations, e.g., ethereum, bitcoin)
Bank Account Fields
string
Bank account number
string
Bank account name
string
Bank routing number
string
Account type:
checking or savingsstring
IBAN (max 34 characters)
string
SWIFT/BIC code (max 11 characters)
Crypto Wallet Fields
string
Blockchain wallet address
boolean
default:"false"
Set as default destination for this beneficiary
Response
string
Payout destination identifier (starts with
dest_)string
Always returns
"payout_destination"string
Parent beneficiary external ID
string
Payout country
string
Payout method (e.g., ach, wire, spei)
string
Destination type
string
Destination label
string
Currency
string
Blockchain network (for crypto only)
string
Destination status:
active, disabled, or inactivestring
Last 4 digits of account number (masked for security)
string
Bank routing number
string
Account type
string
Last 4 digits of CLABE (Mexico SPEI)
string
Masked IBAN
string
SWIFT/BIC code
string
Masked wallet address
boolean
Whether this is the default destination
string
ISO 8601 timestamp when created
string
ISO 8601 timestamp when last updated
Response Example
{
"id": "dest_1234567890abcdef",
"object": "payout_destination",
"beneficiary_id": "bene_9gt1ummgx127biovlurm9mq2",
"country": "US",
"payout_method": "ach",
"type": "bank_account",
"label": null,
"currency": "USD",
"network": null,
"status": "active",
"account_number_last4": "7890",
"routing_number": "021000021",
"account_type": "checking",
"is_default": true,
"created": "2024-01-15T10:00:00Z",
"updated": "2024-01-15T10:00:00Z"
}
⌘I