curl --request POST \
--url https://sandbox-api.borderless.xyz/v1/accounts/subaccounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"identityId": "cm9db4g2s2r7ro224ra6u1qvl",
"name": "Main Account",
"assets": [
{
"asset": "ETH",
"address": "0xE79a68B87544ed42Cc5aA805bb056201e7942D3A"
}
]
}
'import requests
url = "https://sandbox-api.borderless.xyz/v1/accounts/subaccounts"
payload = {
"identityId": "cm9db4g2s2r7ro224ra6u1qvl",
"name": "Main Account",
"assets": [
{
"asset": "ETH",
"address": "0xE79a68B87544ed42Cc5aA805bb056201e7942D3A"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identityId: 'cm9db4g2s2r7ro224ra6u1qvl',
name: 'Main Account',
assets: [{asset: 'ETH', address: '0xE79a68B87544ed42Cc5aA805bb056201e7942D3A'}]
})
};
fetch('https://sandbox-api.borderless.xyz/v1/accounts/subaccounts', 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://sandbox-api.borderless.xyz/v1/accounts/subaccounts",
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([
'identityId' => 'cm9db4g2s2r7ro224ra6u1qvl',
'name' => 'Main Account',
'assets' => [
[
'asset' => 'ETH',
'address' => '0xE79a68B87544ed42Cc5aA805bb056201e7942D3A'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sandbox-api.borderless.xyz/v1/accounts/subaccounts"
payload := strings.NewReader("{\n \"identityId\": \"cm9db4g2s2r7ro224ra6u1qvl\",\n \"name\": \"Main Account\",\n \"assets\": [\n {\n \"asset\": \"ETH\",\n \"address\": \"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://sandbox-api.borderless.xyz/v1/accounts/subaccounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"identityId\": \"cm9db4g2s2r7ro224ra6u1qvl\",\n \"name\": \"Main Account\",\n \"assets\": [\n {\n \"asset\": \"ETH\",\n \"address\": \"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.borderless.xyz/v1/accounts/subaccounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identityId\": \"cm9db4g2s2r7ro224ra6u1qvl\",\n \"name\": \"Main Account\",\n \"assets\": [\n {\n \"asset\": \"ETH\",\n \"address\": \"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"assets": [
{
"id": "<string>",
"address": "<string>"
}
],
"fiats": [
{
"id": "<string>"
}
],
"identityId": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}Create a Subaccount (deprecated)
Deprecated. Will be removed by September 1st, 2026. Use POST /accounts instead; the wallet/subaccount distinction has been removed.
curl --request POST \
--url https://sandbox-api.borderless.xyz/v1/accounts/subaccounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"identityId": "cm9db4g2s2r7ro224ra6u1qvl",
"name": "Main Account",
"assets": [
{
"asset": "ETH",
"address": "0xE79a68B87544ed42Cc5aA805bb056201e7942D3A"
}
]
}
'import requests
url = "https://sandbox-api.borderless.xyz/v1/accounts/subaccounts"
payload = {
"identityId": "cm9db4g2s2r7ro224ra6u1qvl",
"name": "Main Account",
"assets": [
{
"asset": "ETH",
"address": "0xE79a68B87544ed42Cc5aA805bb056201e7942D3A"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identityId: 'cm9db4g2s2r7ro224ra6u1qvl',
name: 'Main Account',
assets: [{asset: 'ETH', address: '0xE79a68B87544ed42Cc5aA805bb056201e7942D3A'}]
})
};
fetch('https://sandbox-api.borderless.xyz/v1/accounts/subaccounts', 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://sandbox-api.borderless.xyz/v1/accounts/subaccounts",
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([
'identityId' => 'cm9db4g2s2r7ro224ra6u1qvl',
'name' => 'Main Account',
'assets' => [
[
'asset' => 'ETH',
'address' => '0xE79a68B87544ed42Cc5aA805bb056201e7942D3A'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sandbox-api.borderless.xyz/v1/accounts/subaccounts"
payload := strings.NewReader("{\n \"identityId\": \"cm9db4g2s2r7ro224ra6u1qvl\",\n \"name\": \"Main Account\",\n \"assets\": [\n {\n \"asset\": \"ETH\",\n \"address\": \"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://sandbox-api.borderless.xyz/v1/accounts/subaccounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"identityId\": \"cm9db4g2s2r7ro224ra6u1qvl\",\n \"name\": \"Main Account\",\n \"assets\": [\n {\n \"asset\": \"ETH\",\n \"address\": \"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.borderless.xyz/v1/accounts/subaccounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identityId\": \"cm9db4g2s2r7ro224ra6u1qvl\",\n \"name\": \"Main Account\",\n \"assets\": [\n {\n \"asset\": \"ETH\",\n \"address\": \"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"assets": [
{
"id": "<string>",
"address": "<string>"
}
],
"fiats": [
{
"id": "<string>"
}
],
"identityId": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
- Standalone Subaccount
- Dfns Subaccount
- Utila Subaccount
Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at Identity Guide.
25"cm9db4g2s2r7ro224ra6u1qvl"
Deprecated. Will be removed by September 1st, 2026. A unique identifier for your account, allowing you to distinguish it from other accounts.
3 - 50"Main Account"
Deprecated. Will be removed by September 1st, 2026. An array of assets associated with blockchain addresses. Refer to the Own Managed Address Documentation.
Show child attributes
Show child attributes
Response
Successfully created Subaccount data.
The provider that manages the account.
Standalone, Dfns, Utila, Infinia, Finity Deprecated. Will be removed by September 1st, 2026. Use provider instead.
wallet, institution Deprecated. Will be removed by September 1st, 2026. Use provider instead.
Bridge, Koywe, Kotanipay, Hercle, Bitso, Yellowcard, TraceFinance, HoneyCoin, BlindPay, Finity, Infinia, Walapay, Abra, Yativo, Capa, Bivo, Cobre, Avenia, Brale, BVNK, CoinsPH, Iron, Enigma, Juicyway, Kira, TripleA, Onmeta, Alfred, Demo, CrissCross Deprecated. Will be removed by September 1st, 2026. Use provider instead.
Utila, Standalone, MultiProvider, Dfns, NotApplicable Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?