SideSwap API documentation
SideSwap API provides JSON RPC v2.0 - https://www.jsonrpc.org/specification (please note that JSON RPC batch requests are not supported).
API is available over WebSocket transports - wss://api.sideswap.io/json-rpc-ws
Testnet API server - wss://api-testnet.sideswap.io/json-rpc-ws
All examples show values from Elements regtest or testnet network. Production server uses Liquid network and so addresses and asset IDs will look different.
Timestamp
value is a number of milliseconds since Unix epoch (1 January 1970 UTC).
Peg-in/out
Peg-in/out
Initiating new order
Method name - peg
Example request:
{
"id": 1,
"method": "peg",
"params": {
"peg_in": true,
"recv_addr": "AzprnS16TAsG7agu3aUwPywS2Ry6mzwBbngDDeob5S3ibciAjHZJKBxx8VmuN9W1XCzT1HBXMsBs4WSe"
}
}
Example response:
{
"id": 1,
"method": "peg",
"result": {
"created_at": 1620801008204,
"expires_at": 0,
"order_id": "379277a67b43320c4f73614323c9a533c7988edc368a7224559f272461fa1209",
"peg_addr": "Azpr42G6VpHn6KrTVa94Q1Lh2vxx3Yhx6rrbfmARmEdBsYvhJ88W4sQL9rzWigqRojHxfqQFEb2ghyux",
"recv_amount": null
}
}
Input
Parameter | Type | Description |
---|---|---|
peg_in |
bool | Peg-in/peg-out flag. |
recv_addr |
string | Output address that will receive converted funds (L-BTC for peg-in, BTC for peg-out). |
Output
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
peg_addr |
string | Address to send (BTC for peg-in, L-BTC for peg-out). |
created_at |
timestamp | Timestamp when order was created. |
expires_at |
timestamp | Not used. |
recv_amount |
null | Internal. |
Monitoring status updates
Method name - peg_status
(update notifications available).
Example request:
{
"id": 1,
"method": "peg_status",
"params": {
"peg_in": false,
"order_id": "379277a67b43320c4f73614323c9a533c7988edc368a7224559f272461fa1209"
}
}
Example response:
{
"id": 1,
"method": "peg_status",
"result": {
"addr": "Azpr42G6VpHn6KrTVa94Q1Lh2vxx3Yhx6rrbfmARmEdBsYvhJ88W4sQL9rzWigqRojHxfqQFEb2ghyux",
"addr_recv": "bcrt1qmrpdwm8dl3azmwpls5cfagtu67k3y9vmxpn6l8",
"created_at": 1620801008204,
"expires_at": 0,
"list": [
{
"amount": 10000,
"created_at": 1620801122049,
"detected_confs": null,
"payout": null,
"payout_txid": null,
"status": "Insufficient amount",
"total_confs": null,
"tx_hash": "945d6f834767e4e0ee452103ce0c5bca20807c4d2509c5a1ece3008a17592518",
"tx_state": "InsufficientAmount",
"tx_state_code": 1,
"vout": 0
},
{
"amount": 100000,
"created_at": 1620801127153,
"detected_confs": 0,
"payout": 99900,
"payout_txid": null,
"status": "0/2",
"total_confs": 2,
"tx_hash": "eda3265f4bd1e764e769832c9bf4d50135719cb8cff835f724ef0222c126dfdc",
"tx_state": "Detected",
"tx_state_code": 2,
"vout": 1
}
],
"order_id": "379277a67b43320c4f73614323c9a533c7988edc368a7224559f272461fa1209",
"peg_in": false
}
}
Input
Parameter | Type | Description |
---|---|---|
peg_in |
bool | Peg-in/peg-out flag. |
order_id |
string | Order ID. |
Output
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
addr |
string | Address to send. |
addr_recv |
string | Address that will receive converted peg. |
created_at |
timestamp | See above. |
expires_at |
timestamp | Not used. |
list |
array | List of Transaction objects. Empty list means no transactions were detected so far (pending state). |
Transaction object:
Parameter | Type | Description |
---|---|---|
tx_hash |
string | Transaction id from submitted transaction made by order requestor. |
vout |
number | Transaction output index. |
status |
string | Transaction status. |
amount |
number | Amount that was sent. |
payout |
number | Amount that will be received. Could be 0 if input amount is less than peg minimum. |
payout_txid |
optional string | Payout txid (avaialble for Done state only). |
created_at |
number | Timestamp when transaction was detected. |
tx_state |
enum | See below. |
tx_state_code |
number | See below. |
detected_confs |
optional number | Detect number of transaction confirmations. Available for Detected state only (and null otherwise). 0 for zero confirmation transaction. |
total_confs |
optional number | Required total number of transaction confirmations before starting processing. Available for Detected state only (and null otherwise). |
Possible tx_state
and tx_state_code
values:
tx_state |
tx_state_code |
Description |
---|---|---|
InsufficientAmount |
1 | Output amount does not cover network fee and so is discarded (final state). |
Detected |
2 | Transaction was detected and will be processed after required confirmation count. |
Processing |
3 | Required confirmation count detected and transaction is processing now. |
Done |
4 | Payout is made by the server (final state). |
Server status
Monitoring server status updates
Method name - server_status
(update notifications available).
Example request:
{
"id": 1,
"method": "server_status",
"params": null
}
Example response:
{
"id": 1,
"method": "server_status",
"result": {
"elements_fee_rate": 0.000001,
"min_peg_in_amount": 1286,
"min_peg_out_amount": 100000,
"server_fee_percent_peg_in": 0.1,
"server_fee_percent_peg_out": 0.1
}
}
Input
Empty
Output
Parameter | Type | Description |
---|---|---|
elements_fee_rate |
number | Internal |
min_peg_in_amount |
number | Minimum amount to send for BTC/L-BTC conversions. |
min_peg_out_amount |
number | Minimum amount to send for L-BTC/BTC conversions. |
server_fee_percent_peg_in |
number | Server fee for Peg-In orders in percents. |
server_fee_percent_peg_out |
number | Server fee for Peg-Out orders in percents. |
Available assets
List assets avaiable for atomic swaps.
Method name - assets
.
Example request:
{
"id": 4,
"method": "assets",
"params": {
"embedded_icons": false
}
}
Example response:
{
"id": 4,
"method": "assets",
"result": {
"assets": [
{
"asset_id": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"domain": null,
"icon": null,
"icon_url": "https://api-testnet.sideswap.io/assets/icons/L-BTC.png",
"instant_swaps": false,
"name": "Liquid Bitcoin",
"precision": 8,
"ticker": "L-BTC"
},
{
"asset_id": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"domain": null,
"icon": null,
"icon_url": "https://api-testnet.sideswap.io/assets/icons/USDt.png",
"instant_swaps": true,
"name": "Tether USD",
"precision": 8,
"ticker": "USDt"
},
{
"asset_id": "58af36e1b529b42f3e4ccce812924380058cae18b2ad26c89805813a9db25980",
"domain": null,
"icon": null,
"icon_url": "https://api-testnet.sideswap.io/assets/icons/EURx.png",
"instant_swaps": true,
"name": "EURx",
"precision": 8,
"ticker": "EURx"
}
]
}
}
Input (optional)
Parameter | Type | Description |
---|---|---|
embedded_icons |
bool | Embed asset icons in the response or not (PNG in base64 encoding). |
Output
Parameter | Type | Description |
---|---|---|
assets |
array | Assets list. |
asset_id |
string | Elements Asset ID. |
icon |
string | Icon in PNG format (base64 encoded). |
name |
string | Human readable name (for UI only). |
precision |
number | Precision (digit count after decimal point) to represent amounts (for UI only). |
ticker |
string | Ticker symbol (for UI only). |
domain |
optional string | Issuer's domain. |
icon_url |
string | URL wher asset icon could be downloaded from. |
instant_swaps |
bool | Whether asset could be used in instant swaps. |
Available AMP assets
List AMP assets avaiable for atomic swaps.
Method name - amp_assets
.
Example request:
{
"id": 4,
"method": "amp_assets",
"params": {
"embedded_icons": false
}
}
Example response:
{
"id": 4,
"method": "amp_assets",
"result": {
"assets": [
{
"asset_id": "639ed77089105bcfe434d47f7368d87f53f30a45fc3cff7463105d152bb4d3b1",
"domain": "pegx.io",
"icon": null,
"icon_url": "https://api-testnet.sideswap.io/assets/icons/blank.png",
"instant_swaps": false,
"name": "Transfer Restricted Testnet Asset",
"precision": 0,
"ticker": "PXTR"
},
{
"asset_id": "e7af57b566c7555b246719109a4355a614e0c1112f9706abd50dae01ecdcd3e3",
"domain": "pegx.io",
"icon": null,
"icon_url": "https://api-testnet.sideswap.io/assets/icons/blank.png",
"instant_swaps": false,
"name": "Transfer Restricted Testnet Asset 2",
"precision": 2,
"ticker": "PXTR2"
}
]
}
}
Input
Same as in assets
Output
Same as in assets
Subscribing to index price
Use to get bitcoin index price in selected asset (for example amount of USDt
for 1 bitcoin).
Could be only used with registered on server assets (except L-BTC
) from the assets
method call.
ind
field could be null
in case of server errors or if price stream is not available.
After subscribing server will start sending update notifications whenever index price changes or becomes unavailable.
Method name - load_prices
.
Example request:
{
"id": 1,
"method": "load_prices",
"params": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a"
}
}
Example response:
{
"id": 1,
"method": "load_prices",
"result": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a",
"ind": 35886.01669665012
}
}
Example notification:
{
"method": "update_prices",
"params": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a",
"ind": 35889.52053039702
}
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Elements Asset ID. |
Output
Parameter | Type | Description |
---|---|---|
asset |
string | Elements Asset ID. |
ind |
optional number | Index price (could be null ). |
Notification
Same as response.
Unsubscribing from index price
This method could be used to stop index price broadcast.
Method always succeeds (if valid asset
value is used, see load_prices
request for details).
Method name - cancel_prices
.
Example request:
{
"id": 1,
"method": "cancel_prices",
"params": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a"
}
}
Example response:
{
"id": 1,
"method": "cancel_prices",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Elements Asset ID. |
Output
Empty
P2P swaps
Submitting order
Used to start creating P2P order on the server. The order will not be available to other clients until UTXOs and receiving address are submitted (see pset_maker
request).
The server will automatically remove the order if:
UTXO(s) are detected as consumed.
New order is submitted with same UTXO(s).
UTXO(s) are not enough to cover new price for index price tracking orders (only for bitcoin buy requests).
Allowed P2P assets:
Stablecoin market assets (all assets from
assets
response except L-BTC). L-BTC buy and sell orders. Price in asset for 1 L-BTC. Any ofasset_amount
orbitcoin_amount
could be set.AMP market assets (all assets from
amp_assets
response). Asset buy and sell orders. Price in L-BTC for 1 asset.Token market assets (all remaining assets from Blockstream GDK registry). Only sell asset orders. Price in L-BTC for 1 asset.
In submit requests for AMP and token market orders asset_amount
must be set and bitcoin_amount
must be null
.
Blockstream GDK registry URL: Mainnet, Testnet
Method name - submit
.
Example request:
{
"id": 1,
"method": "submit",
"params": {
"order": {
"index_price": null,
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"price": 47200,
"bitcoin_amount": 0.0001
}
}
}
Example response:
{
"id": 1,
"method": "submit",
"result": {
"details": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"asset_amount": 472000000,
"bitcoin_amount": 10000,
"market": "Stablecoin",
"order_type": "Bitcoin",
"price": 47200.0,
"send_bitcoins": false,
"server_fee": 500,
"side": "Maker"
},
"order_id": "6f48199fce3931982a9161fd539113fd36c389b9fa05d69a67d1d09d7840216e"
}
}
Input
Parameter | Type | Description |
---|---|---|
order |
object | Order amounts object. |
session_id |
optonal string | Must be set if web-socket connection is not assotiated with valid session ID (see login request for details). |
Order amounts object
Minimum bitcoin amount is 0.00002 L-BTC (2000 satoshi).
Parameter | Type | Description |
---|---|---|
bitcoin_amount |
optional number | Bitcoin amount as a float number. Use positive amount for buy L-BTC requests and negative amount for sell requests. Must be null if asset_amount is set. |
asset_amount |
optional number | Asset amount as a float number. Use positive amount for buy asset requests and negative amount for sell requests. Must be null if bitcoin_amount is set. |
asset |
string | Trading asset ID (must be known on server and can't be L-BTC ). |
price |
optional number | Initial price. Could be null if index_price is set and index price is available on the server. If set must be within 3% if index price is avaialble on server. |
index_price |
optional number | If set the server will update order price automatically from index price using index_price as a coefficient. Valid range from 0.99 to 1.01 (inclusive). |
Output
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID from the request. |
details |
object | Order details object. |
Order details
Bitcoin sender will send bitcoin_amount
+ server_fee
and bitcoin receiver will get bitcoin_amount
- server_fee
(so the total server fee will be 2 * server_fee
).
Network transaction fee is paid from the total server fee.
server_fee
is 0.1% of bitcoin_amount
or 0.000005 L-BTC (500 sathoshi) (whichever is bigger).
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID. |
asset_amount |
number | Asset amount in satoshi (bitcoin_amount multiplied by price and rounded to a whole number in satoshi). |
bitcoin_amount |
number | Bitcoin amount in satoshi. |
price |
number | Bitcoin price (user supplied or server generated from index_price ). |
send_bitcoins |
bool | Where or not this side sends bitcoins. |
server_fee |
number | Server fee in satoshi. |
side |
enum | Requestor for the maker side and Responder for the taker side. |
order_type |
enum | Bitcoin or Asset depending on what was specified in the submit request (bitcoin_amount or asset_amount ). |
market |
enum | Stablecoin , Amp or Token . |
Edit price request
Could be used to edit own order's price. Client must be logged-in. The server will return an error if own UTXOs are not enough to cover new price (and only if index price tracking is not used).
Method name - edit
.
Example request:
{
"id": 3,
"method": "edit",
"params": {
"order_id": "7415e06d01e65fff4197cf7a1fb37ecbf1c65ba4fec7763948f657d3059d7681",
"price": 36000
}
}
{
"id": 3,
"method": "edit",
"params": {
"order_id": "7415e06d01e65fff4197cf7a1fb37ecbf1c65ba4fec7763948f657d3059d7681",
"index_price": 1.005
}
}
Example response:
{
"id": 3,
"method": "edit",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
price |
optional number | New price. Must be set for manually edited price. |
index_price |
optional number | New index price. Must be set for index price tracking orders. |
Output
Empty
Cancel order request
Could be used to cancel own order. Web-connection must have associated session. Orders waiting for the responder's sign can not be cancelled.
Method name - cancel
.
Example request:
{
"id": 3,
"method": "cancel",
"params": {
"order_id": "7415e06d01e65fff4197cf7a1fb37ecbf1c65ba4fec7763948f657d3059d7681",
}
}
Example response:
{
"id": 3,
"method": "cancel",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
Output
Empty
Login request
Use login request to start new or resume old session. Order update notifications will be send for this session connection. Same session ID could be used from different connections.
Method name - login
.
Example request:
{
"id": 10,
"method": "login",
"params": {
"session_id": "8cde45b75743b8aafe9d341ba907e0cc7201b0815a5b7fad0b7053468d5216e1"
}
}
Example response:
{
"id": 10,
"method": "login",
"result": {
"orders": [
{
"created_at": 1641213966996,
"details": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"asset_amount": 473000000,
"bitcoin_amount": 10000,
"market": "Stablecoin",
"order_type": "Bitcoin",
"price": 47300.0,
"send_bitcoins": true,
"server_fee": 500,
"side": "Taker"
},
"expires_at": 1641300366996,
"order_id": "6f48199fce3931982a9161fd539113fd36c389b9fa05d69a67d1d09d7840216e",
"own": {
"index_price": null,
"private": false
}
}
],
"session_id": "8cde45b75743b8aafe9d341ba907e0cc7201b0815a5b7fad0b7053468d5216e1"
}
}
Input
Parameter | Type | Description |
---|---|---|
session_id |
optonal string | Set session ID to resume it if needed. |
Output
Parameter | Type | Description |
---|---|---|
session_id |
string | Session ID. |
orders |
array | List of own submitted and active orders. |
Submitted order object
Parameter | Type | Description |
---|---|---|
created_at |
number | Timestamp when order have been created. |
expires_at |
number | Timestamp when order will expire. |
details |
object | Order details object. |
order_id |
string | Order ID. |
own |
optional object | Own order details. |
Own order details
Parameter | Type | Description |
---|---|---|
index_price |
optional number | Index price coefficient. Set for price tracking orders only. |
Subscribe to market request
Use subscribe request to receive order updates for the selected market.
Method name - subscribe
.
Example request:
{
"id": 12,
"method": "subscribe",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73"
}
}
Example response:
{
"id": 12,
"method": "subscribe",
"result": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"orders": [
{
"created_at": 1641214105793,
"details": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"asset_amount": 4785252225,
"bitcoin_amount": 100000,
"market": "Stablecoin",
"order_type": "Bitcoin",
"price": 47852.522249999995,
"send_bitcoins": false,
"server_fee": 500,
"side": "Taker"
},
"expires_at": 1641215905793,
"order_id": "43e2167189270291deba9876737f41b78fdddd81670a2c845442ae2f4e81672a",
"own": null
},
{
"created_at": 1641214110040,
"details": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"asset_amount": 4667086404,
"bitcoin_amount": 100000,
"market": "Stablecoin",
"order_type": "Bitcoin",
"price": 46670.86404207252,
"send_bitcoins": true,
"server_fee": 500,
"side": "Taker"
},
"expires_at": 1641215910040,
"order_id": "0892a06c5ee2f5272ce0077ad84e18df8fa455489e0669d358c13e14eae971ed",
"own": null
}
]
}
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID (must be known on server and can't be L-BTC). |
Output
Parameter | Type | Description |
---|---|---|
asset |
string | Elements Asset ID from the request. |
orders |
array | List of active orders for the selected market (will not include own orders). |
Unsubscribing from market request
Use unsubscribe request to stop receiving order updates for the selected market.
Method name - unsubscribe
.
Example request:
{
"id": 1,
"method": "unsubscribe",
"params": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a"
}
}
Example response:
{
"id": 1,
"method": "unsubscribe",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID from assets or amp_assets response (can't be L-BTC). |
Output
Empty
Order created notification
Notification name - order_created
.
Example notification:
{
"method": "order_created",
"params": {
"created_at": 1623051976702,
"details": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a",
"asset_amount": 10045599116,
"bitcoin_amount": 280211,
"price": 35850.12406947891,
"send_bitcoins": true,
"server_fee": 500,
"side": "Responder"
},
"expires_at": 1623053776702,
"order_id": "b1e565a93bfd03a0b7ca5dd57d58c211c004a9508075d4d35075619b6c536a35",
"own": null
}
}
Notification
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
created_at |
number | Timestamp when order have been created. |
expires_at |
number | Timestamp when order will expire. |
details |
object | Order details object. |
own |
optional object | Own order details. |
Order removed notification
Notification name - order_removed
Example notification:
{
"method": "order_removed",
"params": {
"order_id": "b1e565a93bfd03a0b7ca5dd57d58c211c004a9508075d4d35075619b6c536a35"
}
}
Notification
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
Getting order details request
Could be used to get order details.
Method name - link
.
Example request:
{
"id": 1,
"method": "link",
"params": {
"order_id": "26832dc593241a6caa030da45cc39087b42c9a36e5598c640220417a6dcb7d8f"
}
}
Example response:
{
"id": 1,
"method": "link",
"result": {
"order_id": "26832dc593241a6caa030da45cc39087b42c9a36e5598c640220417a6dcb7d8f",
"details": {
"asset": "ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a",
"asset_amount": 17813411410,
"bitcoin_amount": 497037,
"price": 35839.20595533498,
"send_bitcoins": true,
"server_fee": 500,
"side": "Responder"
},
"index_price": false
}
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
Output
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
details |
object | Order details object. |
index_price |
bool | Will set to true if the order is waiting for the requestor details and it uses index price tracking. |
Submitting order UTXOs (maker)
Method name - pset_maker
.
Example request:
{
"id": 1,
"method": "pset_maker",
"params": {
"order_id": "9a5cfec49062ad54b904e875e81228b87f6df6efcd52ea6d352214e9ec3cc867",
"price": 47896.0613625,
"private": false,
"ttl_seconds": null,
"inputs": [
{
"txid": "396dc63e1699c642db56872365104f0d0d52fb82b3014394363606b09a2c4d02",
"vout": 1,
"asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"asset_bf": "4308c2b0aa0cd8652f40608c9f3508eaef0b5a4a398fbbb6e074681e6861f030",
"value": 99500,
"value_bf": "60485efcb470b7470c9386f8214d6d9f44a9ae9a1b92e77f2759aedaacb73c9b",
"redeem_script": "00142db3787c8b15390c5135c42e7a518627f76f603e"
},
{
"txid": "bfb69e9864b6d66a9bbfce18f7a9a03b6654d19b7c235dc389d995c1e2809fb0",
"vout": 2,
"asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"asset_bf": "6cff677121aac40f418e1f13e814d1e3204af5319358cc71147412c4fa802dca",
"value": 1450,
"value_bf": "41ffa2f39b23a6783f35c49b940ae14ee451d5840507f2f01a1d6eced34cdc67",
"redeem_script": "0014e9c39ab1c9c91bfa227672419c228dadc33a0854"
}
],
"recv_addr": "vjU4wrNLri6K8EcD44tvMfo9HJKaaVqVpQF8m8b4FioQADJv83znDpcB7fAA3emEs5rUms2tz7hi11XG",
"recv_gaid": null,
"change_addr": "vjTwq9zEC3r9UGY728JPtoRyLJpZHsxVkFggP8Wax6V9eLSSr1Qk4ai7bhHfUKBkNjkWfUT5NEWB4adS"
}
}
Example response:
{
"id": 1,
"method": "pset_maker",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
private |
bool | Set if order is private. |
recv_addr |
optional string | Receiving address. Must be null when receiving AMP asset and set otherwise. |
recv_gaid |
optional string | Receiving AMP ID. Must be set when receiving AMP asset and empty otherwise. |
change_addr |
string | Change address. |
ttl_seconds |
optional number | Order TTL in seconds. If set must be in 60..86400 range (inclusive). |
price |
number | Selected price. |
inputs |
array | List of UTXO details. See below. |
Output
Empty
Submitting order UTXOs (taker)
Method name - pset_taker
.
Example request:
{
"id": 1,
"method": "pset_taker",
"params": {
"order_id": "9a5cfec49062ad54b904e875e81228b87f6df6efcd52ea6d352214e9ec3cc867",
"price": 47885.935987499994,
"inputs": [
{
"txid": "bbad91b1e614df00fbe5137e241f3fdbdf36152cb8b0755cc98976ed4905df87",
"vout": 3,
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"asset_bf": "3cbe1b756e71bb7c8a2e75749ff432bd262d91abdf493dda8283068137b4b825",
"value": 4720355000,
"value_bf": "f004f07d262f5fc23368c1a6d0b66276af9ec8b47c93ffbbcfce40c7ffaba782",
"redeem_script": "00142fc73658fc1f688f552a77fefe778b4d9f0f6f5c"
},
{
"txid": "b467a712e84ae765664c4ae51c6e061fab03dd92f658acefde9c3cd99a8e4e9b",
"vout": 0,
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"asset_bf": "ab174b755eb6d61245f165f91b2f385bb829e8216a3a51edda04dd1c3d42443e",
"value": 100000000,
"value_bf": "311526f4f7b8e5167383ce64d22256f469fc7b302f92332415f3524b2a06d5b4",
"redeem_script": "0014995d00433b2692737b2d20aa7a7c43e32eb596db"
}
],
"recv_addr": "vjU3UUbebzX4RdFUw4pxyCAfoM9AdHpKMh6AmdVyDcwosQU1RUrm68HonThvnGg9Ypx6mZmXyMBeMtP9",
"recv_gaid": null,
"change_addr": "vjTzkQhge22Fp849YHJgY6XRz8M5EEKTXGLnWwLZhK3CH7StHxmeFSzATLg9tPFn9MsXEkuryPv5Hukh"
}
}
Example response:
{
"id": 1,
"method": "pset_taker",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
recv_addr |
optional string | Receiving address. Must be null when receiving AMP asset and set otherwise. |
recv_gaid |
optional string | Receiving AMP ID. Must be set when receiving AMP asset and empty otherwise. |
change_addr |
string | Change address. |
price |
number | Selected price. |
inputs |
array | List of UTXO details. See below. |
Output
Empty
Sign request notification
Notification name - sign
Example notification:
{
"method": "sign",
"params": {
"order_id": "9a5cfec49062ad54b904e875e81228b87f6df6efcd52ea6d352214e9ec3cc867",
"pset": "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",
"details": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"bitcoin_amount": 100000,
"asset_amount": 4788593599,
"price": 47885.935987499994,
"server_fee": 500,
"side": "Maker",
"send_bitcoins": true,
"order_type": "Bitcoin",
"market": "Stablecoin"
},
"nonces": null
}
}
Notification
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
pset |
strign | PSET to sign. |
details |
object | Order details object. |
nonces |
array | Blinded transaction nonces. Only set when receiving AMP asset. |
Sign request
Used to upload signed PSET.
Method name - sign
.
Example request:
{
"id": 1,
"method": "sign",
"params": {
"order_id": "9a5cfec49062ad54b904e875e81228b87f6df6efcd52ea6d352214e9ec3cc867",
"signed_pset": "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",
"side": "Maker"
}
}
Example response:
{
"id": 1,
"method": "sign",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
signed_pset |
string | Signed PSET. |
side |
enum | Requestor for the maker side and Responder for the taker side. |
Output
Empty
Order complete notification
Notification name - complete
Example notification:
{
"method": "complete",
"params": {
"order_id": "b1e565a93bfd03a0b7ca5dd57d58c211c004a9508075d4d35075619b6c536a35",
"txid": "03e5b7de4543a7c118bc38528854ff211eb332c57c63968030b64b29d71ee7e7"
}
}
Notification
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
txid |
optional string | Transaction ID if swap succeed. |
Instant swaps
Subscribing to price stream
Use to get swap offers for the selected asset, amount and direction.
Could be only used with assets (except L-BTC
) from the assets
method call.
After subscribing server will start sending update notifications whenever swap offer changes or becomes unavailable.
Set send_amount
to see how much would be receiced after the swap or set recv_amount
to see how much should be sent.
If both send_amount
and recv_amount
are null
then the server will broadcast expected price without actual amounts.
All amounts are in satoshi.
Method name - subscribe_price_stream
.
Example request:
{
"id": 1,
"method": "subscribe_price_stream",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"send_bitcoins": true,
"send_amount": 1000000
}
}
Example response:
{
"id": 1,
"method": "subscribe_price_stream",
"result": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"error_msg": null,
"fixed_fee": 666,
"price": 46568.73449131513,
"recv_amount": 46537719714,
"send_amount": 1000000,
"send_bitcoins": true,
"subscribe_id": null
}
}
Example notification:
{
"method": "update_price_stream",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"error_msg": null,
"fixed_fee": 666,
"price": 46570.71960297767,
"recv_amount": 46539703504,
"send_amount": 1000000,
"send_bitcoins": true,
"subscribe_id": null
}
}
Input
Parameter | Type | Description |
---|---|---|
subscribe_id |
optional string | Could be used to subscribe to multiple price streams at once. |
asset |
string | Asset ID that will be swapped for L-BTC. |
send_bitcoins |
bool | Set whether selling or buying bitcoins. |
send_amount |
optional number | Send asset amount. |
recv_amount |
optional number | Receive asset amount. |
Output
Parameter | Type | Description |
---|---|---|
subscribe_id |
optional string | subscribe_id value from the request. |
asset |
string | Same as in the request. |
send_bitcoins |
bool | Same as in the request. |
send_amount |
optional number | How much would be sent if swap is possible and some swap amount was specified. |
recv_amount |
optional number | How much would be received if swap is possible and some swap amount was specified. |
fixed_fee |
optional number | Fixed server fee amount in L-BTC if swap is possible. Already included in send_amount or recv_amount depeding on send_bitcoins value. |
price |
optional number | Swap price in asset amount for 1 L-BTC. |
error_msg |
optional number | Error message if swap is not possible. |
Notification
Same as response. Sent from the server when there are price stream changes.
Unsubscribing from price stream
This method could be used to stop price stream broadcast.
Example request:
{
"id": 1,
"method": "unsubscribe_price_stream",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73"
}
}
Example response:
{
"id": 1,
"method": "unsubscribe_price_stream",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
subscribe_id |
optional string | Could be used to unsubscribe from the selected price stream. |
asset |
string | Asset ID that (for example ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a for USDt). |
Output
Empty
Starting swap
Use to initiate instant swap.
Actual swap amounts should be taken from the price stream (See subscribe_price_stream
for details) withing 30 seconds period.
All remaining steps are done using HTTP REST requests.
To continue instant swap in SideSwap App (or in other supported clients) render output values in QR code or deep link. Example:
https://app.sideswap.io/swap/?order_id=5390dd8c02870cf499d195a3bdcee53b09d0eb1a566caaf5ab7ee16c3696d15a&send_asset=144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49&send_amount=10000&recv_asset=b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73&recv_amount=433755381&upload_url=https%3A%2F%2Fapi-testnet.sideswap.io%2Fjson-rpc
Example request:
{
"id": 1,
"method": "start_swap_web",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"send_bitcoins": true,
"price": 46500.24813895782,
"send_amount": 100000,
"recv_amount": 4619055649
}
}
Example response:
{
"id": 1,
"method": "start_swap_web",
"result": {
"order_id": "68c820e3b4d1efdf9d2c8b0529ac9275e7c6f3a0f08fa1e3a156b7325a501474",
"recv_amount": 4619055649,
"recv_asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"send_amount": 100000,
"send_asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"upload_url": "https://api-testnet.sideswap.io/json-rpc"
}
}
Example notification:
{
"method": "swap_done",
"params": {
"network_fee": 350,
"order_id": "3615841e7a350f9b67aeaddc758e840397bed3dd9e91b41e168be99663fabdea",
"price": 46530.024813895776,
"recv_amount": 434311252,
"recv_asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"send_amount": 10000,
"send_asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"status": "Success",
"txid": "5c7f134d1969fa6b12407e67a779c0699cdc74f2277c7cb2d521599c492b378b"
}
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID that (for example ac1775bb717c60a9a4adc3587bd166350e016938b1e34f4b8e2e490dfd03817a for USDt). |
send_bitcoins |
bool | Set if selling or buying bitcoins. |
price |
number | Used price from the selected offer. |
send_amount |
number | Send asset amount. |
recv_amount |
number | Receive asset amount. |
Output
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
send_asset |
string | Sending asset ID. |
send_amount |
number | Sending amount. |
recv_asset |
string | Receiving asset ID. |
recv_amount |
number | Receiving amount. |
upload_url |
string | Upload URL for external clients. |
Notification
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
status |
enum | See below. |
price |
number | Requested swap price. |
send_asset |
string | Sending asset ID. |
send_amount |
number | Sending amount. |
recv_asset |
string | Receiving asset ID. |
recv_amount |
number | Receiving amount. |
txid |
optional string | Transaction ID if swap succeed. |
network_fee |
optional number | Transaction network fee if swap succeed. |
Possible status
values:
tx_state |
Description |
---|---|
Success |
Swap succeed. |
ClientError |
Swap failed because of client error. |
DealerError |
Swap failed because of dealer error. |
ServerError |
Swap failed because of server error. |
Uploading swap inputs
Send HTTP POST request to upload_url
with UTXO list and receiving/change addresses.
Only confindential (blinded) inputs and addresses allowed. UTXOs must be native or nested segwit.
Example request:
{
"id": null,
"method": "swap_start",
"params": {
"change_addr": "vjU2rZonjuLkeHoQLjFgsvZ5xW6TimtVx9HiMG3d3RHh129tNws8a4ycBjoEwC8ZyQ4r7mdNUYjKwxwb",
"inputs": [
{
"asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"asset_bf": "4ca6956f687d9f9782f66b1c1bd7fca4f00dcb223b284709cbe2231504635ecf",
"redeem_script": "00149d5600b470f19766b5e274593032ff95ec89dcaf",
"txid": "57a4eeffc0661bc1c1d8d17991c3b2873e5d71fccc1bb0bb56066e84c6cd2a5b",
"value": 9500,
"value_bf": "6004bdb33395f514d8eff59a68dbd8020c5c0e9898bab1add1d5063edfc45772",
"vout": 2
},
{
"asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"asset_bf": "5fc1f10e6d58d6564a068dbc1c97014e665febe9f7d9fcb06ccaf9872b398507",
"redeem_script": "00144e20d0ea9a4e9908c1be307b8f90e5e85881b0fa",
"txid": "a5b7e8ada7fc92fc74bc148f975f754cfd60f5b4dcb3f711907b4836ff8e3912",
"value": 675,
"value_bf": "d1f5207cc2eaf6fcc178e6efbbfdf4f5eed134122c300122d063ac604e84d349",
"vout": 2
}
],
"order_id": "157ac63280bd34df772afb068b88f6d2e03f944ab35469e20454a745c3ba80f5",
"recv_addr": "vjU1mt8iv7b3jqiM5kQ238PNw2K37bJ16tfHyXm6g6e3j4z3UGww9kgjWqMubKBFuYpNPTth2QaXWKYz",
"recv_amount": 435784310,
"recv_asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"send_amount": 10000,
"send_asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49"
}
}
Example response:
{
"id": null,
"method": "swap_start",
"result": {
"submit_id": "d0dca42ea73ecc9dfa6070d2e89257d778bf848bafce86a632b141641b2158e6",
"pset": "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"
}
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID from the start_swap_web response. |
inputs |
array | List of UTXO details. See below. |
send_asset |
string | Sending asset. |
send_amount |
number | Send asset amount. |
change_addr |
string | Change address (will receive change output if send_amount is less than total inputs amount). |
recv_asset |
string | Receiving asset. |
recv_amount |
number | Receive asset amount. |
recv_addr |
string | Receive address. |
UTXO details
Parameter | Type | Description |
---|---|---|
txid |
number | UTXO transaction ID. |
vout |
number | UTXO vout. |
redeem_script |
optional string | Redeem script for nested segwit inputs. |
asset |
string | UTXO asset ID. |
asset_bf |
array | Asset blinding factor. |
value |
string | UTXO value. |
value_bf |
string | Value blinding factor. |
Output
Parameter | Type | Description |
---|---|---|
submit_id |
string | Submit ID. |
pset |
string | PSETv2 that should be signed. |
Uploading signed PSET
Send HTTP POST request to upload_url
with signed PSET.
Example request:
{
"id": null,
"method": "swap_sign",
"params": {
"order_id": "157ac63280bd34df772afb068b88f6d2e03f944ab35469e20454a745c3ba80f5",
"pset": "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",
"submit_id": "d0dca42ea73ecc9dfa6070d2e89257d778bf848bafce86a632b141641b2158e6"
}
}
Example response:
{
"id": null,
"method": "swap_sign",
"result": {
"txid": "c414b735f66dafab03c796dfdafda51074e3f6068549a48b0a8adbc18c49a97b"
}
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID from the start_swap_web response. |
submit_id |
string | Order ID from the swap_start response. |
pset |
string | PSET with signed inputs. |
Output
Parameter | Type | Description |
---|---|---|
txid |
string | Transaction ID. |
Market data
Subscribing to market data stream
Use to get a data list of close, high, low and open values. After subscribing server will start sending update notifications whenever market data changes or becomes unavailable.
Method name - market_data_subscribe
.
Example request:
{
"id": 1,
"method": "market_data_subscribe",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
}
}
Example response:
{
"id": 1,
"method": "market_data_subscribe",
"result": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"data": [{
"close":6173.3,
"high":6396.7,
"low":5254.5,
"open":5398.0,
"time":"2020-03-19",
"volume":0.0
}]
}
}
Example notification:
{
"method": "market_data_update",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73",
"update":{
"close":17447.0,
"high":17507.0,
"low":17094.0,
"open":17212.0,
"time":"2022-12-13",
"volume":0.0
}
}
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID that will be swapped for L-BTC. |
Output
Parameter | Type | Description |
---|---|---|
id |
optional string | id value from the request. |
asset |
string | Same as in the request. |
data |
list | List of json objects |
close |
number | Close value |
high |
number | High value |
low |
number | Low value |
open |
number | Open value |
time |
string | Date |
volume |
number | Volume value |
Notification
Same as response. Sent from the server when there are market data stream changes.
Unsubscribing from market data stream
This method could be used to stop market data stream broadcast.
Example request:
{
"id": 1,
"method": "market_data_unsubscribe",
"params": {
"asset": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73"
}
}
Example response:
{
"id": 1,
"method": "market_data_unsubscribe",
"result": null
}
Input
Parameter | Type | Description |
---|---|---|
asset |
string | Asset ID that (for example b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73 ). |
Output
Empty
PayJoin
PayJoin API can be used to make transactions when your wallet does not have L-BTC UTXOs for network fees. SideSwap server provides L-BTC UTXOs in exchange for some selected assets. Currently USDt and EURx are accepted.
It works as follows:
- Client initiates a new PayJoin request specifying the selected
asset_id
(which the server accepts). - Server returns list of confidential L-BTC UTXOs with blinding factors,
price
andfixed_fee
for asset fee calculation and two confidential addresses. - Client constructs PSET with own inputs and outputs.
- Client sends unsigned PSET to server.
- Server verifies PSET and returns PSET with signed L-BTC inputs.
- Client signs its inputs and sends the transaction to the network.
An optional output is added to the server address for the L-BTC change (can be omitted if there is no L-BTC change). A mandatory output is added to the other server address with the asset fee. Outputs are then optionally blinded (client may prefer unblinded outputs to reduce transaction size and network fee).
Server verifies two own outputs like this:
- Optional L-BTC change is calculated as sum of all L-BTC inputs minus network fee.
- Mandatory asset output must be at least
network_fee
*price
+fixed_fee
(some tolerance for rounding errors is allowed).
Where:
price
is the indicative price of L-BTC in USDt or EURx (e.g. 41234.56) returned by the server.fixed_fee
is fixed fee in selected asset (currently 0.1), returned by the server.network_fee
is the network fee of the transaction (selected by the client).
All communication with the server is done by sending POST requests to the PayJoin API endpoint:
- Production server:
https://api.sideswap.io/payjoin
- Testnet server:
https://api-testnet.sideswap.io/payjoin
Failed requests return an HTTP response with status 400 (Bad Request) and a JSON message in this format:
{"error":"asset b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d74 is not allowed"}
Reference PayJoin client implementation (in Rust) from the SideSwap Client available at our GitHub repo.
Get accepted assets
Get a list of accepted assets (currently USDt and EURx).
Example request:
{
"accepted_assets": {}
}
Example response:
{
"accepted_assets": {
"accepted_asset": [
{
"asset_id": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d73"
},
{
"asset_id": "58af36e1b529b42f3e4ccce812924380058cae18b2ad26c89805813a9db25980"
}
]
}
}
Input
Empty
Output
Parameter | Type | Description |
---|---|---|
asset_id |
string | Asset ID of the accepted asset. |
Start a new PayJoin transaction
This method should be used to start a new PayJoin transaction.
Example request:
{
"start": {
"asset_id": "b612eb46313a2cd6ebabd8b7a8eed5696e29898b87a43bff41c94f51acef9d74",
"user_agent": "Test UA"
}
}
Example response:
{
"start": {
"order_id": "00c4dd1191c0351872d70214d0c7c7568b44acf47c607e355f96d771290e480b",
"expires_at": 1701761017943,
"price": 41586.67209367245,
"fixed_fee": 10000000,
"fee_address": "vjU7ts3xSN8ApboiK8FRQN7D2YTmoY5qahsqtn3VZKEY1njftQi3TtuEHjq2FBwqPRCN6aasR11r2awu",
"change_address": "vjU8CY4zyiMjRZz9Zw4urbYnKYcSHwuCFYYgpJGzwwGZwTV5e4MjmdSQqdaPvg4bxQ7ALq5hu8nUmdsk",
"utxos": [
{
"txid": "af34b26e162de48958ce2bb9340b6d2ef2ddad7cda5aedc70ea92454d3b1f52a",
"vout": 0,
"script_pub_key": "a914a7820fc76318224d73f6ed07ebe773c17848339987",
"asset_id": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"value": 450,
"asset_bf": "809e3cd1628c05376e7e6f8480d1e04ba9af836455591d91b0b7aced87332acb",
"value_bf": "e07a860c42a556b9a3d48908428ed8c735f289eafdca52a3dfd4a0b060fc1795",
"asset_commitment": "0a6547dc12e10f61d86ef133a900c28249ce77bd91b9f8fae3f05d5f90cb601937",
"value_commitment": "08dd59ff4e01db1dbe03def61b2037045d0ba2438363f775770798fc22cdafd4be"
},
{
"txid": "39271a22cd033d2b69768a20ff1fed95762c28f3d8c28c8927be8fd1a235d61d",
"vout": 2,
"script_pub_key": "a914e34a8183f10a7d8bd7f36a269e5f4d12efe54eb587",
"asset_id": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
"value": 450,
"asset_bf": "e28ccb5b83fc83be253810fff42a92fe34d018543d899861caa6b1201c236301",
"value_bf": "07c0c58126c4c00f696b9fd8a72d9b9a8bdf2361d8ca86d62142fbb07d07514e",
"asset_commitment": "0a493e8f3de68c028538f49aa84fe4c78e448a41bae55e27e3b16716fe482ac743",
"value_commitment": "092922b5dfa6ee07f4cf1a549bbe5dc4f40172dd60ac2d44954a29fa5703073bde"
}
]
}
}
Input
Parameter | Type | Description |
---|---|---|
asset_id |
string | Selected asset ID. |
user_agent |
string | Arbitrary user agent string. |
Output
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
user_agent |
string | Arbitrary user agent string. |
expires_at |
number | Timestamp when order will expire. |
price |
number | The L-BTC price in the selected asset that should be used to calculate the server fee in the selected asset. |
fixed_fee |
number | The fixed asset fee that should be used to calculate the server fee in the selected asset. |
fee_address |
string | Confidential address for server asset output. |
change_address |
string | Confidential address for L-BTC change output. |
utxos |
List of L-BTC UTXOs. |
Sign PSET
This method should be used to get the signed PSET.
Example request:
{
"order_id": "",
"pset": "PSET..."
}
Example response:
{
"pset": "PSET..."
}
Input
Parameter | Type | Description |
---|---|---|
order_id |
string | Order ID. |
pset |
string | Unsigned PSET in base64 encoding. |
Output
Parameter | Type | Description |
---|---|---|
pset |
string | PSET with signed L-BTC inputs (in base64 encoding). |