BRC20

选择完币对,点击兑换时,如果是 BRC20,需要先请求预兑换接口

获取psbt方式兑换tx大小

post
/brc20swap/get_swap_psbt_txsize
Body
send_coin_typestringRequired
send_tickstringRequired
send_amountstringRequired
receive_coin_typestringRequired
receive_tickstringRequired
receive_amountstringRequired
addressstringRequired
slipperstringRequired
fee_rateintegerRequired
insstring[]Required

用brc20兑换的时候才需要输入

methodstringRequired

非跨池swap,跨池pools_swap, 只需传pools_swap即可

Responses
200Success
application/json
post
/brc20swap/get_swap_psbt_txsize
POST /brc20swap/get_swap_psbt_txsize HTTP/1.1
Host: test-api-proxy.ddpurse.com
Content-Type: application/json
Accept: */*
Content-Length: 216

{
  "send_coin_type": "text",
  "send_tick": "text",
  "send_amount": "text",
  "receive_coin_type": "text",
  "receive_tick": "text",
  "receive_amount": "text",
  "address": "text",
  "slipper": "text",
  "fee_rate": 1,
  "ins": [
    "text"
  ],
  "method": "text"
}
{
  "code": 1,
  "msg": "text",
  "data": {
    "tx_size": 1,
    "ins_contain_sats": 1,
    "checksum": "text",
    "vins": [
      "text"
    ],
    "usr_cnt": 1
  }
}

1、这个接口中的 addressbtc_address 传同一个地址即可

2、这个接口返回的结果,原值传到 get_swap_psbt 接口

3、注意当前 slipper (滑点)的限制为,不超过 12%

brc20获取兑换待签名psbt

post
/brc20swap/get_swap_psbt
Body
send_coin_typestringRequired
send_tickstringRequired
send_amountstringRequired
receive_coin_typestringRequired
receive_tickstringRequired
receive_amountstringRequired
addressstringRequired
slipperstringRequired
fee_rateintegerRequired
insstring[]Required

用brc20兑换的时候才需要输入

user_public_keystringRequired
tx_sizeintegerRequired

从get_swap_psbt_txsize接口获得

checksumintegerRequired

从get_swap_psbt_txsize接口获得

vinsstring[]Required

从get_swap_psbt_txsize接口获得

usr_cntintegerRequired

从get_swap_psbt_txsize接口获得

chlstringRequired
methodstringRequired

非跨池swap,跨池pools_swap, 只需传pools_swap即可

Responses
200Success
application/json
post
/brc20swap/get_swap_psbt
POST /brc20swap/get_swap_psbt HTTP/1.1
Host: test-api-proxy.ddpurse.com
Content-Type: application/json
Accept: */*
Content-Length: 307

{
  "send_coin_type": "text",
  "send_tick": "text",
  "send_amount": "text",
  "receive_coin_type": "text",
  "receive_tick": "text",
  "receive_amount": "text",
  "address": "text",
  "slipper": "text",
  "fee_rate": 1,
  "ins": [
    "text"
  ],
  "user_public_key": "text",
  "tx_size": 1,
  "checksum": 1,
  "vins": [
    "text"
  ],
  "usr_cnt": 1,
  "chl": "text",
  "method": "text"
}
{
  "code": 1,
  "msg": "text",
  "data": {
    "order_id": "text",
    "psbt": "text",
    "check_sign_only": true
  }
}

预兑换请求成功,获取待签名 PSBT。其中,部分请求参数为预兑换返回结果。

1、获取到待签名 PSBT 之后,用户必须在 30 秒内签名

2、注意 checksum 字段,值是从上个接口获取,但是字段名称有差异

1、获取到待签名 PSBT 之后,用户必须在 30 秒内签名

2、btc_addressaddress 传同一个地址即可

3、user_public_key 传参方法为只有一个地址的钱包 public_key:public_key,有两个地址的钱包 btc_public_key:ordi_public_key

发送兑换已签名psbt

post
/brc20swap/send_swap_psbt
Body
order_idstringRequired
psbtstringRequired
Responses
200Success
application/json
post
/brc20swap/send_swap_psbt
POST /brc20swap/send_swap_psbt HTTP/1.1
Host: test-api-proxy.ddpurse.com
Content-Type: application/json
Accept: */*
Content-Length: 1763

{
  "order_id": "swap_1072414914196275200",
  "psbt": "70736274ff0100fde401020000000663ba1a2fc81c71432bc99286b6b9e0c2607f5f9eb4b9a3f851bb83ef93d0c6530100000000fffffffffc20c54d42ccd93abc7c4d1f15c988d940b635d62222e230246bacc0239f73ef0500000000fffffffffc20c54d42ccd93abc7c4d1f15c988d940b635d62222e230246bacc0239f73ef0200000000fffffffffc20c54d42ccd93abc7c4d1f15c988d940b635d62222e230246bacc0239f73ef0100000000fffffffffc20c54d42ccd93abc7c4d1f15c988d940b635d62222e230246bacc0239f73ef0400000000fffffffffc20c54d42ccd93abc7c4d1f15c988d940b635d62222e230246bacc0239f73ef0300000000ffffffff074a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa1274a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa1274a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa1274a01000000000000160014464ef3759fcfb1eb3d76f3319ef58ec20301c6580000000000000000156a5d1200b29a040df246030000b402010000b40202c88b01000000000022512006161a3f67a1c67b1a39550c0e6c156852f22e9c9bfc67aa951010a27cdc324a456c370000000000160014464ef3759fcfb1eb3d76f3319ef58ec20301c658000000000001011fd0fb380000000000160014464ef3759fcfb1eb3d76f3319ef58ec20301c65801086b0247304402200fad011f732edb4c2cf77c079e3603adfe0ca9376a47475c5f348b5f3bee4dce02201506df6edce6a06096b8d9a120993a6be987b16216543ae00d98af03f9b8278f012102d3ac7452920b1cc4653516dd4f4381a2df0a8c0aac6e3446e633a73ea63eee810001011f4a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa127010304010000000001011f4a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa127010304010000000001011f4a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa127010304010000000001011f4a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa127010304010000000001011f4a01000000000000160014018960754f34943aa8ffa8cccdc56e1a875fa127010304010000000000000000000000"
}
{
  "code": 0,
  "msg": "",
  "data": {
    "tx_id": "045c00db3b398896756077f344de8893861788e26b6c3ee6e650e21eb2569524"
  },
  "req_id": "1887761723174592512"
}

发送用户已签名的 PSBT,返回结果成功,即兑换成功

Last updated