split
api base
test url: https://test-api-proxy.ddpurse.com
main url: https://api.dotswap.app
通过以下接口可以拆分指定地址的 cat20 资产到不同的地址
获取 psbt
POST
/brc20swap/get_split_cat20_psbts
export interface GetSplitCat20PsbtsBody {
cat_20_output_to_split: string; //txid+冒号+vout
is_average_split: boolean; //是否平均拆分到原地址
is_ofc_token: boolean; //是不是官方token(个人请默认填写false, 否则请联系官方加白名单)
split_num: number; //拆分数量
tick: string; //tickName+冒号+tokenId
toinfos: GetSplitCat20PsbtsToinfo[]; //每个地址的分配数量(必须大于4个地址)
token_addr: string; //如果是官方,则使用官方地址,否则填写user_addr
user_addr: string; //当前用户地址
user_pubkey: string; //当前用户公钥
}
export interface GetSplitCat20PsbtsToinfo {
to_addr: string; // 想要拆分到哪个地址
to_amt: number; // 想要拆分到这个地址的数量
}
export interface GetSplitCat20PsbtsRes {
control_block: string;
leaf_script: string;
leaf_version: number;
net_work_fee_fb: number;
order_id: string;
psbts: GetSplitCat20PsbtsPsbt[];
service_fee_cat20: number;
service_fee_fb: number;
total_fee: number;
total_fee_cat20: number;
[property: string]: any;
}
export interface GetSplitCat20PsbtsPsbt {
psbt_base64: string;
to_sign_inputs: ToSignInput[];
}
export interface ToSignInput {
index: number;
type: string;
}
拆个人的 cat20
{
"tick": "dog:b1071ae617c66050d518587f67564885ca1a618b387a15f84001e3fa244ef3d6_0",
"is_ofc_token": false,
"user_addr": "bc1pxul8mg4fvx....cxej453h24smw03s0",
"user_pubkey": "02d3ac7452920b1cc4....0a8c0aac6e3446e633a73ea63eee81",
"cat_20_output_to_split": "08806ff819db249637a7c1cc762e4f9e29182d7dc658b7571f12c2b539106a1f:2",
"token_addr": "bc1pxul8mg4fvx....cxej453h24smw03s0",
"fee_rate": 9,
"toinfos": [
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
}
]
}
拆官方的 cat20
如果你有使用官方的 cat20 充值的接口,那么你也可以使用这个接口拆分你充值进来的 cat20。
首先调用充值接口
/create_deposit_cat20_psbtv2
的时候,你可以设置参数not_split:true
。充值成功之后,
/create_deposit_cat20_order_by_psbt
会返回receiver_addr
和txid
。
这个时候你可以用如下参数来调用拆分接口
{
// 这两个参数请默认写为true
"is_ofc_token": true,
"is_average_split": true,
// 这是你用于充值的钱包
"user_addr": "bc1psx048lgxx9qlgnw2yjn6vw7ndz07f5rdlfxraqpxkr84tqa7670sagd4k8",
"user_pubkey": "03c22e2f276e66c24e515b24a0c6bcf53852b046b31bbaf98d3f3075c005729691",
// 准备拆分的代币(和你充值的代币名称保持一致)
"tick": "dog:b1071ae617c66050d518587f67564885ca1a618b387a15f84001e3fa244ef3d6_0",
// 这个是充值接口返回的 txid + :1(:1是固定的)
"cat_20_output_to_split": "3c92ae8ce3fd6377ac9316a28ded9ca5daef835dd3cf2613b8047c1ee9bbf530:1",
// 这是充值接口返回的receiver_addr
"token_addr": "bc1plsm7wgedgkguhk5xyllhyml2zstu0z7zs353hq7h6jlvu5puf4sqhc2l5t",
// 数量请大于4
"split_num": 5,
"fee_rate": 9
}
curl 'https://test-api-proxy.ddpurse.com/brc20swap/get_split_cat20_psbts' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Origin: http://localhost:60002' \
-H 'Pragma: no-cache' \
-H 'Referer: http://localhost:60002/' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Site: cross-site' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' \
-H 'sec-ch-ua: "Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
--data-raw '{"tick":"dog:b1071ae617c66050d518587f67564885ca1a618b387a15f84001e3fa244ef3d6_0","is_ofc_token":true,"user_addr":"bc1psx048lgxx9qlgnw2yjn6vw7ndz07f5rdlfxraqpxkr84tqa7670sagd4k8","user_pubkey":"03c22e2f276e66c24e515b24a0c6bcf53852b046b31bbaf98d3f3075c005729691","cat_20_output_to_split":"3c92ae8ce3fd6377ac9316a28ded9ca5daef835dd3cf2613b8047c1ee9bbf530:1","token_addr":"bc1plsm7wgedgkguhk5xyllhyml2zstu0z7zs353hq7h6jlvu5puf4sqhc2l5t","fee_rate":9,"is_average_split":true,"split_num":5}'
发送 psbt
POST
brc20swap/save_split_cat20_psbts
// 继承上一个接口的参数
export interface SaveSplitCat20PsbtsBody extends GetSplitCat20PsbtsBody {
psbts: string[];
}
export interface SaveSplitCat20PsbtsRes {
tx_id: string;
}
{
"tick": "dog:b1071ae617c66050d518587f67564885ca1a618b387a15f84001e3fa244ef3d6_0",
"is_ofc_token": false,
"user_addr": "bc1pxul8mg4fvx....cxej453h24smw03s0",
"user_pubkey": "02d3ac7452920b1cc4....0a8c0aac6e3446e633a73ea63eee81",
"cat_20_output_to_split": "08806ff819db249637a7c1cc762e4f9e29182d7dc658b7571f12c2b539106a1f:2",
"token_addr": "bc1pxul8mg4fvx....cxej453h24smw03s0",
"fee_rate": 9,
"toinfos": [
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
},
{
"to_addr": "bc1pxrvq4n9ud.....587lf3xszyyczr",
"to_amt": 5
}
],
"order_id": "",
"psbts": [
"cHNidP8BAN8CAAAAAW42i3ZHxnggGQix2qGq0QCVR98cmvoVNLxMbzPUBnJ6AwAAAAD/////BDpmAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNIkcAAAAAAAACJRIPHDJ8pFgNQadCvDlFlD2x86fkoECKjpRkGYE7t7okTS8GQAAAAAAAAiUSDxwyfKRYDUGnQrw5RZQ9sfOn5KBAio6UZBmBO7e6JE0hhIAAAAAAAAIlEgNz59oqlhjCWSvFug6GaqBjCay2GnqDP1EP4NmVaRuqsAAAAAAAEBK9mLAQAAAAAAIlEgNz59oqlhjCWSvFug6GaqBjCay2GnqDP1EP4NmVaRuqsBAwQBAAAAARNBrdAMj8AHGH76p3kp379osjZjhI4myNs6mcVRJOeCJgsMk7yKmZQx/enI5MAEsTm2ljWnT6xdajN2i68FvcyQHwEBFyDTrHRSkgscxGU1Ft1PQ4Gi3wqMCqxuNEbmM6c+pj7ugQAAAAAA",
"cHNidP8BAKwCAAAAAUV4KF9qW9jpts4tPyGS0dmlR0h8+Qz+8Hu6reMArHenAAAAAAD/////AwAAAAAAAAAAGmoYY2F0AZ+Zmft96aoXbolo7Pw2FV21AHtkSgEAAAAAAAAiUSBS9ewkaBUSiJ92WjMTt0ag6SsB3z9OSEBCNpBqH/Ri/kheAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNIAAAAAAAEBKzpmAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNIBCEIBQLp039gq0GzSfhmnOxTJ/Olq+CahVb1dh9WD/Oj+MS0okK7Q4f530iE/UWf12dnCjmvAMjF+yrOfDT1g8BJePqQAAAAA",
"cHNidP8BAP3+AAIAAAADH2oQObXCEh9Xt1jGfS0YKZ5PLnbMwac3liTbGfhvgAgCAAAAAP////9mPGfKEUTuGJnqnGPraZWC3jjq7U/TopCXuE6bEH4k/QEAAAAA/////2Y8Z8oRRO4YmeqcY+tplYLeOOrtT9OikJe4TpsQfiT9AgAAAAD/////AwAAAAAAAAAAGmoYY2F0AUbowsVb0zIpCtDz3MIBs38VxRfaSgEAAAAAAAAiUSBDEE+mqJWOtyeQgcd/ztVttJrXEBda+i9ohqCbgG4jmkoBAAAAAAAAIlEgQxBPpqiVjrcnkIHHf87VbbSa1xAXWvovaIagm4BuI5oKAAAAAAEBK0oBAAAAAAAAIlEgQxBPpqiVjrcnkIHHf87VbbSa1xAXWvovaIagm4BuI5pBFDc+faKpYYwlkrxboOhmqgYwmsthp6gz9RD+DZlWkbqrdVjd6OouyBa44MKMc7bVjfoVRav7u7i6ftyGud6ukcVAN5QqjFxFp/kZbV8poAFq+U5GcNS7Ptbm4pjQD9DzLGNE69K8T8OWiEayZlclItjv2HSuHkquaUsqKdVkFPFmCgABAStKAQAAAAAAACJRIFL17CRoFRKIn3ZaMxO3RqDpKwHfP05IQEI2kGof9GL+AAEBK0heAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNIAAAAA"
]
}
curl 'https://test-api-proxy.ddpurse.com/brc20swap/save_split_cat20_psbts' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Origin: http://localhost:60002' \
-H 'Pragma: no-cache' \
-H 'Referer: http://localhost:60002/' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Site: cross-site' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' \
-H 'sec-ch-ua: "Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
--data-raw '{"tick":"dog:b1071ae617c66050d518587f67564885ca1a618b387a15f84001e3fa244ef3d6_0","is_ofc_token":true,"user_addr":"bc1psx048lgxx9qlgnw2yjn6vw7ndz07f5rdlfxraqpxkr84tqa7670sagd4k8","user_pubkey":"03c22e2f276e66c24e515b24a0c6bcf53852b046b31bbaf98d3f3075c005729691","cat_20_output_to_split":"3c92ae8ce3fd6377ac9316a28ded9ca5daef835dd3cf2613b8047c1ee9bbf530:1","token_addr":"bc1plsm7wgedgkguhk5xyllhyml2zstu0z7zs353hq7h6jlvu5puf4sqhc2l5t","fee_rate":9,"is_average_split":true,"split_num":5,"order_id":"","psbts":["cHNidP8BAIkCAAAAARJTZeYyavrM5m1L5sK4rahTDlRR7G1Kgao/c+LUK3IJAwAAAAD/////AqFuAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNJj2WECAAAAACJRIIGfU/0GMUH0Tcokp6Y702if5NBt+kw+gCawz1WDvtefAAAAAAABAStxTWICAAAAACJRIIGfU/0GMUH0Tcokp6Y702if5NBt+kw+gCawz1WDvtefAQMEAQAAAAETQcJ21qTEi6F1QoNEClyyVKH5Npik3n8dvgC9hV1/CjNdXZ4mKhuwEP53G6IHYdcSuCVzgOD1ilAa9/OeA5vIjSYBARcgwi4vJ25mwk5RWySgxrz1OFKwRrMbuvmNPzB1wAVylpEAAAA=","cHNidP8BAKwCAAAAAf5gw44vaKscEIOdEQ1JrGCKx4HfkYbuvXa7LnCZ3s24AAAAAAD/////AwAAAAAAAAAAGmoYY2F0AWRURBrWYrooP0U81DTquW48pBCHSgEAAAAAAAAiUSBS9ewkaBUSiJ92WjMTt0ag6SsB3z9OSEBCNpBqH/Ri/q9mAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNIAAAAAAAEBK6FuAAAAAAAAIlEg8cMnykWA1Bp0K8OUWUPbHzp+SgQIqOlGQZgTu3uiRNIBCEIBQARHENDsE+fqRt7GqUW/UWzmg9RTq6p41vhjQEty6gWzOgta8ogVNywJrvFUbQm15DMru4/emVjiDwl0GFf0Ys4AAAAA","cHNidP8BAP1/AQIAAAADMPW76R58BLgTJs/TXYPv2qWc7Y2iFpOsd2P944yukjwBAAAAAP////9JK/qTrKEVqJbwYs9WjtfNGKWabamZcE3S8QjHiLkVrAEAAAAA/////0kr+pOsoRWolvBiz1aO180YpZptqZlwTdLxCMeIuRWsAgAAAAD/////BgAAAAAAAAAAGmoYY2F0AZUS1+/sBJzhNQA0cxSuCGe4ipnoSgEAAAAAAAAiUSBDEE+mqJWOtyeQgcd/ztVttJrXEBda+i9ohqCbgG4jmkoBAAAAAAAAIlEgQxBPpqiVjrcnkIHHf87VbbSa1xAXWvovaIagm4BuI5pKAQAAAAAAACJRIEMQT6aolY63J5CBx3/O1W20mtcQF1r6L2iGoJuAbiOaSgEAAAAAAAAiUSBDEE+mqJWOtyeQgcd/ztVttJrXEBda+i9ohqCbgG4jmkoBAAAAAAAAIlEgQxBPpqiVjrcnkIHHf87VbbSa1xAXWvovaIagm4BuI5oDAAAAAAEBK0oBAAAAAAAAIlEgQxBPpqiVjrcnkIHHf87VbbSa1xAXWvovaIagm4BuI5oAAQErSgEAAAAAAAAiUSBS9ewkaBUSiJ92WjMTt0ag6SsB3z9OSEBCNpBqH/Ri/gABASuvZgAAAAAAACJRIPHDJ8pFgNQadCvDlFlD2x86fkoECKjpRkGYE7t7okTSAAAAAAAAAA=="]}'
Last updated