Child Address Message
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": "I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.",
"metadata": "OPTIONAL_METADATA",
"note": "OPTIONAL_NOTE"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message"
payload = {
"message": "I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.",
"metadata": "OPTIONAL_METADATA",
"note": "OPTIONAL_NOTE"
}
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({
message: 'I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.',
metadata: 'OPTIONAL_METADATA',
note: 'OPTIONAL_NOTE'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message', 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.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message",
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([
'message' => 'I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.',
'metadata' => 'OPTIONAL_METADATA',
'note' => 'OPTIONAL_NOTE'
]),
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.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message"
payload := strings.NewReader("{\n \"message\": \"I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.\",\n \"metadata\": \"OPTIONAL_METADATA\",\n \"note\": \"OPTIONAL_NOTE\"\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.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.\",\n \"metadata\": \"OPTIONAL_METADATA\",\n \"note\": \"OPTIONAL_NOTE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message")
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 \"message\": \"I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.\",\n \"metadata\": \"OPTIONAL_METADATA\",\n \"note\": \"OPTIONAL_NOTE\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"address": {
"address": "0x88922E6BA19C0676E46522111102D5eC26b33702",
"configurations": {
"aml": {
"message": "Address is not sanctioned",
"provider": "ofac, fbi, tether, circle",
"status": "success"
},
"autoSettlement": {
"isActive": false,
"rules": []
},
"disableAutoSweep": false,
"enableGaslessWithdraw": false,
"showPrivateKey": false
},
"createdAt": "2026-02-12T12:51:42.689Z",
"derivationPath": "m/44'/60'/0'/0/49",
"id": "68a0eb35-9d3a-4d9e-8a4c-10b1a57c3b80",
"isActive": true,
"metadata": null,
"name": null,
"network": "testnet",
"type": "INTERNAL",
"updatedAt": "2026-02-12T12:51:42.689Z"
},
"amlScreening": {},
"amount": null,
"amountPaid": null,
"amountUSD": "0.00",
"asset": null,
"assetSwept": null,
"assetSweptAmount": null,
"assetSweptAt": null,
"assetSweptGasFee": null,
"assetSweptHash": null,
"assetSweptRecipientAddress": null,
"assetSweptSenderAddress": null,
"blockHash": null,
"blockNumber": null,
"blockchain": {
"configurations": null,
"createdAt": "2024-05-14T11:53:33.095Z",
"derivationPath": "m/44'/60'/0'/0",
"id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
"isActive": true,
"isEvmCompatible": true,
"isL2": false,
"name": "ethereum",
"networkFeeModel": "native",
"slug": "ethereum",
"symbol": "eth",
"tokenStandard": "ERC20",
"updatedAt": "2024-11-26T13:04:13.936Z"
},
"chainId": 11155111,
"confirmations": null,
"confirmed": true,
"createdAt": "2026-03-02T11:41:46.464Z",
"createdChannel": "dashboard",
"currency": "USD",
"fee": null,
"feeHash": null,
"feeUSD": null,
"gasFee": null,
"gasPrice": null,
"gasUsed": null,
"hash": "0xe7e84b6b03bf075fa43a3fc87a5418683944852ad9238f202d86c18493c5211d7d8c7d22edbcb144bcd296cf57c4fb091afeb6215473f01b84026ceef9e9188d1c",
"id": "81379b62-aeef-4658-a0c5-bc70150c67d7",
"isAutoSweep": false,
"metadata": null,
"network": "testnet",
"note": null,
"processingProviderReference": null,
"processingReason": null,
"processingStatus": "PENDING",
"rate": null,
"rateUSD": "0.00",
"reason": "I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.",
"recipientAddress": "0x88922E6BA19C0676E46522111102D5eC26b33702",
"reference": "i2FBaizevHMqy56jy9Ft",
"senderAddress": "0x88922E6BA19C0676E46522111102D5eC26b33702",
"signedTransaction": {
"r": "0xe7e84b6b03bf075fa43a3fc87a5418683944852ad9238f202d86c18493c5211d",
"s": "0x7d8c7d22edbcb144bcd296cf57c4fb091afeb6215473f01b84026ceef9e9188d",
"signature": "0xe7e84b6b03bf075fa43a3fc87a5418683944852ad9238f202d86c18493c5211d7d8c7d22edbcb144bcd296cf57c4fb091afeb6215473f01b84026ceef9e9188d1c",
"v": 28
},
"status": "SUCCESS",
"toAmount": null,
"toCurrency": null,
"tokenAddress": null,
"type": "SIGNED",
"updatedAt": "2026-03-02T11:41:46.464Z",
"wallet": {
"address": "0xC887a3Cb8E7AbA4A77D7275AD4B242f71cbd5446",
"configurations": null,
"createdAt": "2024-05-15T06:09:24.777Z",
"derivationPath": "m/44'/60'/0'/0/0",
"description": "Yooooo",
"id": "3f9aca5c-38ee-4e1d-ab67-c084a2e37bb2",
"isActive": true,
"name": "updated wallet yeah",
"network": "testnet",
"status": "ACTIVE",
"updatedAt": "2025-08-18T22:36:21.156Z"
}
},
"message": "Message signed successfully",
"statusCode": 200
}Child Address Message
Child Address Message
POST
/
v1
/
wallets
/
{id}
/
addresses
/
{addressId}
/
signing
/
message
Child Address Message
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": "I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.",
"metadata": "OPTIONAL_METADATA",
"note": "OPTIONAL_NOTE"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message"
payload = {
"message": "I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.",
"metadata": "OPTIONAL_METADATA",
"note": "OPTIONAL_NOTE"
}
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({
message: 'I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.',
metadata: 'OPTIONAL_METADATA',
note: 'OPTIONAL_NOTE'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message', 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.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message",
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([
'message' => 'I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.',
'metadata' => 'OPTIONAL_METADATA',
'note' => 'OPTIONAL_NOTE'
]),
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.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message"
payload := strings.NewReader("{\n \"message\": \"I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.\",\n \"metadata\": \"OPTIONAL_METADATA\",\n \"note\": \"OPTIONAL_NOTE\"\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.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.\",\n \"metadata\": \"OPTIONAL_METADATA\",\n \"note\": \"OPTIONAL_NOTE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/message")
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 \"message\": \"I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.\",\n \"metadata\": \"OPTIONAL_METADATA\",\n \"note\": \"OPTIONAL_NOTE\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"address": {
"address": "0x88922E6BA19C0676E46522111102D5eC26b33702",
"configurations": {
"aml": {
"message": "Address is not sanctioned",
"provider": "ofac, fbi, tether, circle",
"status": "success"
},
"autoSettlement": {
"isActive": false,
"rules": []
},
"disableAutoSweep": false,
"enableGaslessWithdraw": false,
"showPrivateKey": false
},
"createdAt": "2026-02-12T12:51:42.689Z",
"derivationPath": "m/44'/60'/0'/0/49",
"id": "68a0eb35-9d3a-4d9e-8a4c-10b1a57c3b80",
"isActive": true,
"metadata": null,
"name": null,
"network": "testnet",
"type": "INTERNAL",
"updatedAt": "2026-02-12T12:51:42.689Z"
},
"amlScreening": {},
"amount": null,
"amountPaid": null,
"amountUSD": "0.00",
"asset": null,
"assetSwept": null,
"assetSweptAmount": null,
"assetSweptAt": null,
"assetSweptGasFee": null,
"assetSweptHash": null,
"assetSweptRecipientAddress": null,
"assetSweptSenderAddress": null,
"blockHash": null,
"blockNumber": null,
"blockchain": {
"configurations": null,
"createdAt": "2024-05-14T11:53:33.095Z",
"derivationPath": "m/44'/60'/0'/0",
"id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
"isActive": true,
"isEvmCompatible": true,
"isL2": false,
"name": "ethereum",
"networkFeeModel": "native",
"slug": "ethereum",
"symbol": "eth",
"tokenStandard": "ERC20",
"updatedAt": "2024-11-26T13:04:13.936Z"
},
"chainId": 11155111,
"confirmations": null,
"confirmed": true,
"createdAt": "2026-03-02T11:41:46.464Z",
"createdChannel": "dashboard",
"currency": "USD",
"fee": null,
"feeHash": null,
"feeUSD": null,
"gasFee": null,
"gasPrice": null,
"gasUsed": null,
"hash": "0xe7e84b6b03bf075fa43a3fc87a5418683944852ad9238f202d86c18493c5211d7d8c7d22edbcb144bcd296cf57c4fb091afeb6215473f01b84026ceef9e9188d1c",
"id": "81379b62-aeef-4658-a0c5-bc70150c67d7",
"isAutoSweep": false,
"metadata": null,
"network": "testnet",
"note": null,
"processingProviderReference": null,
"processingReason": null,
"processingStatus": "PENDING",
"rate": null,
"rateUSD": "0.00",
"reason": "I am verifying ownership of the wallet address 0x... as customer cust_123. This message was signed on 2026-03-03 to confirm my control over this wallet.",
"recipientAddress": "0x88922E6BA19C0676E46522111102D5eC26b33702",
"reference": "i2FBaizevHMqy56jy9Ft",
"senderAddress": "0x88922E6BA19C0676E46522111102D5eC26b33702",
"signedTransaction": {
"r": "0xe7e84b6b03bf075fa43a3fc87a5418683944852ad9238f202d86c18493c5211d",
"s": "0x7d8c7d22edbcb144bcd296cf57c4fb091afeb6215473f01b84026ceef9e9188d",
"signature": "0xe7e84b6b03bf075fa43a3fc87a5418683944852ad9238f202d86c18493c5211d7d8c7d22edbcb144bcd296cf57c4fb091afeb6215473f01b84026ceef9e9188d1c",
"v": 28
},
"status": "SUCCESS",
"toAmount": null,
"toCurrency": null,
"tokenAddress": null,
"type": "SIGNED",
"updatedAt": "2026-03-02T11:41:46.464Z",
"wallet": {
"address": "0xC887a3Cb8E7AbA4A77D7275AD4B242f71cbd5446",
"configurations": null,
"createdAt": "2024-05-15T06:09:24.777Z",
"derivationPath": "m/44'/60'/0'/0/0",
"description": "Yooooo",
"id": "3f9aca5c-38ee-4e1d-ab67-c084a2e37bb2",
"isActive": true,
"name": "updated wallet yeah",
"network": "testnet",
"status": "ACTIVE",
"updatedAt": "2025-08-18T22:36:21.156Z"
}
},
"message": "Message signed successfully",
"statusCode": 200
}Authorizations
Path Parameters
Example:
"YOUR_WALLET_ID"
Example:
"ADDRESS_OR_ID"
Body
application/json
⌘I

