Child Address Broadcast Transaction
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"transaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...",
"reference": "sol-child-broadcast-001",
"metadata": {
"source": "jupiter"
}
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast"
payload = {
"transaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...",
"reference": "sol-child-broadcast-001",
"metadata": { "source": "jupiter" }
}
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({
transaction: 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...',
reference: 'sol-child-broadcast-001',
metadata: {source: 'jupiter'}
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast', 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/broadcast",
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([
'transaction' => 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...',
'reference' => 'sol-child-broadcast-001',
'metadata' => [
'source' => 'jupiter'
]
]),
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/broadcast"
payload := strings.NewReader("{\n \"transaction\": \"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...\",\n \"reference\": \"sol-child-broadcast-001\",\n \"metadata\": {\n \"source\": \"jupiter\"\n }\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/broadcast")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transaction\": \"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...\",\n \"reference\": \"sol-child-broadcast-001\",\n \"metadata\": {\n \"source\": \"jupiter\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast")
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 \"transaction\": \"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...\",\n \"reference\": \"sol-child-broadcast-001\",\n \"metadata\": {\n \"source\": \"jupiter\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Transaction signed and broadcast initiated",
"data": {
"id": "f3efdbaa-a1f8-4365-b3b4-768413c9a92b",
"reference": "sol-child-broadcast-001",
"senderAddress": "6NkEUDPS6TBkP1VSc2SZVRdtuARUFhQvMRz28RonytUG",
"recipientAddress": "6NkEUDPS6TBkP1VSc2SZVRdtuARUFhQvMRz28RonytUG",
"hash": "5bKNw9RX8aXkrK1VEHg5aPa1xtckpShPyenSRET4mUBXh5uCkWLFV5MhGRi4cMACDJvFn6VfkoKb75Pk4KYw6xtw",
"confirmed": false,
"status": "PENDING",
"type": "SIGNED",
"createdChannel": "api",
"reason": "Transaction signed and broadcast",
"network": "testnet",
"chainId": 103,
"metadata": null,
"signedTransaction": "AeWpW65y80rSu+TU0CSrcvFNovyDiybKRjSskCpfffAFLM0GIYzx...",
"amount": null,
"amountUSD": "0.00",
"fee": null,
"feeUSD": null,
"currency": "USD",
"createdAt": "2026-03-19T13:35:09.921Z",
"updatedAt": "2026-03-19T13:35:09.921Z",
"wallet": {
"id": "c72a6f21-6ab5-48ad-9f99-fd90a2d6d311",
"name": "Solana Testnet Wallet",
"address": "HKqZUT3wuyJrsPYmrYPcGduDdjXZTggbLrNsF9WHMvbw",
"isActive": true,
"status": "ACTIVE",
"network": "testnet"
},
"asset": null,
"blockchain": {
"id": "196badf5-380f-4480-ab4a-d0e4304e91f0",
"name": "solana",
"symbol": "sol",
"slug": "solana",
"isEvmCompatible": false,
"tokenStandard": null
},
"beneficiary": null
}
}{
"statusCode": 400,
"message": "Invalid transaction format: expected a base64-encoded Solana VersionedTransaction"
}Child Address Broadcast Transaction
Sign and broadcast a raw unsigned transaction from a child address. The transaction is signed and submitted on chain via a queue with automatic retries. Returns PENDING status with webhook notification on completion.
POST
/
v1
/
wallets
/
{id}
/
addresses
/
{addressId}
/
signing
/
broadcast
Child Address Broadcast Transaction
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"transaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...",
"reference": "sol-child-broadcast-001",
"metadata": {
"source": "jupiter"
}
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast"
payload = {
"transaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...",
"reference": "sol-child-broadcast-001",
"metadata": { "source": "jupiter" }
}
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({
transaction: 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...',
reference: 'sol-child-broadcast-001',
metadata: {source: 'jupiter'}
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast', 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/broadcast",
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([
'transaction' => 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...',
'reference' => 'sol-child-broadcast-001',
'metadata' => [
'source' => 'jupiter'
]
]),
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/broadcast"
payload := strings.NewReader("{\n \"transaction\": \"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...\",\n \"reference\": \"sol-child-broadcast-001\",\n \"metadata\": {\n \"source\": \"jupiter\"\n }\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/broadcast")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transaction\": \"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...\",\n \"reference\": \"sol-child-broadcast-001\",\n \"metadata\": {\n \"source\": \"jupiter\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/addresses/{addressId}/signing/broadcast")
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 \"transaction\": \"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...\",\n \"reference\": \"sol-child-broadcast-001\",\n \"metadata\": {\n \"source\": \"jupiter\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Transaction signed and broadcast initiated",
"data": {
"id": "f3efdbaa-a1f8-4365-b3b4-768413c9a92b",
"reference": "sol-child-broadcast-001",
"senderAddress": "6NkEUDPS6TBkP1VSc2SZVRdtuARUFhQvMRz28RonytUG",
"recipientAddress": "6NkEUDPS6TBkP1VSc2SZVRdtuARUFhQvMRz28RonytUG",
"hash": "5bKNw9RX8aXkrK1VEHg5aPa1xtckpShPyenSRET4mUBXh5uCkWLFV5MhGRi4cMACDJvFn6VfkoKb75Pk4KYw6xtw",
"confirmed": false,
"status": "PENDING",
"type": "SIGNED",
"createdChannel": "api",
"reason": "Transaction signed and broadcast",
"network": "testnet",
"chainId": 103,
"metadata": null,
"signedTransaction": "AeWpW65y80rSu+TU0CSrcvFNovyDiybKRjSskCpfffAFLM0GIYzx...",
"amount": null,
"amountUSD": "0.00",
"fee": null,
"feeUSD": null,
"currency": "USD",
"createdAt": "2026-03-19T13:35:09.921Z",
"updatedAt": "2026-03-19T13:35:09.921Z",
"wallet": {
"id": "c72a6f21-6ab5-48ad-9f99-fd90a2d6d311",
"name": "Solana Testnet Wallet",
"address": "HKqZUT3wuyJrsPYmrYPcGduDdjXZTggbLrNsF9WHMvbw",
"isActive": true,
"status": "ACTIVE",
"network": "testnet"
},
"asset": null,
"blockchain": {
"id": "196badf5-380f-4480-ab4a-d0e4304e91f0",
"name": "solana",
"symbol": "sol",
"slug": "solana",
"isEvmCompatible": false,
"tokenStandard": null
},
"beneficiary": null
}
}{
"statusCode": 400,
"message": "Invalid transaction format: expected a base64-encoded Solana VersionedTransaction"
}Authorizations
Path Parameters
Example:
"YOUR_WALLET_ID"
Example:
"ADDRESS_OR_ID"
Body
application/json
The serialized unsigned transaction. Base64 for Solana, JSON string for EVM and Tron, base64 transaction envelope XDR for Stellar. Stellar Soroban transactions must be simulated and assembled before submission.
Example:
"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..."
Your internal tracking ID.
Example:
"sol-child-broadcast-001"
Custom key-value pairs stored with the transaction record.
Example:
{ "source": "jupiter" }
⌘I

