Dry-Run Transaction
curl --request POST \
--url https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run \
--header 'Content-Type: application/json' \
--data '
{
"accountId": "w9jh0gf3w9qaxlre7enezt17",
"externalId": "w2u573pjj5wl97p4v325z4a",
"transactionType": "withdrawal",
"description": "Withdrawal to an exchange",
"expiresAt": "1753370264978",
"params": {
"assetId": "<string>"
}
}
'import requests
url = "https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run"
payload = {
"accountId": "w9jh0gf3w9qaxlre7enezt17",
"externalId": "w2u573pjj5wl97p4v325z4a",
"transactionType": "withdrawal",
"description": "Withdrawal to an exchange",
"expiresAt": "1753370264978",
"params": { "assetId": "<string>" }
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
accountId: 'w9jh0gf3w9qaxlre7enezt17',
externalId: 'w2u573pjj5wl97p4v325z4a',
transactionType: 'withdrawal',
description: 'Withdrawal to an exchange',
expiresAt: '1753370264978',
params: {assetId: '<string>'}
})
};
fetch('https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run', 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.bron.org/workspaces/{workspaceId}/transactions/dry-run",
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([
'accountId' => 'w9jh0gf3w9qaxlre7enezt17',
'externalId' => 'w2u573pjj5wl97p4v325z4a',
'transactionType' => 'withdrawal',
'description' => 'Withdrawal to an exchange',
'expiresAt' => '1753370264978',
'params' => [
'assetId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"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://api.bron.org/workspaces/{workspaceId}/transactions/dry-run"
payload := strings.NewReader("{\n \"accountId\": \"w9jh0gf3w9qaxlre7enezt17\",\n \"externalId\": \"w2u573pjj5wl97p4v325z4a\",\n \"transactionType\": \"withdrawal\",\n \"description\": \"Withdrawal to an exchange\",\n \"expiresAt\": \"1753370264978\",\n \"params\": {\n \"assetId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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.bron.org/workspaces/{workspaceId}/transactions/dry-run")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"w9jh0gf3w9qaxlre7enezt17\",\n \"externalId\": \"w2u573pjj5wl97p4v325z4a\",\n \"transactionType\": \"withdrawal\",\n \"description\": \"Withdrawal to an exchange\",\n \"expiresAt\": \"1753370264978\",\n \"params\": {\n \"assetId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountId\": \"w9jh0gf3w9qaxlre7enezt17\",\n \"externalId\": \"w2u573pjj5wl97p4v325z4a\",\n \"transactionType\": \"withdrawal\",\n \"description\": \"Withdrawal to an exchange\",\n \"expiresAt\": \"1753370264978\",\n \"params\": {\n \"assetId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"accountId": "<string>",
"transactionType": "deposit",
"description": "Withdrawal to an exchange",
"estimations": [
{
"assetId": "<string>",
"createdAt": "<string>",
"estimationId": "<string>",
"eventType": "in",
"transactionId": "<string>",
"amount": "<string>",
"extra": {
"allowance": [
{
"address": "<string>",
"amount": "<string>",
"networkId": "<string>",
"unlimited": true
}
],
"in": [
{
"address": "<string>",
"amount": "<string>",
"fromAccountId": "<string>",
"fromAddressBookRecordId": "<string>",
"networkId": "<string>"
}
],
"out": [
{
"address": "<string>",
"amount": "<string>",
"memo": "<string>",
"networkId": "<string>",
"toAccountId": "<string>",
"toAddressBookRecordId": "<string>"
}
],
"rewardInfo": {},
"signingMessage": {
"message": "<string>",
"version": "<string>"
},
"stakeInfo": [
{}
],
"transactionFailed": true,
"walletStateInit": "<string>"
},
"networkId": "<string>",
"symbol": "<string>",
"usdAmount": "<string>"
}
],
"externalId": "<string>",
"extra": {
"approvers": {
"approvedBy": [
"<string>"
],
"availableApprovers": [
"<string>"
],
"limitId": "w2u573pjj5wl97p4v325z4a9",
"number": "2",
"securityDelayDuration": "<string>",
"securityDelayExpiresAt": "<string>",
"skipApproval": true
},
"blockchainDetails": [
{
"blockchainTxId": "b79aae771ec6b779d97b10911bd938f5e18a92732c106e9dab4e33cd21ef7fb0",
"networkId": "BTC"
}
],
"blockchainRequest": {
"externalBroadcast": true,
"networkId": "<string>"
},
"bronLock": {
"burn": {
"redeemRequestId": "<string>",
"releaseBlockchainTxId": "<string>",
"releaseSigningRequestId": "<string>",
"releaseTransactionId": "<string>"
}
},
"confirmations": "12",
"depositTransactionId": "j1r166mwjfxe6fejw4i2ucwm",
"description": "Withdrawal to an exchange",
"fromAccountId": "w9jh0gf3w9qaxlre7enezt17",
"fromAddress": "TSz8S8sfhWbaDKVH5bVM1U2rekX3Gr2zxY",
"fromWorkspaceIcon": "<string>",
"fromWorkspaceName": "<string>",
"fromWorkspaceTag": "bron",
"memo": "<string>",
"signingRequestId": "<string>",
"toAccountId": "t2pm9t9x4k0a3h353f369jk8",
"toAddress": "tb1qaprk5xy6t0m8yjdlnxscxqn9ek23uaej09eeax",
"toWorkspaceIcon": "<string>",
"toWorkspaceName": "<string>",
"toWorkspaceTag": "tesla",
"withdrawTransactionId": "altfrg6powi52w53sd7ts8vf"
},
"params": {},
"warning": {
"message": "<string>",
"code": "<string>"
}
}{
"error": "bad-request",
"message": "<string>"
}{
"error": "forbidden",
"message": "<string>"
}{
"error": "conflict",
"message": "<string>"
}Dry-Run Transaction
Simulate (test) transaction execution, returns estimations without executing the transaction
API Key permissions: Transaction Operator, Full AccessPOST
/
workspaces
/
{workspaceId}
/
transactions
/
dry-run
Dry-Run Transaction
curl --request POST \
--url https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run \
--header 'Content-Type: application/json' \
--data '
{
"accountId": "w9jh0gf3w9qaxlre7enezt17",
"externalId": "w2u573pjj5wl97p4v325z4a",
"transactionType": "withdrawal",
"description": "Withdrawal to an exchange",
"expiresAt": "1753370264978",
"params": {
"assetId": "<string>"
}
}
'import requests
url = "https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run"
payload = {
"accountId": "w9jh0gf3w9qaxlre7enezt17",
"externalId": "w2u573pjj5wl97p4v325z4a",
"transactionType": "withdrawal",
"description": "Withdrawal to an exchange",
"expiresAt": "1753370264978",
"params": { "assetId": "<string>" }
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
accountId: 'w9jh0gf3w9qaxlre7enezt17',
externalId: 'w2u573pjj5wl97p4v325z4a',
transactionType: 'withdrawal',
description: 'Withdrawal to an exchange',
expiresAt: '1753370264978',
params: {assetId: '<string>'}
})
};
fetch('https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run', 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.bron.org/workspaces/{workspaceId}/transactions/dry-run",
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([
'accountId' => 'w9jh0gf3w9qaxlre7enezt17',
'externalId' => 'w2u573pjj5wl97p4v325z4a',
'transactionType' => 'withdrawal',
'description' => 'Withdrawal to an exchange',
'expiresAt' => '1753370264978',
'params' => [
'assetId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"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://api.bron.org/workspaces/{workspaceId}/transactions/dry-run"
payload := strings.NewReader("{\n \"accountId\": \"w9jh0gf3w9qaxlre7enezt17\",\n \"externalId\": \"w2u573pjj5wl97p4v325z4a\",\n \"transactionType\": \"withdrawal\",\n \"description\": \"Withdrawal to an exchange\",\n \"expiresAt\": \"1753370264978\",\n \"params\": {\n \"assetId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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.bron.org/workspaces/{workspaceId}/transactions/dry-run")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"w9jh0gf3w9qaxlre7enezt17\",\n \"externalId\": \"w2u573pjj5wl97p4v325z4a\",\n \"transactionType\": \"withdrawal\",\n \"description\": \"Withdrawal to an exchange\",\n \"expiresAt\": \"1753370264978\",\n \"params\": {\n \"assetId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bron.org/workspaces/{workspaceId}/transactions/dry-run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountId\": \"w9jh0gf3w9qaxlre7enezt17\",\n \"externalId\": \"w2u573pjj5wl97p4v325z4a\",\n \"transactionType\": \"withdrawal\",\n \"description\": \"Withdrawal to an exchange\",\n \"expiresAt\": \"1753370264978\",\n \"params\": {\n \"assetId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"accountId": "<string>",
"transactionType": "deposit",
"description": "Withdrawal to an exchange",
"estimations": [
{
"assetId": "<string>",
"createdAt": "<string>",
"estimationId": "<string>",
"eventType": "in",
"transactionId": "<string>",
"amount": "<string>",
"extra": {
"allowance": [
{
"address": "<string>",
"amount": "<string>",
"networkId": "<string>",
"unlimited": true
}
],
"in": [
{
"address": "<string>",
"amount": "<string>",
"fromAccountId": "<string>",
"fromAddressBookRecordId": "<string>",
"networkId": "<string>"
}
],
"out": [
{
"address": "<string>",
"amount": "<string>",
"memo": "<string>",
"networkId": "<string>",
"toAccountId": "<string>",
"toAddressBookRecordId": "<string>"
}
],
"rewardInfo": {},
"signingMessage": {
"message": "<string>",
"version": "<string>"
},
"stakeInfo": [
{}
],
"transactionFailed": true,
"walletStateInit": "<string>"
},
"networkId": "<string>",
"symbol": "<string>",
"usdAmount": "<string>"
}
],
"externalId": "<string>",
"extra": {
"approvers": {
"approvedBy": [
"<string>"
],
"availableApprovers": [
"<string>"
],
"limitId": "w2u573pjj5wl97p4v325z4a9",
"number": "2",
"securityDelayDuration": "<string>",
"securityDelayExpiresAt": "<string>",
"skipApproval": true
},
"blockchainDetails": [
{
"blockchainTxId": "b79aae771ec6b779d97b10911bd938f5e18a92732c106e9dab4e33cd21ef7fb0",
"networkId": "BTC"
}
],
"blockchainRequest": {
"externalBroadcast": true,
"networkId": "<string>"
},
"bronLock": {
"burn": {
"redeemRequestId": "<string>",
"releaseBlockchainTxId": "<string>",
"releaseSigningRequestId": "<string>",
"releaseTransactionId": "<string>"
}
},
"confirmations": "12",
"depositTransactionId": "j1r166mwjfxe6fejw4i2ucwm",
"description": "Withdrawal to an exchange",
"fromAccountId": "w9jh0gf3w9qaxlre7enezt17",
"fromAddress": "TSz8S8sfhWbaDKVH5bVM1U2rekX3Gr2zxY",
"fromWorkspaceIcon": "<string>",
"fromWorkspaceName": "<string>",
"fromWorkspaceTag": "bron",
"memo": "<string>",
"signingRequestId": "<string>",
"toAccountId": "t2pm9t9x4k0a3h353f369jk8",
"toAddress": "tb1qaprk5xy6t0m8yjdlnxscxqn9ek23uaej09eeax",
"toWorkspaceIcon": "<string>",
"toWorkspaceName": "<string>",
"toWorkspaceTag": "tesla",
"withdrawTransactionId": "altfrg6powi52w53sd7ts8vf"
},
"params": {},
"warning": {
"message": "<string>",
"code": "<string>"
}
}{
"error": "bad-request",
"message": "<string>"
}{
"error": "forbidden",
"message": "<string>"
}{
"error": "conflict",
"message": "<string>"
}Path Parameters
Body
application/json
The id of the account where the transaction should be placed
Example:
"w9jh0gf3w9qaxlre7enezt17"
Unique transaction identifier from client (should be unique per the account)
Example:
"w2u573pjj5wl97p4v325z4a"
The transaction type. See details
Available options:
deposit, withdrawal, multi-withdrawal, negative-deposit, auto-withdrawal, allowance, defi, defi-message, address-activation, address-creation, stake-delegation, stake-undelegation, stake-claim, stake-withdrawal, stake-take-reward, stake-earn-reward, swap-lifi, intents, intent-solver-settlement, loyalty-lock, loyalty-unlock, loyalty-collect-rewards, canton-reward, nft-deposit, nft-withdrawal, nft-allowance, fiat-out, fiat-in, bridge, earn-buy, earn-sell, power-bank-crypto-top-up, power-bank-card-top-up, power-bank-usage Example:
"withdrawal"
The description of the transaction
Example:
"Withdrawal to an exchange"
Optional expiration time for the transaction
Example:
"1753370264978"
Transaction specific parameters
- Address activation
- Address creation
- Allowance
- Bridge
- DeFi message signing (WalletConnect)
- DeFi transaction (WalletConnect)
- Intent
- Intent solver settlement
- NFT Allowance
- NFT Transfer
- Stake claim
- Stake delegation
- Stake undelegation
- Stake release
- Swap
- Transfer
Show child attributes
Show child attributes
Response
OK
Available options:
deposit, withdrawal, multi-withdrawal, negative-deposit, auto-withdrawal, allowance, defi, defi-message, address-activation, address-creation, stake-delegation, stake-undelegation, stake-claim, stake-withdrawal, stake-take-reward, stake-earn-reward, swap-lifi, intents, intent-solver-settlement, loyalty-lock, loyalty-unlock, loyalty-collect-rewards, canton-reward, nft-deposit, nft-withdrawal, nft-allowance, fiat-out, fiat-in, bridge, earn-buy, earn-sell, power-bank-crypto-top-up, power-bank-card-top-up, power-bank-usage The description of the transaction
Example:
"Withdrawal to an exchange"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
⌘I
