curl --request POST \
--url https://api.breet.io/v1/trades/sell/assets/{id}/generate-address \
--header 'Content-Type: application/json' \
--header 'X-Breet-Env: <api-key>' \
--header 'x-app-id: <api-key>' \
--header 'x-app-secret: <api-key>' \
--data '
{
"label": "unique-identifier",
"bankId": "39",
"narration": "Breet payout",
"accountNumber": "215842XXXX",
"autoSettlement": true
}
'import requests
url = "https://api.breet.io/v1/trades/sell/assets/{id}/generate-address"
payload = {
"label": "unique-identifier",
"bankId": "39",
"narration": "Breet payout",
"accountNumber": "215842XXXX",
"autoSettlement": True
}
headers = {
"x-app-id": "<api-key>",
"x-app-secret": "<api-key>",
"X-Breet-Env": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-app-id': '<api-key>',
'x-app-secret': '<api-key>',
'X-Breet-Env': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
label: 'unique-identifier',
bankId: '39',
narration: 'Breet payout',
accountNumber: '215842XXXX',
autoSettlement: true
})
};
fetch('https://api.breet.io/v1/trades/sell/assets/{id}/generate-address', 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.breet.io/v1/trades/sell/assets/{id}/generate-address",
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([
'label' => 'unique-identifier',
'bankId' => '39',
'narration' => 'Breet payout',
'accountNumber' => '215842XXXX',
'autoSettlement' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Breet-Env: <api-key>",
"x-app-id: <api-key>",
"x-app-secret: <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.breet.io/v1/trades/sell/assets/{id}/generate-address"
payload := strings.NewReader("{\n \"label\": \"unique-identifier\",\n \"bankId\": \"39\",\n \"narration\": \"Breet payout\",\n \"accountNumber\": \"215842XXXX\",\n \"autoSettlement\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-app-id", "<api-key>")
req.Header.Add("x-app-secret", "<api-key>")
req.Header.Add("X-Breet-Env", "<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.breet.io/v1/trades/sell/assets/{id}/generate-address")
.header("x-app-id", "<api-key>")
.header("x-app-secret", "<api-key>")
.header("X-Breet-Env", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"label\": \"unique-identifier\",\n \"bankId\": \"39\",\n \"narration\": \"Breet payout\",\n \"accountNumber\": \"215842XXXX\",\n \"autoSettlement\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.breet.io/v1/trades/sell/assets/{id}/generate-address")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-app-id"] = '<api-key>'
request["x-app-secret"] = '<api-key>'
request["X-Breet-Env"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"label\": \"unique-identifier\",\n \"bankId\": \"39\",\n \"narration\": \"Breet payout\",\n \"accountNumber\": \"215842XXXX\",\n \"autoSettlement\": true\n}"
response = http.request(request)
puts response.read_body{
"message": "wallet address generated successfully",
"success": true,
"data": {
"id": "6932dc98c2ceccdea367388a",
"address": "TV8dNYYBgL3xLbQcJLMBNavY4gYNqPF8Jv"
},
"meta": {},
"summary": {},
"stats": {}
}Generate Wallet Address
Generates a permanent deposit wallet address for a specified asset. Each address is unique and reusable, so you only need to call this once per user per asset. Store the returned address and display it for future deposits. Optionally pass bank details and autoSettlement so incoming crypto can be paid out to that bank.
A trade.address.created webhook is sent as a fallback once the address is live, containing the address, asset, and label.
curl --request POST \
--url https://api.breet.io/v1/trades/sell/assets/{id}/generate-address \
--header 'Content-Type: application/json' \
--header 'X-Breet-Env: <api-key>' \
--header 'x-app-id: <api-key>' \
--header 'x-app-secret: <api-key>' \
--data '
{
"label": "unique-identifier",
"bankId": "39",
"narration": "Breet payout",
"accountNumber": "215842XXXX",
"autoSettlement": true
}
'import requests
url = "https://api.breet.io/v1/trades/sell/assets/{id}/generate-address"
payload = {
"label": "unique-identifier",
"bankId": "39",
"narration": "Breet payout",
"accountNumber": "215842XXXX",
"autoSettlement": True
}
headers = {
"x-app-id": "<api-key>",
"x-app-secret": "<api-key>",
"X-Breet-Env": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-app-id': '<api-key>',
'x-app-secret': '<api-key>',
'X-Breet-Env': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
label: 'unique-identifier',
bankId: '39',
narration: 'Breet payout',
accountNumber: '215842XXXX',
autoSettlement: true
})
};
fetch('https://api.breet.io/v1/trades/sell/assets/{id}/generate-address', 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.breet.io/v1/trades/sell/assets/{id}/generate-address",
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([
'label' => 'unique-identifier',
'bankId' => '39',
'narration' => 'Breet payout',
'accountNumber' => '215842XXXX',
'autoSettlement' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Breet-Env: <api-key>",
"x-app-id: <api-key>",
"x-app-secret: <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.breet.io/v1/trades/sell/assets/{id}/generate-address"
payload := strings.NewReader("{\n \"label\": \"unique-identifier\",\n \"bankId\": \"39\",\n \"narration\": \"Breet payout\",\n \"accountNumber\": \"215842XXXX\",\n \"autoSettlement\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-app-id", "<api-key>")
req.Header.Add("x-app-secret", "<api-key>")
req.Header.Add("X-Breet-Env", "<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.breet.io/v1/trades/sell/assets/{id}/generate-address")
.header("x-app-id", "<api-key>")
.header("x-app-secret", "<api-key>")
.header("X-Breet-Env", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"label\": \"unique-identifier\",\n \"bankId\": \"39\",\n \"narration\": \"Breet payout\",\n \"accountNumber\": \"215842XXXX\",\n \"autoSettlement\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.breet.io/v1/trades/sell/assets/{id}/generate-address")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-app-id"] = '<api-key>'
request["x-app-secret"] = '<api-key>'
request["X-Breet-Env"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"label\": \"unique-identifier\",\n \"bankId\": \"39\",\n \"narration\": \"Breet payout\",\n \"accountNumber\": \"215842XXXX\",\n \"autoSettlement\": true\n}"
response = http.request(request)
puts response.read_body{
"message": "wallet address generated successfully",
"success": true,
"data": {
"id": "6932dc98c2ceccdea367388a",
"address": "TV8dNYYBgL3xLbQcJLMBNavY4gYNqPF8Jv"
},
"meta": {},
"summary": {},
"stats": {}
}Authorizations
Your application ID from the Breet dashboard
Your application secret from the Breet dashboard
Environment selector: sandbox or production
Path Parameters
ID of the crypto asset. Returned by the list sell assets endpoint.
Body
A unique name for the wallet address.
Optional. Bank identifier from the GET /payments/banks endpoint. Only required if you want to automatically offramp deposits to a bank account. Must be provided together with accountNumber.
Optional. A short note included with bank settlement payouts. Maximum 32 characters. Only applies when bankId and accountNumber are provided.
Optional. Bank account number for automatic offramp. Only required if you want deposits to this address to be automatically settled to a bank account. Must be provided together with bankId.
Optional. When true, incoming crypto to this address is auto-settled to the linked bank. Omit or use false to keep funds in the wallet.
Response
Wallet address generated successfully
Was this page helpful?