Get Unsigned Swap PSBT

Get unsigned PSBT

post
Header parameters
AuthorizationstringOptional

token

User-IdstringOptional
Body
send_coin_typestringRequired
send_tickstringRequired
send_amountstringRequired
receive_coin_typestringRequired
receive_tickstringRequired
receive_amountstringRequired
addressstringRequired
slipperintegerRequired
fee_rateintegerRequired
user_public_keystringRequired
chlstringRequired
methodstringOptional

Use swap for non-routing, pools_swap for routing. Default pools_swap

tokenstringRequired
btc_addressstringRequired
Responses
200
Success
application/json
post
POST /brc20swap/get_swap_psbt2 HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 483

{
  "receive_amount": "9074",
  "receive_coin_type": "runes",
  "receive_tick": "SHE•SHE•SHE•SHE•SHE",
  "send_amount": "100000",
  "send_coin_type": "btc",
  "send_tick": "BTC",
  "slipper": 9,
  "fee_rate": 2,
  "token": "ee1fbac24400000:0",
  "user_public_key": "02d3ac7452920b1cc4653516dd4f4381a2df0a8c0aac6e3446e633a73ea63eee81:02d3ac7452920b1cc4653516dd4f4381a2df0a8c0aac6e3446e633a73ea63eee81",
  "address": "tb1qge80xavle7c7k0tk7vceaavwcgpsr3jchl0w3e",
  "btc_address": "tb1qge80xavle7c7k0tk7vceaavwcgpsr3jchl0w3e"
}
{
  "code": 0,
  "msg": "",
  "data": {
    "order_id": "swap_1072414914196275200",
    "psbt": "cHNidP8BAP3kAQIAAAAGY7oaL8gccUMryZKGtrngwmB/X560uaP4UbuD75PQxlMBAAAAAP/////8IMVNQszZOrx8TR8VyYjZQLY11iIi4jAka6zAI59z7wUAAAAA//////wgxU1CzNk6vHxNHxXJiNlAtjXWIiLiMCRrrMAjn3PvAgAAAAD//////CDFTULM2Tq8fE0fFcmI2UC2NdYiIuIwJGuswCOfc+8BAAAAAP/////8IMVNQszZOrx8TR8VyYjZQLY11iIi4jAka6zAI59z7wQAAAAA//////wgxU1CzNk6vHxNHxXJiNlAtjXWIiLiMCRrrMAjn3PvAwAAAAD/////B0oBAAAAAAAAFgAUAYlgdU80lDqo/6jMzcVuGodfoSdKAQAAAAAAABYAFAGJYHVPNJQ6qP+ozM3FbhqHX6EnSgEAAAAAAAAWABQBiWB1TzSUOqj/qMzNxW4ah1+hJ0oBAAAAAAAAFgAURk7zdZ/Pses9dvMxnvWOwgMBxlgAAAAAAAAAABVqXRIAspoEDfJGAwAAtAIBAAC0AgLIiwEAAAAAACJRIAYWGj9nocZ7GjlVDA5sFWhS8i6cm/xnqpUQEKJ83DJKRWw3AAAAAAAWABRGTvN1n8+x6z128zGe9Y7CAwHGWAAAAAAAAQEf0Ps4AAAAAAAWABRGTvN1n8+x6z128zGe9Y7CAwHGWAEDBAEAAAAAAQEfSgEAAAAAAAAWABQBiWB1TzSUOqj/qMzNxW4ah1+hJwEDBAEAAAAAAQEfSgEAAAAAAAAWABQBiWB1TzSUOqj/qMzNxW4ah1+hJwEDBAEAAAAAAQEfSgEAAAAAAAAWABQBiWB1TzSUOqj/qMzNxW4ah1+hJwEDBAEAAAAAAQEfSgEAAAAAAAAWABQBiWB1TzSUOqj/qMzNxW4ah1+hJwEDBAEAAAAAAQEfSgEAAAAAAAAWABQBiWB1TzSUOqj/qMzNxW4ah1+hJwEDBAEAAAAAAAAAAAAAAA==",
    "check_sign_only": false
  },
  "req_id": "1887761713347338240"
}

export interface SwapPsbtBody {
  send_coin_type: string;
  send_tick: string;
  send_amount: string;
  receive_coin_type: string;
  receive_tick: string;
  receive_amount: string;
  address: string;
  btc_address: string;
  slipper: string;
  fee_rate: number;
  user_public_key: string;
  token: string; // swap-info拿到的token
}

Important Notes:

  1. After obtaining the unsigned PSBT, the user must sign it within 30 seconds.

  2. Use the same address for both btc_address and address.

  3. For user_public_key, provide the parameter as public_key:public_key for a wallet with one address, or btc_public_key:ordi_public_key for a wallet with two addresses.

  4. The token must be retrieved from the /swap-info endpoint and can only be used once.

Last updated