curl --request GET \
--url https://api.satora.io/swap/{id}import requests
url = "https://api.satora.io/swap/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.satora.io/swap/{id}', 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.satora.io/swap/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.satora.io/swap/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.satora.io/swap/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.satora.io/swap/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"arkade_htlc_script_version": 123,
"arkade_server_pk": "<string>",
"arkade_vhtlc_address": "<string>",
"asset_amount": 123,
"btc_htlc_address": "<string>",
"btc_htlc_script_version": 123,
"btc_refund_locktime": 123,
"created_at": "2023-11-07T05:31:56Z",
"fee_sats": 123,
"hash_lock": "<string>",
"id": "<string>",
"network": "<string>",
"sats_receive": 123,
"server_vhtlc_pk": "<string>",
"source_amount": "<string>",
"source_token": {
"chain": "Arkade",
"decimals": 1,
"name": "<string>",
"symbol": "<string>",
"token_id": "btc"
},
"status": "pending",
"target_amount": "<string>",
"target_arkade_address": "<string>",
"target_token": {
"chain": "Arkade",
"decimals": 1,
"name": "<string>",
"symbol": "<string>",
"token_id": "btc"
},
"unilateral_claim_delay": 123,
"unilateral_refund_delay": 123,
"unilateral_refund_without_receiver_delay": 123,
"vhtlc_refund_locktime": 123,
"direction": "btc_to_arkade",
"arkade_claim_txid": "<string>",
"arkade_fund_txid": "<string>",
"btc_claim_txid": "<string>",
"btc_fund_txid": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Get swap status and details by ID
curl --request GET \
--url https://api.satora.io/swap/{id}import requests
url = "https://api.satora.io/swap/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.satora.io/swap/{id}', 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.satora.io/swap/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.satora.io/swap/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.satora.io/swap/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.satora.io/swap/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"arkade_htlc_script_version": 123,
"arkade_server_pk": "<string>",
"arkade_vhtlc_address": "<string>",
"asset_amount": 123,
"btc_htlc_address": "<string>",
"btc_htlc_script_version": 123,
"btc_refund_locktime": 123,
"created_at": "2023-11-07T05:31:56Z",
"fee_sats": 123,
"hash_lock": "<string>",
"id": "<string>",
"network": "<string>",
"sats_receive": 123,
"server_vhtlc_pk": "<string>",
"source_amount": "<string>",
"source_token": {
"chain": "Arkade",
"decimals": 1,
"name": "<string>",
"symbol": "<string>",
"token_id": "btc"
},
"status": "pending",
"target_amount": "<string>",
"target_arkade_address": "<string>",
"target_token": {
"chain": "Arkade",
"decimals": 1,
"name": "<string>",
"symbol": "<string>",
"token_id": "btc"
},
"unilateral_claim_delay": 123,
"unilateral_refund_delay": 123,
"unilateral_refund_without_receiver_delay": 123,
"vhtlc_refund_locktime": 123,
"direction": "btc_to_arkade",
"arkade_claim_txid": "<string>",
"arkade_fund_txid": "<string>",
"btc_claim_txid": "<string>",
"btc_fund_txid": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Path Parameters
Swap ID
Response
Swap found successfully
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
BTC → Arkade swap response
Arkade server's public key
Arkade VHTLC address
Amount user must send in satoshis
Deprecated: please use [target_amount]
On-chain Bitcoin HTLC P2WSH address (user sends BTC here)
On-chain refund locktime (unix timestamp)
Timestamp of when the swap was created
Protocol fee in satoshis
Hash lock (32-byte hex, no 0x prefix)
Unique swap identifier
Bitcoin network
Amount user will receive on Arkade in satoshis
Server's VHTLC public key (sender in the VHTLC)
Amount user must send in satoshis
Source token info
Show child attributes
Show child attributes
Current status of the swap
pending, clientfundingseen, clientfunded, clientrefunded, serverfunded, clientredeeming, clientredeemed, serverredeemed, clientfundedserverrefunded, clientrefundedserverfunded, clientrefundedserverrefunded, expired, clientinvalidfunded, clientfundedtoolate, serverwontfund, clientredeemedandclientrefunded Amount the user will receive
User's target Arkade address
Target token info
Show child attributes
Show child attributes
Unilateral claim delay in seconds
Unilateral refund delay in seconds
Unilateral refund without receiver delay in seconds
VHTLC refund locktime (unix timestamp)
btc_to_arkade Arkade VHTLC claim transaction ID (user claim)
Arkade VHTLC fund transaction ID
On-chain claim transaction ID (server claim)
On-chain funding transaction ID