Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
-
+
diff --git a/assets/js/039e4454.c3085012.js b/assets/js/039e4454.99cc0d70.js
similarity index 57%
rename from assets/js/039e4454.c3085012.js
rename to assets/js/039e4454.99cc0d70.js
index 8fe1e23a8a..2c253ea759 100644
--- a/assets/js/039e4454.c3085012.js
+++ b/assets/js/039e4454.99cc0d70.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[7009],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),s=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),p=s(a),h=r,c=p["".concat(o,".").concat(h)]||p[h]||g[h]||l;return a?n.createElement(c,i(i({ref:t},m),{},{components:a})):n.createElement(c,i({ref:t},m))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=h;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d[p]="string"==typeof e?e:r,i[1]=d;for(var s=2;s{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var n=a(83117),r=(a(67294),a(3905));const l={},i="Staking",d={unversionedId:"beaconchain/learn/bc-staking",id:"beaconchain/learn/bc-staking",title:"Staking",description:"PoSA Consensus of BNB Smart Chain",source:"@site/docs/beaconchain/learn/bc-staking.md",sourceDirName:"beaconchain/learn",slug:"/beaconchain/learn/bc-staking",permalink:"/docs/beaconchain/learn/bc-staking",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/learn/bc-staking.md",tags:[],version:"current",frontMatter:{}},o={},s=[{value:"PoSA Consensus of BNB Smart Chain",id:"posa-consensus-of-bnb-smart-chain",level:2},{value:"Staking on BNB Beacon Chain",id:"staking-on-bnb-beacon-chain",level:2},{value:"Staking Economics",id:"staking-economics",level:2},{value:"Ranking Algorithm",id:"ranking-algorithm",level:2},{value:"Reward Distrubution",id:"reward-distrubution",level:2},{value:"Main Workflow:",id:"main-workflow",level:3},{value:"Details",id:"details",level:3},{value:"Error handling:",id:"error-handling",level:3},{value:"Fee Table",id:"fee-table",level:2},{value:"Commands",id:"commands",level:2},{value:"Download",id:"download",level:3},{value:"Mainnet",id:"mainnet",level:4},{value:"Testnet",id:"testnet",level:4},{value:"Create BSC Validator",id:"create-bsc-validator",level:3},{value:"Parameters for bsc-create-validator",id:"parameters-for-bsc-create-validator",level:4},{value:"Examples",id:"examples",level:4},{value:"Edit BSC Validator",id:"edit-bsc-validator",level:3},{value:"Parameters for bsc-edit-validator",id:"parameters-for-bsc-edit-validator",level:4},{value:"Examples",id:"examples-1",level:4},{value:"Delegate BNB",id:"delegate-bnb",level:3},{value:"Parameters for staking bsc-delegate",id:"parameters-for-staking-bsc-delegate",level:4},{value:"Examples",id:"examples-2",level:4},{value:"Redelegate BNB",id:"redelegate-bnb",level:3},{value:"Parameters for staking bsc-redelegate",id:"parameters-for-staking-bsc-redelegate",level:4},{value:"Examples",id:"examples-3",level:4},{value:"Undelegate BNB",id:"undelegate-bnb",level:3},{value:"Parameters for staking bsc-unbond",id:"parameters-for-staking-bsc-unbond",level:4},{value:"Examples",id:"examples-4",level:4},{value:"Query side chain vaildator by operator",id:"query-side-chain-vaildator-by-operator",level:3},{value:"Parameters for staking side-validator",id:"parameters-for-staking-side-validator",level:4},{value:"Examples",id:"examples-5",level:4},{value:"Query side chain delegation by delegator and operator",id:"query-side-chain-delegation-by-delegator-and-operator",level:3},{value:"Parameters for staking side-delegation",id:"parameters-for-staking-side-delegation",level:4},{value:"Examples",id:"examples-6",level:4},{value:"Query side chain delegations by delegator",id:"query-side-chain-delegations-by-delegator",level:3},{value:"Parameters for staking side-delegations",id:"parameters-for-staking-side-delegations",level:4},{value:"Examples",id:"examples-7",level:4},{value:"Query side chain unbonding delegation",id:"query-side-chain-unbonding-delegation",level:3},{value:"Parameters for staking side-unbonding-delegation",id:"parameters-for-staking-side-unbonding-delegation",level:4},{value:"Query side chain unbonding delegations by delegator",id:"query-side-chain-unbonding-delegations-by-delegator",level:3},{value:"Parameters for staking side-unbonding-delegations",id:"parameters-for-staking-side-unbonding-delegations",level:4},{value:"Query side chain unbonding delegations by validator",id:"query-side-chain-unbonding-delegations-by-validator",level:3},{value:"Parameters for staking side-val-unbonding-delegations",id:"parameters-for-staking-side-val-unbonding-delegations",level:4},{value:"Query side chain re-delegation",id:"query-side-chain-re-delegation",level:3},{value:"Parameters for staking side-redelegation",id:"parameters-for-staking-side-redelegation",level:4},{value:"Query side chain re-delegations by delegator",id:"query-side-chain-re-delegations-by-delegator",level:3},{value:"Parameters for staking side-redelegations",id:"parameters-for-staking-side-redelegations",level:4},{value:"Query side chain re-delegations by validator",id:"query-side-chain-re-delegations-by-validator",level:3},{value:"Parameters for staking side-val-redelegations",id:"parameters-for-staking-side-val-redelegations",level:4},{value:"Query side chain staking pool",id:"query-side-chain-staking-pool",level:3},{value:"Parameters for staking side-pool",id:"parameters-for-staking-side-pool",level:4},{value:"Query side chain top validators",id:"query-side-chain-top-validators",level:3},{value:"Parameters for staking side-top-validators",id:"parameters-for--staking-side-top-validators",level:4},{value:"Query side chain validators count",id:"query-side-chain-validators-count",level:3},{value:"Parameters for staking side-validators-count",id:"parameters-for-staking-side-validators-count",level:4}],m={toc:s},p="wrapper";function g(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"staking"},"Staking"),(0,r.kt)("h2",{id:"posa-consensus-of-bnb-smart-chain"},"PoSA Consensus of BNB Smart Chain"),(0,r.kt)("p",null,"BNB Smart Chain is an innovative solution to bring programmability and interoperability to BNB Beacon Chain. BNB Smart Chain relies on a system of 50 validators with Proof of ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/learn/genesis"},"Staked Authority (PoSA) consensus")," that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality."),(0,r.kt)("h2",{id:"staking-on-bnb-beacon-chain"},"Staking on BNB Beacon Chain"),(0,r.kt)("p",null,"Ideally, BNB Smart Chain should build such staking and reward logic into the blockchain, and automatically distribute rewards as the blocking happens. ",(0,r.kt)("a",{parentName:"p",href:"https://hub.cosmos.network/"},"Cosmos Hub"),", who also build on top of Tendermint consensus like BNB Beacon Chain , works in this way."),(0,r.kt)("p",null,"However, as BSC wants to remain compatible with Ethereum as much as possible. On the other side, BNB Beacon Chain already has a staking module and could be extended to support both BC and BSC. In this way, all the staking related operations are recorded in BC. Once there are any changes about BSC's validator set or voting power, the new message will be transferred to BSC through cross-chain communication."),(0,r.kt)("h2",{id:"staking-economics"},"Staking Economics"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"The staking token is ",(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("a",{parentName:"strong",href:"https://www.binance.com/cn/trade/BNB_USDT"},"BNB")),", as it is a native token on both blockchains anyway"),(0,r.kt)("li",{parentName:"ol"},"The staking, i.e. token bond and delegation actions and records for BSC, happens on BC."),(0,r.kt)("li",{parentName:"ol"},"The BSC validator set is determined by its staking and delegation logic, via a staking module built on BC for BSC, and propagated every day UTC 00:00 from BC to BSC via Cross-Chain communication."),(0,r.kt)("li",{parentName:"ol"},"The reward distribution happens on BC around every day UTC 00:00 after.")),(0,r.kt)("h2",{id:"ranking-algorithm"},"Ranking Algorithm"),(0,r.kt)("p",null,"Validators are ranked by their power and operator address. The more its delegation tokens, the higher ranking is. If two validators get the same amount of delegated tokens, validator with smaller address bytes has higher ranking."),(0,r.kt)("h2",{id:"reward-distrubution"},"Reward Distrubution"),(0,r.kt)("p",null,"Since BSC uses PoSA as its consensus engine, all the delegators of validators can receive some share of the validators\u2019 reward."),(0,r.kt)("p",null,"However, the rewards(fees) are collected on BSC while the staking info is stored on BC."),(0,r.kt)("p",null,"So the main idea is we transfer all the rewards from BSC to BC once every day and execute the distribution on BC."),(0,r.kt)("h3",{id:"main-workflow"},"Main Workflow:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"ValidatorSet is updated in BreatheBlock, the frequency is once a day. let\u2019s assume it happens on day N."),(0,r.kt)("li",{parentName:"ol"},"The info of validator set changes of day N would be transmitted to BSCthrough interchain communication."),(0,r.kt)("li",{parentName:"ol"},"The validator set contract on BSC would receive and update the new validatorset. After that, it would trigger several interchain transfer to transfer the fees that every ",(0,r.kt)("strong",{parentName:"li"},"previous validators")," collected in this period to their addresses on BC. we can see that fees belongs to the validators of day N-1."),(0,r.kt)("li",{parentName:"ol"},"To make some room for the error handling, we distribute the fees of day N-1 in the next breathe block (day N+1).")),(0,r.kt)("h3",{id:"details"},"Details"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"even if validator set or any their voting powers are not changed on that day, we still transmit the validator set info to BSC."),(0,r.kt)("li",{parentName:"ol"},"the validator set contract maintains the history of the fees that every validators collected after the previous period(We define the ",(0,r.kt)("strong",{parentName:"li"},"period")," as the time between two contract calls of validator set changes). The actual fees are collected on the contract address."),(0,r.kt)("li",{parentName:"ol"},"the interchain transfer to send fees from the contract address to each validator\u2019s distribution address on BC. Note the distribution address is ",(0,r.kt)("strong",{parentName:"li"},"auto generated")," on BC when handling the create-validator tx, so no private key is corresponded to that address and no one except the distribution module can move the tokens on that address. This address is displayed as ",(0,r.kt)("strong",{parentName:"li"},"Distribution Addr")," in validator info.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'Validator\nFee Address: tbnb15mgzha93ny878kuvjl0pnqmjygwccdadpw5dxf\nOperator Address: bva15mgzha93ny878kuvjl0pnqmjygwccdad08uecu\nValidator Consensus Pubkey:\nJailed: false\nStatus: Bonded\nTokens: 5000000000000\nDelegator Shares: 5000000000000\nDescription: {Elbrus "" www.binance.org This is Elbrus org on chapel network.}\nBond Height: 74158\nUnbonding Height: 0\nMinimum Unbonding Time: 1970-01-01 00:00:00 +0000 UTC\nCommission: {rate: 75000000, maxRate: 90000000, maxChangeRate: 3000000, updateTime: 2020-05-22 12:24:19.478568234 +0000 UTC}\nDistribution Addr: tbnb1srkkfjk8qctvvy4s3cllhpnkz9679jphr30t2c\nSide Chain Id: chapel\nConsensus Addr on Side Chain: 0xF474Cf03ccEfF28aBc65C9cbaE594F725c80e12d\nFee Addr on Side Chain: 0xe61a183325A18a173319dD8E19c8d069459E2175\n')),(0,r.kt)("ol",{start:4},(0,r.kt)("li",{parentName:"ol"},"we have a lower limit of the value of interchain transfer, at least the value can cover the transfer fee. Also, interchain transfer will only allow max 8 decimals for the amount. The tiny left part would be kept in the contract or put into the system reward pool."),(0,r.kt)("li",{parentName:"ol"},"the reward: (totalfees ","*"," (1-commissionRate)) would be distributed in proportion to the delegations, the left part would be sent to the validator fee address.")),(0,r.kt)("h3",{id:"error-handling"},"Error handling:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"if the cross-chain transfer failed, the tokens would be sent back to a specified address(i.e. the ",(0,r.kt)("inlineCode",{parentName:"li"},"SideFeeAddr")," in the store section, validators can change this address via the EditValidator tx). After that, validators can manually deposit the tokens to its own ",(0,r.kt)("inlineCode",{parentName:"li"},"DistributionAddr")," on BC via Transfer tx. We do not force the validator to do so, but it\u2019s an indicator that can help delegators choose validators.")),(0,r.kt)("h2",{id:"fee-table"},"Fee Table"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"0.003")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002")))),(0,r.kt)("h2",{id:"commands"},"Commands"),(0,r.kt)("h3",{id:"download"},"Download"),(0,r.kt)("h4",{id:"mainnet"},"Mainnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h4",{id:"testnet"},"Testnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"tbnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h3",{id:"create-bsc-validator"},"Create BSC Validator"),(0,r.kt)("h4",{id:"parameters-for-bsc-create-validator"},"Parameters for bsc-create-validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comment")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, also be used as the validator operator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--address-delegator"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional, bech32 address of the self-delegator. if not provided, --from address will be used as self-delegator."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"2000000000000:BNB (means 20000 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"self-delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},"validator name"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional identity signature (ex. UPort or Keybase)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},"optional website"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},"optional details"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The initial commission rate percentage, it has 8 decimal places."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"95000000 (0.95 or 95%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission rate percentage, it has 8 decimal places. You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-change-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"3000000 (0.03 or 3%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission change rate percentage (per day). You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-cons-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"consensus address of the validator on side chain, please use hex format prefixed with 0x"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--home"),(0,r.kt)("td",{parentName:"tr",align:null},"/path/to/cli_home"),(0,r.kt)("td",{parentName:"tr",align:null},"home directory of bnbcli data and config, default to \u201c~/.bnbcli\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("p",null,"Some address parameters we need to highlight here:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Usage"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"DelegatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"Self delegator address. For BC, this address also used to collect fees.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ValidatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"validator operator\u2019s address, used in governance ops like voting.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideConsAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"block producer\u2019s address on side chain, i.e. consensus address. BC has another parameter named ",(0,r.kt)("inlineCode",{parentName:"td"},"PubKey"),", here SideConsAddr replaced that for BSC. Only BSC validators need this parameter.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideVoteAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"A bls public key. It's used by validators to vote for blocks, so the BSC chain can finalize blocks within two block periods in normal.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideFeeAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"fees are collected in this address on BSC, Only BSC validators need this parameter. Due to different token units, there are some BNB left as dust when sending block rewards from BNB Smart Chain to BNB Beacon Chain . Those BNB will be sent to fee address.")))),(0,r.kt)("h4",{id:"examples"},"Examples"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"If you want to create a validator with the same operator address and self-delegator address, you only need one signature for this transaction.")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 1000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Testnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n')),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"If you want a separated self-delegator address, both ",(0,r.kt)("inlineCode",{parentName:"li"},"self-delegator")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"validator operator")," need to sign this transaction. Here we need to use another two commands to support multiple signatures.")),(0,r.kt)("p",null,"a. use the following commands appended with a parameter \u201c",(0,r.kt)("strong",{parentName:"p"},"--generate-only"),"\u201d and save the result to a json file which would be used to be signed."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n')),(0,r.kt)("p",null,"b. both validator operator(--from) and self-delegator(--address-delegator) use \u201c",(0,r.kt)("strong",{parentName:"p"},"bnbcli sign"),"\u201d command to sign the file from a)."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Delegator")," address need to sign ",(0,r.kt)("inlineCode",{parentName:"p"},"unsigned.json")," first"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --from {delegator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --from {delegator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> delegator-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {delegator-address} >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {delegator-address} >> delegator-signed.json\n")),(0,r.kt)("p",null,"Then, ",(0,r.kt)("strong",{parentName:"p"},"validator")," operator addres will sign it later."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --from {validator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --from {validator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> both-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {validator-address} >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {validator-address} >> both-signed.json\n")),(0,r.kt)("p",null,"c. use \u201c",(0,r.kt)("strong",{parentName:"p"},"bnbcli broadcast"),"\u201d to send the transaction from above to the blockchain nodes."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli broadcast both-signed.json --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris\n\n## testnet\n./tbnbcli broadcast both-signed.json --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges\n")),(0,r.kt)("p",null,"Verify your transaction in ",(0,r.kt)("a",{parentName:"p",href:"https://explorer.binance.org/"},"mainnet-explorer")," or ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/"},"testnet-explorer")),(0,r.kt)("h3",{id:"edit-bsc-validator"},"Edit BSC Validator"),(0,r.kt)("h4",{id:"parameters-for-bsc-edit-validator"},"Parameters for bsc-edit-validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that also indicate the validator that you want to edit."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},'validator name (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},'optional identity signature (ex. UPort or Keybase) (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},'optional website (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},'optional details (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The new commission rate percentage"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-1"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-edit-validator --chain-id Binance-Chain-Tigris --side-chain-id bsc --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Testnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"tbnbcli staking bsc-edit-validator --chain-id Binance-Chain-Ganges --side-chain-id chapel --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n")),(0,r.kt)("h3",{id:"delegate-bnb"},"Delegate BNB"),(0,r.kt)("h4",{id:"parameters-for-staking-bsc-delegate"},"Parameters for staking bsc-delegate"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-2"},"Examples"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-delegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-delegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h3",{id:"redelegate-bnb"},"Redelegate BNB"),(0,r.kt)("h4",{id:"parameters-for-staking-bsc-redelegate"},"Parameters for staking bsc-redelegate"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-source"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the source validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-dest"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1yyy"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the destination validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-3"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-redelegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Testnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"tbnbcli staking bsc-redelegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h3",{id:"undelegate-bnb"},"Undelegate BNB"),(0,r.kt)("h4",{id:"parameters-for-staking-bsc-unbond"},"Parameters for staking bsc-unbond"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-4"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-unbond --chain-id Binance-Chain-Ganges --side-chain-id chapel --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-vaildator-by-operator"},"Query side chain vaildator by operator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-validator"},"Parameters for staking side-validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-5"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validator bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-delegation-by-delegator-and-operator"},"Query side chain delegation by delegator and operator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-delegation"},"Parameters for staking side-delegation"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-6"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegation bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --chain-id=Binance-Chain-Tigris --side-chain-id bsc --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-delegations-by-delegator"},"Query side chain delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-delegations"},"Parameters for staking side-delegations"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-7"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegations bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d --side-chain-id bsc --node=0.0.0.0:26657 --chain-id=Binance-Chain-Tigris --trust-node\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegation"},"Query side chain unbonding delegation"),(0,r.kt)("h4",{id:"parameters-for-staking-side-unbonding-delegation"},"Parameters for staking side-unbonding-delegation"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation [delegator-addr] [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegations-by-delegator"},"Query side chain unbonding delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-unbonding-delegations"},"Parameters for staking side-unbonding-delegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegations-by-validator"},"Query side chain unbonding delegations by validator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-val-unbonding-delegations"},"Parameters for staking side-val-unbonding-delegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegation [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegation"},"Query side chain re-delegation"),(0,r.kt)("h4",{id:"parameters-for-staking-side-redelegation"},"Parameters for staking side-redelegation"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation [delegator-addr] [src-operator-addr] [dst-operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegations-by-delegator"},"Query side chain re-delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-redelegations"},"Parameters for staking side-redelegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegations-by-validator"},"Query side chain re-delegations by validator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-val-redelegations"},"Parameters for staking side-val-redelegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-staking-pool"},"Query side chain staking pool"),(0,r.kt)("h4",{id:"parameters-for-staking-side-pool"},"Parameters for staking side-pool"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-pool --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-top-validators"},"Query side chain top validators"),(0,r.kt)("h4",{id:"parameters-for--staking-side-top-validators"},"Parameters for staking side-top-validators"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--top"),(0,r.kt)("td",{parentName:"tr",align:null},"10"),(0,r.kt)("td",{parentName:"tr",align:null},"number of validators to be returned. set as maximum number of validators by default"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-top-validators --top 10 --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-validators-count"},"Query side chain validators count"),(0,r.kt)("h4",{id:"parameters-for-staking-side-validators-count"},"Parameters for staking side-validators-count"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--jail-involved"),(0,r.kt)("td",{parentName:"tr",align:null},"true"),(0,r.kt)("td",{parentName:"tr",align:null},"if true, meaning that the jailed validators will be involved to count"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validators-count --jail-involved --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")))}g.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[7009],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),s=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),p=s(a),h=r,c=p["".concat(o,".").concat(h)]||p[h]||g[h]||l;return a?n.createElement(c,i(i({ref:t},m),{},{components:a})):n.createElement(c,i({ref:t},m))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=h;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d[p]="string"==typeof e?e:r,i[1]=d;for(var s=2;s{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var n=a(83117),r=(a(67294),a(3905));const l={},i="Staking",d={unversionedId:"beaconchain/learn/bc-staking",id:"beaconchain/learn/bc-staking",title:"Staking",description:"PoSA Consensus of BNB Smart Chain",source:"@site/docs/beaconchain/learn/bc-staking.md",sourceDirName:"beaconchain/learn",slug:"/beaconchain/learn/bc-staking",permalink:"/docs/beaconchain/learn/bc-staking",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/learn/bc-staking.md",tags:[],version:"current",frontMatter:{}},o={},s=[{value:"PoSA Consensus of BNB Smart Chain",id:"posa-consensus-of-bnb-smart-chain",level:2},{value:"Staking on BNB Beacon Chain",id:"staking-on-bnb-beacon-chain",level:2},{value:"Staking Economics",id:"staking-economics",level:2},{value:"Ranking Algorithm",id:"ranking-algorithm",level:2},{value:"Reward Distrubution",id:"reward-distrubution",level:2},{value:"Main Workflow:",id:"main-workflow",level:3},{value:"Details",id:"details",level:3},{value:"Error handling:",id:"error-handling",level:3},{value:"Fee Table",id:"fee-table",level:2},{value:"Commands",id:"commands",level:2},{value:"Download",id:"download",level:3},{value:"Mainnet",id:"mainnet",level:4},{value:"Testnet",id:"testnet",level:4},{value:"Create BSC Validator",id:"create-bsc-validator",level:3},{value:"Parameters for bsc-create-validator",id:"parameters-for-bsc-create-validator",level:4},{value:"Examples",id:"examples",level:4},{value:"Edit BSC Validator",id:"edit-bsc-validator",level:3},{value:"Parameters for bsc-edit-validator",id:"parameters-for-bsc-edit-validator",level:4},{value:"Examples",id:"examples-1",level:4},{value:"Delegate BNB",id:"delegate-bnb",level:3},{value:"Parameters for staking bsc-delegate",id:"parameters-for-staking-bsc-delegate",level:4},{value:"Examples",id:"examples-2",level:4},{value:"Redelegate BNB",id:"redelegate-bnb",level:3},{value:"Parameters for staking bsc-redelegate",id:"parameters-for-staking-bsc-redelegate",level:4},{value:"Examples",id:"examples-3",level:4},{value:"Undelegate BNB",id:"undelegate-bnb",level:3},{value:"Parameters for staking bsc-unbond",id:"parameters-for-staking-bsc-unbond",level:4},{value:"Examples",id:"examples-4",level:4},{value:"Query side chain vaildator by operator",id:"query-side-chain-vaildator-by-operator",level:3},{value:"Parameters for staking side-validator",id:"parameters-for-staking-side-validator",level:4},{value:"Examples",id:"examples-5",level:4},{value:"Query side chain delegation by delegator and operator",id:"query-side-chain-delegation-by-delegator-and-operator",level:3},{value:"Parameters for staking side-delegation",id:"parameters-for-staking-side-delegation",level:4},{value:"Examples",id:"examples-6",level:4},{value:"Query side chain delegations by delegator",id:"query-side-chain-delegations-by-delegator",level:3},{value:"Parameters for staking side-delegations",id:"parameters-for-staking-side-delegations",level:4},{value:"Examples",id:"examples-7",level:4},{value:"Query side chain unbonding delegation",id:"query-side-chain-unbonding-delegation",level:3},{value:"Parameters for staking side-unbonding-delegation",id:"parameters-for-staking-side-unbonding-delegation",level:4},{value:"Query side chain unbonding delegations by delegator",id:"query-side-chain-unbonding-delegations-by-delegator",level:3},{value:"Parameters for staking side-unbonding-delegations",id:"parameters-for-staking-side-unbonding-delegations",level:4},{value:"Query side chain unbonding delegations by validator",id:"query-side-chain-unbonding-delegations-by-validator",level:3},{value:"Parameters for staking side-val-unbonding-delegations",id:"parameters-for-staking-side-val-unbonding-delegations",level:4},{value:"Query side chain re-delegation",id:"query-side-chain-re-delegation",level:3},{value:"Parameters for staking side-redelegation",id:"parameters-for-staking-side-redelegation",level:4},{value:"Query side chain re-delegations by delegator",id:"query-side-chain-re-delegations-by-delegator",level:3},{value:"Parameters for staking side-redelegations",id:"parameters-for-staking-side-redelegations",level:4},{value:"Query side chain re-delegations by validator",id:"query-side-chain-re-delegations-by-validator",level:3},{value:"Parameters for staking side-val-redelegations",id:"parameters-for-staking-side-val-redelegations",level:4},{value:"Query side chain staking pool",id:"query-side-chain-staking-pool",level:3},{value:"Parameters for staking side-pool",id:"parameters-for-staking-side-pool",level:4},{value:"Query side chain top validators",id:"query-side-chain-top-validators",level:3},{value:"Parameters for staking side-top-validators",id:"parameters-for--staking-side-top-validators",level:4},{value:"Query side chain validators count",id:"query-side-chain-validators-count",level:3},{value:"Parameters for staking side-validators-count",id:"parameters-for-staking-side-validators-count",level:4}],m={toc:s},p="wrapper";function g(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"staking"},"Staking"),(0,r.kt)("h2",{id:"posa-consensus-of-bnb-smart-chain"},"PoSA Consensus of BNB Smart Chain"),(0,r.kt)("p",null,"BNB Smart Chain is an innovative solution to bring programmability and interoperability to BNB Beacon Chain. BNB Smart Chain relies on a system of 50 validators with Proof of ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/learn/genesis"},"Staked Authority (PoSA) consensus")," that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality."),(0,r.kt)("h2",{id:"staking-on-bnb-beacon-chain"},"Staking on BNB Beacon Chain"),(0,r.kt)("p",null,"Ideally, BNB Smart Chain should build such staking and reward logic into the blockchain, and automatically distribute rewards as the blocking happens. ",(0,r.kt)("a",{parentName:"p",href:"https://hub.cosmos.network/"},"Cosmos Hub"),", who also build on top of Tendermint consensus like BNB Beacon Chain , works in this way."),(0,r.kt)("p",null,"However, as BSC wants to remain compatible with Ethereum as much as possible. On the other side, BNB Beacon Chain already has a staking module and could be extended to support both BC and BSC. In this way, all the staking related operations are recorded in BC. Once there are any changes about BSC's validator set or voting power, the new message will be transferred to BSC through cross-chain communication."),(0,r.kt)("h2",{id:"staking-economics"},"Staking Economics"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"The staking token is ",(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("a",{parentName:"strong",href:"https://www.binance.com/cn/trade/BNB_USDT"},"BNB")),", as it is a native token on both blockchains anyway"),(0,r.kt)("li",{parentName:"ol"},"The staking, i.e. token bond and delegation actions and records for BSC, happens on BC."),(0,r.kt)("li",{parentName:"ol"},"The BSC validator set is determined by its staking and delegation logic, via a staking module built on BC for BSC, and propagated every day UTC 00:00 from BC to BSC via Cross-Chain communication."),(0,r.kt)("li",{parentName:"ol"},"The reward distribution happens on BC around every day UTC 00:00 after.")),(0,r.kt)("h2",{id:"ranking-algorithm"},"Ranking Algorithm"),(0,r.kt)("p",null,"Validators are ranked by their power and operator address. The more its delegation tokens, the higher ranking is. If two validators get the same amount of delegated tokens, validator with smaller address bytes has higher ranking."),(0,r.kt)("h2",{id:"reward-distrubution"},"Reward Distrubution"),(0,r.kt)("p",null,"Since BSC uses PoSA as its consensus engine, all the delegators of validators can receive some share of the validators\u2019 reward."),(0,r.kt)("p",null,"However, the rewards(fees) are collected on BSC while the staking info is stored on BC."),(0,r.kt)("p",null,"So the main idea is we transfer all the rewards from BSC to BC once every day and execute the distribution on BC."),(0,r.kt)("h3",{id:"main-workflow"},"Main Workflow:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"ValidatorSet is updated in BreatheBlock, the frequency is once a day. let\u2019s assume it happens on day N."),(0,r.kt)("li",{parentName:"ol"},"The info of validator set changes of day N would be transmitted to BSCthrough interchain communication."),(0,r.kt)("li",{parentName:"ol"},"The validator set contract on BSC would receive and update the new validatorset. After that, it would trigger several interchain transfer to transfer the fees that every ",(0,r.kt)("strong",{parentName:"li"},"previous validators")," collected in this period to their addresses on BC. we can see that fees belongs to the validators of day N-1."),(0,r.kt)("li",{parentName:"ol"},"To make some room for the error handling, we distribute the fees of day N-1 in the next breathe block (day N+1).")),(0,r.kt)("h3",{id:"details"},"Details"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"even if validator set or any their voting powers are not changed on that day, we still transmit the validator set info to BSC."),(0,r.kt)("li",{parentName:"ol"},"the validator set contract maintains the history of the fees that every validators collected after the previous period(We define the ",(0,r.kt)("strong",{parentName:"li"},"period")," as the time between two contract calls of validator set changes). The actual fees are collected on the contract address."),(0,r.kt)("li",{parentName:"ol"},"the interchain transfer to send fees from the contract address to each validator\u2019s distribution address on BC. Note the distribution address is ",(0,r.kt)("strong",{parentName:"li"},"auto generated")," on BC when handling the create-validator tx, so no private key is corresponded to that address and no one except the distribution module can move the tokens on that address. This address is displayed as ",(0,r.kt)("strong",{parentName:"li"},"Distribution Addr")," in validator info.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'Validator\nFee Address: tbnb15mgzha93ny878kuvjl0pnqmjygwccdadpw5dxf\nOperator Address: bva15mgzha93ny878kuvjl0pnqmjygwccdad08uecu\nValidator Consensus Pubkey:\nJailed: false\nStatus: Bonded\nTokens: 5000000000000\nDelegator Shares: 5000000000000\nDescription: {Elbrus "" www.binance.org This is Elbrus org on chapel network.}\nBond Height: 74158\nUnbonding Height: 0\nMinimum Unbonding Time: 1970-01-01 00:00:00 +0000 UTC\nCommission: {rate: 75000000, maxRate: 90000000, maxChangeRate: 3000000, updateTime: 2020-05-22 12:24:19.478568234 +0000 UTC}\nDistribution Addr: tbnb1srkkfjk8qctvvy4s3cllhpnkz9679jphr30t2c\nSide Chain Id: chapel\nConsensus Addr on Side Chain: 0xF474Cf03ccEfF28aBc65C9cbaE594F725c80e12d\nFee Addr on Side Chain: 0xe61a183325A18a173319dD8E19c8d069459E2175\n')),(0,r.kt)("ol",{start:4},(0,r.kt)("li",{parentName:"ol"},"we have a lower limit of the value of interchain transfer, at least the value can cover the transfer fee. Also, interchain transfer will only allow max 8 decimals for the amount. The tiny left part would be kept in the contract or put into the system reward pool."),(0,r.kt)("li",{parentName:"ol"},"the reward: (totalfees ","*"," (1-commissionRate)) would be distributed in proportion to the delegations, the left part would be sent to the validator fee address.")),(0,r.kt)("h3",{id:"error-handling"},"Error handling:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"if the cross-chain transfer failed, the tokens would be sent back to a specified address(i.e. the ",(0,r.kt)("inlineCode",{parentName:"li"},"SideFeeAddr")," in the store section, validators can change this address via the EditValidator tx). After that, validators can manually deposit the tokens to its own ",(0,r.kt)("inlineCode",{parentName:"li"},"DistributionAddr")," on BC via Transfer tx. We do not force the validator to do so, but it\u2019s an indicator that can help delegators choose validators.")),(0,r.kt)("h2",{id:"fee-table"},"Fee Table"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"0.003")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002")))),(0,r.kt)("h2",{id:"commands"},"Commands"),(0,r.kt)("h3",{id:"download"},"Download"),(0,r.kt)("h4",{id:"mainnet"},"Mainnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h4",{id:"testnet"},"Testnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"tbnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h3",{id:"create-bsc-validator"},"Create BSC Validator"),(0,r.kt)("h4",{id:"parameters-for-bsc-create-validator"},"Parameters for bsc-create-validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comment")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, also be used as the validator operator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--address-delegator"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional, bech32 address of the self-delegator. if not provided, --from address will be used as self-delegator."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"2000000000000:BNB (means 20000 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"self-delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},"validator name"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional identity signature (ex. UPort or Keybase)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},"optional website"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},"optional details"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The initial commission rate percentage, it has 8 decimal places."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"95000000 (0.95 or 95%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission rate percentage, it has 8 decimal places. You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-change-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"3000000 (0.03 or 3%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission change rate percentage (per day). You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-cons-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"consensus address of the validator on side chain, please use hex format prefixed with 0x"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--home"),(0,r.kt)("td",{parentName:"tr",align:null},"/path/to/cli_home"),(0,r.kt)("td",{parentName:"tr",align:null},"home directory of bnbcli data and config, default to \u201c~/.bnbcli\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("p",null,"Some address parameters we need to highlight here:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Usage"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"DelegatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"Self delegator address. For BC, this address also used to collect fees.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ValidatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"validator operator\u2019s address, used in governance ops like voting.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideConsAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"block producer\u2019s address on side chain, i.e. consensus address. BC has another parameter named ",(0,r.kt)("inlineCode",{parentName:"td"},"PubKey"),", here SideConsAddr replaced that for BSC. Only BSC validators need this parameter.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideVoteAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"A bls public key. It's used by validators to vote for blocks, so the BSC chain can finalize blocks within two block periods in normal.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideFeeAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"fees are collected in this address on BSC, Only BSC validators need this parameter. Due to different token units, there are some BNB left as dust when sending block rewards from BNB Smart Chain to BNB Beacon Chain . Those BNB will be sent to fee address.")))),(0,r.kt)("h4",{id:"examples"},"Examples"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"If you want to create a validator with the same operator address and self-delegator address, you only need one signature for this transaction.")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 1000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Testnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n')),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"If you want a separated self-delegator address, both ",(0,r.kt)("inlineCode",{parentName:"li"},"self-delegator")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"validator operator")," need to sign this transaction. Here we need to use another two commands to support multiple signatures.")),(0,r.kt)("p",null,"a. use the following commands appended with a parameter \u201c",(0,r.kt)("strong",{parentName:"p"},"--generate-only"),"\u201d and save the result to a json file which would be used to be signed."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n')),(0,r.kt)("p",null,"b. both validator operator(--from) and self-delegator(--address-delegator) use \u201c",(0,r.kt)("strong",{parentName:"p"},"bnbcli sign"),"\u201d command to sign the file from a)."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Delegator")," address need to sign ",(0,r.kt)("inlineCode",{parentName:"p"},"unsigned.json")," first"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --from {delegator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --from {delegator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> delegator-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {delegator-address} >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {delegator-address} >> delegator-signed.json\n")),(0,r.kt)("p",null,"Then, ",(0,r.kt)("strong",{parentName:"p"},"validator")," operator addres will sign it later."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --from {validator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --from {validator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> both-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {validator-address} >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {validator-address} >> both-signed.json\n")),(0,r.kt)("p",null,"c. use \u201c",(0,r.kt)("strong",{parentName:"p"},"bnbcli broadcast"),"\u201d to send the transaction from above to the blockchain nodes."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli broadcast both-signed.json --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris\n\n## testnet\n./tbnbcli broadcast both-signed.json --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges\n")),(0,r.kt)("p",null,"Verify your transaction in ",(0,r.kt)("a",{parentName:"p",href:"https://explorer.bnbchain.org/"},"mainnet-explorer")," or ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/"},"testnet-explorer")),(0,r.kt)("h3",{id:"edit-bsc-validator"},"Edit BSC Validator"),(0,r.kt)("h4",{id:"parameters-for-bsc-edit-validator"},"Parameters for bsc-edit-validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that also indicate the validator that you want to edit."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},'validator name (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},'optional identity signature (ex. UPort or Keybase) (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},'optional website (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},'optional details (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The new commission rate percentage"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-1"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-edit-validator --chain-id Binance-Chain-Tigris --side-chain-id bsc --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Testnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"tbnbcli staking bsc-edit-validator --chain-id Binance-Chain-Ganges --side-chain-id chapel --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n")),(0,r.kt)("h3",{id:"delegate-bnb"},"Delegate BNB"),(0,r.kt)("h4",{id:"parameters-for-staking-bsc-delegate"},"Parameters for staking bsc-delegate"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-2"},"Examples"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-delegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-delegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h3",{id:"redelegate-bnb"},"Redelegate BNB"),(0,r.kt)("h4",{id:"parameters-for-staking-bsc-redelegate"},"Parameters for staking bsc-redelegate"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-source"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the source validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-dest"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1yyy"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the destination validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-3"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-redelegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Testnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"tbnbcli staking bsc-redelegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h3",{id:"undelegate-bnb"},"Undelegate BNB"),(0,r.kt)("h4",{id:"parameters-for-staking-bsc-unbond"},"Parameters for staking bsc-unbond"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-4"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-unbond --chain-id Binance-Chain-Ganges --side-chain-id chapel --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-vaildator-by-operator"},"Query side chain vaildator by operator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-validator"},"Parameters for staking side-validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-5"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validator bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-delegation-by-delegator-and-operator"},"Query side chain delegation by delegator and operator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-delegation"},"Parameters for staking side-delegation"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-6"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegation bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --chain-id=Binance-Chain-Tigris --side-chain-id bsc --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-delegations-by-delegator"},"Query side chain delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-delegations"},"Parameters for staking side-delegations"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h4",{id:"examples-7"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegations bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d --side-chain-id bsc --node=0.0.0.0:26657 --chain-id=Binance-Chain-Tigris --trust-node\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegation"},"Query side chain unbonding delegation"),(0,r.kt)("h4",{id:"parameters-for-staking-side-unbonding-delegation"},"Parameters for staking side-unbonding-delegation"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation [delegator-addr] [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegations-by-delegator"},"Query side chain unbonding delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-unbonding-delegations"},"Parameters for staking side-unbonding-delegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegations-by-validator"},"Query side chain unbonding delegations by validator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-val-unbonding-delegations"},"Parameters for staking side-val-unbonding-delegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegation [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegation"},"Query side chain re-delegation"),(0,r.kt)("h4",{id:"parameters-for-staking-side-redelegation"},"Parameters for staking side-redelegation"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation [delegator-addr] [src-operator-addr] [dst-operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegations-by-delegator"},"Query side chain re-delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-redelegations"},"Parameters for staking side-redelegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegations-by-validator"},"Query side chain re-delegations by validator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-val-redelegations"},"Parameters for staking side-val-redelegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-staking-pool"},"Query side chain staking pool"),(0,r.kt)("h4",{id:"parameters-for-staking-side-pool"},"Parameters for staking side-pool"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-pool --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-top-validators"},"Query side chain top validators"),(0,r.kt)("h4",{id:"parameters-for--staking-side-top-validators"},"Parameters for staking side-top-validators"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--top"),(0,r.kt)("td",{parentName:"tr",align:null},"10"),(0,r.kt)("td",{parentName:"tr",align:null},"number of validators to be returned. set as maximum number of validators by default"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-top-validators --top 10 --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-validators-count"},"Query side chain validators count"),(0,r.kt)("h4",{id:"parameters-for-staking-side-validators-count"},"Parameters for staking side-validators-count"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"comments")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--jail-involved"),(0,r.kt)("td",{parentName:"tr",align:null},"true"),(0,r.kt)("td",{parentName:"tr",align:null},"if true, meaning that the jailed validators will be involved to count"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validators-count --jail-involved --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")))}g.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/0480b142.2fa745b3.js b/assets/js/0480b142.2fa745b3.js
new file mode 100644
index 0000000000..c06a5e45e4
--- /dev/null
+++ b/assets/js/0480b142.2fa745b3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[836],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=u(n),h=o,m=p["".concat(s,".").concat(h)]||p[h]||d[h]||r;return n?a.createElement(m,l(l({ref:t},c),{},{components:n})):a.createElement(m,l({ref:t},c))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,l=new Array(r);l[0]=h;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,l[1]=i;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var a=n(83117),o=(n(67294),n(3905));const r={sidebar_label:"Binance Extension Wallet FAQs",hide_table_of_contents:!1,sidebar_position:2},l="Binance Extension Wallet FAQs",i={unversionedId:"faq",id:"faq",title:"Binance Extension Wallet FAQs",description:"How can I download Binance Extension Wallet (BEW)?",source:"@site/docs/faq.md",sourceDirName:".",slug:"/faq",permalink:"/docs/faq",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/faq.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"Binance Extension Wallet FAQs",hide_table_of_contents:!1,sidebar_position:2},sidebar:"bscSideBar",previous:{title:"BSC Cross-chain Communication FAQs",permalink:"/docs/cross"},next:{title:"BNB Beacon Chain FAQ",permalink:"/docs/beaconchain/faq/"}},s={},u=[{value:"How can I download Binance Extension Wallet (BEW)?",id:"how-can-i-download-binance-extension-wallet-bew",level:2},{value:"How to stay safe",id:"how-to-stay-safe",level:2},{value:"Take responsibility for your own funds",id:"take-responsibility-for-your-own-funds",level:2},{value:"Write down your seed phrase",id:"write-down-your-seed-phrase",level:2},{value:"Do Your Own Research",id:"do-your-own-research",level:2},{value:"Tokens not visible after withdrawing from Binance",id:"tokens-not-visible-after-withdrawing-from-binance",level:2},{value:"How Much BNB You Need To Send Tokens",id:"how-much-bnb-you-need-to-send-tokens",level:2},{value:"Current Gas Price",id:"current-gas-price",level:2},{value:"How to Reveal Your Seed Phrase",id:"how-to-reveal-your-seed-phrase",level:2},{value:"What do i do if i lost/forgot my Seed Phrase?",id:"what-do-i-do-if-i-lostforgot-my-seed-phrase",level:2},{value:"Backing Up When Installing",id:"backing-up-when-installing",level:2},{value:"Backing Up After You Install Binance Extension Wallet",id:"backing-up-after-you-install-binance-extension-wallet",level:2},{value:"How to Reset My Password or Import an Account",id:"how-to-reset-my-password-or-import-an-account",level:2},{value:"Which network does BEW support?",id:"which-network-does-bew-support",level:2},{value:"Why my Tokens are not visible?",id:"why-my-tokens-are-not-visible",level:2},{value:"How much BNB you need for sending tokens?",id:"how-much-bnb-you-need-for-sending-tokens",level:2},{value:"How to Recover Crypto Transferred to the Wrong Network on Binance?",id:"how-to-recover-crypto-transferred-to-the-wrong-network-on-binance",level:2},{value:"Extension Wallet Update: Chrome",id:"extension-wallet-update-chrome",level:2},{value:"Extension Wallet Update : Firefox",id:"extension-wallet-update--firefox",level:2},{value:"Why are Tokens not visible after withdrawing from Binance?",id:"why-are-tokens-not-visible-after-withdrawing-from-binance",level:2},{value:"Can I use Extension wallet for Binance DEX",id:"can-i-use-extension-wallet-for-binance-dex",level:2},{value:"How to Recover funds send to Ethereum network",id:"how-to-recover-funds-send-to-ethereum-network",level:2},{value:"Why should I use Wallet Direct?",id:"why-should-i-use-wallet-direct",level:2},{value:"Common issues with Ledger Account",id:"common-issues-with-ledger-account",level:2},{value:"How can dApp connect with BEW?",id:"how-can-dapp-connect-with-bew",level:2},{value:"How to get support about technical issue on full node?",id:"how-to-get-support-about-technical-issue-on-full-node",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"binance-extension-wallet-faqs"},"Binance Extension Wallet FAQs"),(0,o.kt)("h2",{id:"how-can-i-download-binance-extension-wallet-bew"},"How can I download Binance Extension Wallet (BEW)?"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Chrome App Store Link"),": ",(0,o.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp"},"https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Firefox App Store Link"),": ",(0,o.kt)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search")),(0,o.kt)("p",null,"Install Binance Extension Wallet "),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"}," This is an example to install BNB Chain Extension Waller on Firefox browser. However, workflow is same for all browsers.")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Open Extension in Firefox: ",(0,o.kt)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Search for BNB Chain\n",(0,o.kt)("img",{parentName:"p",src:"https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023396148/original/T7AmJnBZ33pyv-1vmUZvZQvfpdPcvq5_NQ.png?1633501819",alt:"img"})))),(0,o.kt)("p",null,":::warn\nMake sure it\u2019s offered by BNB Chain\n:::"),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"Click on \u201cAdd to Firefox\u201d\n",(0,o.kt)("img",{parentName:"li",src:"https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023396147/original/bvX8Y5NViWZJcFgaBt76ipaB1F8V87TgIw.png?1633501818",alt:"img"}))),(0,o.kt)("p",null,"That\u2019s it! You have successfully installed the BNB Chain Wallet extension in Firefox! "),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Binance Wallet Mobile"),": Binance Mobile is a secure and trusted multi-chain wallet. It is your one-stop gateway to store, exchange and earn crypto. "),(0,o.kt)("h2",{id:"how-to-stay-safe"},"How to stay safe"),(0,o.kt)("p",null,"Wallets are a bit of a shift in thinking. Financial freedom and the ability to access and use funds anywhere comes with a bit of responsibility \u2013 there\u2019s no customer support in crypto."),(0,o.kt)("h2",{id:"take-responsibility-for-your-own-funds"},"Take responsibility for your own funds"),(0,o.kt)("p",null,"Centralized exchanges will link your wallet to a username and password that you can recover in a traditional way. Just remember you\u2019re trusting that exchange with custody over your funds. If that company is attacked or folds, your funds are at risk."),(0,o.kt)("h2",{id:"write-down-your-seed-phrase"},"Write down your seed phrase"),(0,o.kt)("p",null,"Wallets will often give you a seed phrase that you must write down somewhere safe. This is the only way you\u2019ll be able to recover your wallet."),(0,o.kt)("p",null,"Here's an example:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"there aeroplane curve vent formation doge possible product distinct under spirit lamp\n")),(0,o.kt)("p",null,"Don\u2019t store it on a computer. Write it down and keep it safe."),(0,o.kt)("h2",{id:"do-your-own-research"},"Do Your Own Research"),(0,o.kt)("p",null,"If you use a web wallet, bookmark the site to protect yourself against phishing scams."),(0,o.kt)("p",null,"Remember transactions can\u2019t be reversed and wallets can\u2019t be easily recovered so take care."),(0,o.kt)("h2",{id:"tokens-not-visible-after-withdrawing-from-binance"},"Tokens not visible after withdrawing from Binance"),(0,o.kt)("p",null,"Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like MetaMask. So once you've used their withdraw form, what could be scarier than not seeing your tokens?"),(0,o.kt)("p",null,"First, you'll need to use the MetaMask add Custom Network feature to add the BNB Beacon Chain or BNB Smart Chain's RPC URLs endpoints to your MetaMask."),(0,o.kt)("p",null,"Once you've added the BNB Beacon Chain or the BNB Smart Chain to your MetaMask, you will be able to select different networks to view the assets (you may need to add Custom Tokens too) held by your selected account on that network."),(0,o.kt)("h2",{id:"how-much-bnb-you-need-to-send-tokens"},"How Much BNB You Need To Send Tokens"),(0,o.kt)("p",null,"if you try to send tokens without having any BNB in your account you will be told you have insufficient funds. This means you do not have enough BNB in your account to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in BNB. You can think of this like a transaction fee."),(0,o.kt)("p",null,"You can remedy this by sending 0.001 BNB to that account in order to be able to make the transaction."),(0,o.kt)("p",null,"A standard Ether transfer TX will be 21000 gas & a gas price of 15 Gwei.\nWith tokens, the amount of gas is typically gas, so the total TX fee increases to 0.002 BNB - 0.003 BNB."),(0,o.kt)("h2",{id:"current-gas-price"},"Current Gas Price"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},'curl --location --request POST \'https://bsc-dataseed2.bnbchain.org\' \\\n--header \'Content-Type: application/json\' \\\n--data-raw \'{"jsonrpc":"2.0", "id":1, "method":"eth_gasPrice", "params": []}\'\n')),(0,o.kt)("h2",{id:"how-to-reveal-your-seed-phrase"},"How to Reveal Your Seed Phrase"),(0,o.kt)("p",null,"When dealing with cryptocurrencies or crypto assets like BNB or BUSD, it is important to always be aware of and have your private keys, seed phrases and passwords backed up in case the unexpected occurs."),(0,o.kt)("h2",{id:"what-do-i-do-if-i-lostforgot-my-seed-phrase"},"What do i do if i lost/forgot my Seed Phrase?"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Seed phrase is only made known to user directly. In the event that is lost, there is no way of recovering it. "),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We do advice to user to safeguard their seed phrase and do not share with anyone. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'If you login from public/shared computer or laptop, please make sure to "Lock" the wallet before walking off. ')))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"There are multiple login options made available to user : do leverage these options as well. "),(0,o.kt)("p",{parentName:"li"}," a. Safulet "),(0,o.kt)("p",{parentName:"li"}," b. tKey ")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Recovering of seed phrase is possible only if you are able to login to your account. "),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Login to your account. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Access account details on the top right corner. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'Click on "Settings". ')),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'View "Seed Phrase". '))))),(0,o.kt)("p",null,"Important Note: Keeping your seed phrases safe is of paramount importance. If they are stolen or lost, your assets cannot be recovered."),(0,o.kt)("h2",{id:"backing-up-when-installing"},"Backing Up When Installing"),(0,o.kt)("p",null,"When you create a new Binance Extension Wallet account, you are given your 12 word seed phrase is the most important bit of information for you to record and keep safe when managing your extension account."),(0,o.kt)("p",null,"You can write your seed phrase down on a piece of paper, store it on a flash drive or we also make it optional to download a file containing this information."),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/n2FtIpBGm0rfQC1WHDUbL44LhT6VVizzV4uBhzOkFCblCIXFdOISvy-OzCF5rEeU6q0suuW8Z6noqgYWW5_u8AU7mjat3ayEzU031SLjULoFSh0pdQOO_spRwGfqBEbSl8TIVOfa",alt:"img"})),(0,o.kt)("h2",{id:"backing-up-after-you-install-binance-extension-wallet"},"Backing Up After You Install Binance Extension Wallet"),(0,o.kt)("p",null,"If for some reason you forgot to record your 12 word seed phrase or you lost the original copy, you can reveal your seed phrase so you can back it up again."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Select Dropdown Menu (on top-right corner) --\x3e Manage Accounts")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh4.googleusercontent.com/ZXAj9X9TFTunfCJfZjHoJQm9eQZxog61rmZ0zWL4AbQlwhQRe0qj74bHvhnarwHobVbRgaBIKyyDPxQZx4acgAeFPaWN6tloNIiIuRMmDUw2mniafpqfc5RS59Nic-_KXVL64sC6",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"click on Download button")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/2t3UwpFojwMSh4_stRc9wdaOdbm2UqmtYxVL2SdLVfiCSoqF2gcOhHl3Qys6pZXJFG_7CsK2IkFOEdgpuSTiHR1_OOEi0pF_uy3nvsLhibC0vxQjGXLI0aV5gcdts3pML4xmNc4y",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Enter your password to reveal your seed words.")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/9WatFdbEVc8A92-6g5zfaHQRZgqrce1EPEQMdpWnHYyEwab9iZqcwz02cal5om_97oni1fSdh-dTJHHqsVqD74K3umO2SlGl3F9f9vQDSeUF4r0fnLOQbMiHdNSwhgbN33Nmg_U2",alt:"img"})),(0,o.kt)("h2",{id:"how-to-reset-my-password-or-import-an-account"},"How to Reset My Password or Import an Account"),(0,o.kt)("p",null,"When resetting your password for your Binance Extension wallet, you will need your 12 or 24 word seed phrase. If you do not already have your seed phrase saved someplace safe, please make sure to read ",(0,o.kt)("a",{parentName:"p",href:"#how-to-reveal-your-seed-phrase"},"How to Reveal Your Seed Phrase"),"."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Before trying these steps, confirm that you have your seed phrase with you as you will not be able to reset your password otherwise and will risk becoming locked out of your wallet.")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"If your wallet is currently unlocked, please lock your wallet first."),(0,o.kt)("li",{parentName:"ol"},"Click Import ",(0,o.kt)("strong",{parentName:"li"},"Import seed phrase"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://camo.githubusercontent.com/9fe8761262f1dd77f01a336ae2356e74c15e3552d78be82d761461ade1107f4b/68747470733a2f2f6c68352e676f6f676c6575736572636f6e74656e742e636f6d2f6350443644303336504f69315f794a5f394a4334656d305a6b37476758645a72373236754d706348626d6649476e666179767865465042455932695076733858325a6d5365345f54574f495f3958644e4a786f65496d3641467a6235395643315735344950357945794d4a4e65764d534a62457955377846423149734b51754352443262334f3576",alt:"img"})),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},'Enter your seed phrase in the "Seed Phrase" text box'),(0,o.kt)("li",{parentName:"ol"},"Enter your new password"),(0,o.kt)("li",{parentName:"ol"},"Retype your password to confirm it was written correctly"),(0,o.kt)("li",{parentName:"ol"},"Click ",(0,o.kt)("strong",{parentName:"li"},"Reset")," ")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/ZeM4cYV3rirCo91zw3OVMYRqqpwqIsrWhPnv-t3sL7YhpD0M_DNQ4QQH-Rw8WmapLrX2OzwETLKcEwKA-Rakjuhlnoy7S707Yt8Y0nUC5OKjg04ADgM2bLSb-1f3GZvUxdkj-BuI",alt:"img"})),(0,o.kt)("h2",{id:"which-network-does-bew-support"},"Which network does BEW support?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"BNB Beacon Chain (BEP2)"),(0,o.kt)("li",{parentName:"ul"},"BNB Smart Chain (BEP20)"),(0,o.kt)("li",{parentName:"ul"},"Ethereum (ERC20)")),(0,o.kt)("h2",{id:"why-my-tokens-are-not-visible"},"Why my Tokens are not visible?"),(0,o.kt)("p",null,"!!! Note : By default each wallet/network will shows the the main token they support. You will need to add additional token to your list. "),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"For Binance Extension Wallet users"),"\nYou'll need to switch to BNB Beacon Chain Mainnet (BC) mainnet or BNB Smart Chain (BSC) mainnet"),(0,o.kt)("p",null,"Once you've added the asset to your wallet, you will be able to select different networks to view the assets held by your selected account on that network."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"For Metamask wallet users")),(0,o.kt)("p",null,"You'll need to add BNB Smart Chain (BSC) mainnet network, refer ",(0,o.kt)("a",{parentName:"p",href:"https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain"},"here")," for more details. "),(0,o.kt)("p",null,"Then add tokens manually: ",(0,o.kt)("a",{parentName:"p",href:"https://docs.yearn.finance/how-to-guides/how-to-add-a-custom-token-to-metamask"},"https://docs.yearn.finance/how-to-guides/how-to-add-a-custom-token-to-metamask")),(0,o.kt)("h2",{id:"how-much-bnb-you-need-for-sending-tokens"},"How much BNB you need for sending tokens?"),(0,o.kt)("p",null,"A standard Ether transfer TX will be 21000 gas & a gas price of 5 GWEI. With tokens, the amount of gas is typically gas, so the total TX fee increases to 0.0005 BNB - 0.0007 BNB."),(0,o.kt)("p",null,"if you try to send tokens without having any BNB in your account you will be told you have insufficient funds. This means you do not have enough BNB in your account to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in BNB. You can think of this like a transaction fee."),(0,o.kt)("p",null,"You can remedy this by sending 0.001 BNB to that account in order to be able to make the transaction."),(0,o.kt)("h2",{id:"how-to-recover-crypto-transferred-to-the-wrong-network-on-binance"},"How to Recover Crypto Transferred to the Wrong Network on Binance?"),(0,o.kt)("p",null,"Please read ",(0,o.kt)("a",{parentName:"p",href:"https://academy.binance.com/en/articles/how-to-recover-crypto-transferred-to-the-wrong-network-on-binance"},"this")," article"),(0,o.kt)("h2",{id:"extension-wallet-update-chrome"},"Extension Wallet Update: Chrome"),(0,o.kt)("p",null,"It is crucial that you always have the latest wallet version installed. If you know that a new version of an extension is out but Chrome hasn\u2019t updated it, here\u2019s how to do it manually."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Start Google Chrome.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Click the vertical ellipsis icon on the browser toolbar.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},'Click on "Extensions" -> "Manage Extensions".')),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Click the Developer Mode button on the right side of the header")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"From there, you should see the \u201cUpdate\u201d button below the search bar. Click on it to update the extensions."))),(0,o.kt)("h2",{id:"extension-wallet-update--firefox"},"Extension Wallet Update : Firefox"),(0,o.kt)("p",null,"It is crucial that you have the latest version installed. "),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},'Click the menu button, click "Add-ons and Themes" and select "Extensions".')),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Click the gear icon in the upper-right area of the Extensions panel.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Choose one of the options below:"),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Check for Updates"),": Allows you to check for any updates to your add-ons manually. If there is an update available, you have the option to choose to update it now or later."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"View Recent Updates"),": When you click this option, a Recent Updates panel appears on the left, showing your last updated add-ons."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Update Add-ons Automatically"),": If you want to keep your add-ons up to date, select this option to let them update automatically."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Reset All Add-ons to Update Automatically"),": If any add-ons have been set to update manually, clicking this option will reset all add-ons to update automatically.")))),(0,o.kt)("h2",{id:"why-are-tokens-not-visible-after-withdrawing-from-binance"},"Why are Tokens not visible after withdrawing from Binance?"),(0,o.kt)("p",null,"Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like Binance Extension wallet or MetaMask. So once you've used their withdrawal form, what could be scarier than not seeing your tokens?"),(0,o.kt)("p",null,"First, you'll need to use BNB Beacon Chain Mainnet (BC) mainnet or BNB Smart Chain (BSC) mainnet"),(0,o.kt)("p",null,"Once you've added the asset to your wallet, you will be able to select different networks to view the assets held by your selected account on that network."),(0,o.kt)("h2",{id:"can-i-use-extension-wallet-for-binance-dex"},"Can I use Extension wallet for Binance DEX"),(0,o.kt)("p",null,"No, you cannot now. The support will be added in future release."),(0,o.kt)("h2",{id:"how-to-recover-funds-send-to-ethereum-network"},"How to Recover funds send to Ethereum network"),(0,o.kt)("p",null,"If the fund is sent to one of your existing accounts, please"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to Ethereum network"),(0,o.kt)("li",{parentName:"ul"},"Add your asset"),(0,o.kt)("li",{parentName:"ul"},"Then you should see your tokens in asset list.")),(0,o.kt)("p",null,"If it's sent to accounts in a different wallet, please"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Export seed phrase of this account"),(0,o.kt)("li",{parentName:"ul"},"Recover your account in Binance Extension Wallet"),(0,o.kt)("li",{parentName:"ul"},"Switch to Ethereum network"),(0,o.kt)("li",{parentName:"ul"},"Add your asset"),(0,o.kt)("li",{parentName:"ul"},"Then you should see your tokens in asset list.")),(0,o.kt)("h2",{id:"why-should-i-use-wallet-direct"},"Why should I use Wallet Direct?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Seamless Token Transfer"),": Transfer tokens (which support BNB Beacon Chain, BNB Smart Chain and Ethereum) between paired Binance.com account and Binance Extension Wallet. Without the trouble of copy/paste address and memo every time")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"BNB Holding"),": The BNB positions of your Binance.com account will not change."))),(0,o.kt)("h2",{id:"common-issues-with-ledger-account"},"Common issues with Ledger Account"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Wallet direct does not support Ledger account at the moment.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Binance DEX still supports Ledger. However, it is recommended to use BEW if you encounter issues when using Ledger. "))),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Install our BEW extension on your browser and login with your BEW wallet account.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Import ledger to your BEW account.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Use BEW for your transactions."))),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"Alternatively, you can also reach out to Ledger for support via ",(0,o.kt)("a",{parentName:"li",href:"https://support.ledger.com/hc/en-us/categories/4404369571601-Support?support=true"},"https://support.ledger.com/hc/en-us/categories/4404369571601-Support?support=true")," .")),(0,o.kt)("h2",{id:"how-can-dapp-connect-with-bew"},"How can dApp connect with BEW?"),(0,o.kt)("p",null,"Please read this doc: ",(0,o.kt)("a",{parentName:"p",href:"https://binance-wallet.gitbook.io/binance-chain-wallet/bew-guides/dapp-interaction"},"https://binance-wallet.gitbook.io/binance-chain-wallet/bew-guides/dapp-interaction")),(0,o.kt)("h2",{id:"how-to-get-support-about-technical-issue-on-full-node"},"How to get support about technical issue on full node?"),(0,o.kt)("p",null,"Join our ",(0,o.kt)("a",{parentName:"p",href:"https://discord.com/channels/789402563035660308/912296664004452362"},"node support discord channel")))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/0480b142.4ee5e226.js b/assets/js/0480b142.4ee5e226.js
deleted file mode 100644
index e28fa8dba4..0000000000
--- a/assets/js/0480b142.4ee5e226.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[836],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=u(n),h=o,m=p["".concat(s,".").concat(h)]||p[h]||d[h]||r;return n?a.createElement(m,l(l({ref:t},c),{},{components:n})):a.createElement(m,l({ref:t},c))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,l=new Array(r);l[0]=h;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,l[1]=i;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>u});var a=n(83117),o=(n(67294),n(3905));const r={sidebar_label:"Binance Extension Wallet FAQs",hide_table_of_contents:!1,sidebar_position:2},l="Binance Extension Wallet FAQs",i={unversionedId:"faq",id:"faq",title:"Binance Extension Wallet FAQs",description:"How can I download Binance Extension Wallet (BEW)?",source:"@site/docs/faq.md",sourceDirName:".",slug:"/faq",permalink:"/docs/faq",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/faq.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"Binance Extension Wallet FAQs",hide_table_of_contents:!1,sidebar_position:2},sidebar:"bscSideBar",previous:{title:"BSC Cross-chain Communication FAQs",permalink:"/docs/cross"},next:{title:"BNB Beacon Chain FAQ",permalink:"/docs/beaconchain/faq/"}},s={},u=[{value:"How can I download Binance Extension Wallet (BEW)?",id:"how-can-i-download-binance-extension-wallet-bew",level:2},{value:"How to stay safe",id:"how-to-stay-safe",level:2},{value:"Take responsibility for your own funds",id:"take-responsibility-for-your-own-funds",level:2},{value:"Write down your seed phrase",id:"write-down-your-seed-phrase",level:2},{value:"Do Your Own Research",id:"do-your-own-research",level:2},{value:"Tokens not visible after withdrawing from Binance",id:"tokens-not-visible-after-withdrawing-from-binance",level:2},{value:"How Much BNB You Need To Send Tokens",id:"how-much-bnb-you-need-to-send-tokens",level:2},{value:"Current Gas Price",id:"current-gas-price",level:2},{value:"How to Reveal Your Seed Phrase",id:"how-to-reveal-your-seed-phrase",level:2},{value:"What do i do if i lost/forgot my Seed Phrase?",id:"what-do-i-do-if-i-lostforgot-my-seed-phrase",level:2},{value:"Backing Up When Installing",id:"backing-up-when-installing",level:2},{value:"Backing Up After You Install Binance Extension Wallet",id:"backing-up-after-you-install-binance-extension-wallet",level:2},{value:"How to Reset My Password or Import an Account",id:"how-to-reset-my-password-or-import-an-account",level:2},{value:"Which network does BEW support?",id:"which-network-does-bew-support",level:2},{value:"Why my Tokens are not visible?",id:"why-my-tokens-are-not-visible",level:2},{value:"How much BNB you need for sending tokens?",id:"how-much-bnb-you-need-for-sending-tokens",level:2},{value:"How to Recover Crypto Transferred to the Wrong Network on Binance?",id:"how-to-recover-crypto-transferred-to-the-wrong-network-on-binance",level:2},{value:"Extension Wallet Update: Chrome",id:"extension-wallet-update-chrome",level:2},{value:"Extension Wallet Update : Firefox",id:"extension-wallet-update--firefox",level:2},{value:"Why are Tokens not visible after withdrawing from Binance?",id:"why-are-tokens-not-visible-after-withdrawing-from-binance",level:2},{value:"Can I use Extension wallet for Binance DEX",id:"can-i-use-extension-wallet-for-binance-dex",level:2},{value:"How to Recover funds send to Ethereum network",id:"how-to-recover-funds-send-to-ethereum-network",level:2},{value:"Why should I use Wallet Direct?",id:"why-should-i-use-wallet-direct",level:2},{value:"Common issues with Ledger Account",id:"common-issues-with-ledger-account",level:2},{value:"How can dApp connect with BEW?",id:"how-can-dapp-connect-with-bew",level:2},{value:"How to get support about technical issue on full node?",id:"how-to-get-support-about-technical-issue-on-full-node",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"binance-extension-wallet-faqs"},"Binance Extension Wallet FAQs"),(0,o.kt)("h2",{id:"how-can-i-download-binance-extension-wallet-bew"},"How can I download Binance Extension Wallet (BEW)?"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Chrome App Store Link"),": ",(0,o.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp"},"https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Firefox App Store Link"),": ",(0,o.kt)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search")),(0,o.kt)("p",null,"Install Binance Extension Wallet "),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"}," This is an example to install BNB Chain Extension Waller on Firefox browser. However, workflow is same for all browsers.")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Open Extension in Firefox: ",(0,o.kt)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Search for BNB Chain\n",(0,o.kt)("img",{parentName:"p",src:"https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023396148/original/T7AmJnBZ33pyv-1vmUZvZQvfpdPcvq5_NQ.png?1633501819",alt:"img"})))),(0,o.kt)("p",null,":::warn\nMake sure it\u2019s offered by BNB Chain\n:::"),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"Click on \u201cAdd to Firefox\u201d\n",(0,o.kt)("img",{parentName:"li",src:"https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/67023396147/original/bvX8Y5NViWZJcFgaBt76ipaB1F8V87TgIw.png?1633501818",alt:"img"}))),(0,o.kt)("p",null,"That\u2019s it! You have successfully installed the Binance Chain Wallet extension in Firefox! "),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Binance Wallet Mobile"),": Binance Mobile is a secure and trusted multi-chain wallet. It is your one-stop gateway to store, exchange and earn crypto. "),(0,o.kt)("h2",{id:"how-to-stay-safe"},"How to stay safe"),(0,o.kt)("p",null,"Wallets are a bit of a shift in thinking. Financial freedom and the ability to access and use funds anywhere comes with a bit of responsibility \u2013 there\u2019s no customer support in crypto."),(0,o.kt)("h2",{id:"take-responsibility-for-your-own-funds"},"Take responsibility for your own funds"),(0,o.kt)("p",null,"Centralized exchanges will link your wallet to a username and password that you can recover in a traditional way. Just remember you\u2019re trusting that exchange with custody over your funds. If that company is attacked or folds, your funds are at risk."),(0,o.kt)("h2",{id:"write-down-your-seed-phrase"},"Write down your seed phrase"),(0,o.kt)("p",null,"Wallets will often give you a seed phrase that you must write down somewhere safe. This is the only way you\u2019ll be able to recover your wallet."),(0,o.kt)("p",null,"Here's an example:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"there aeroplane curve vent formation doge possible product distinct under spirit lamp\n")),(0,o.kt)("p",null,"Don\u2019t store it on a computer. Write it down and keep it safe."),(0,o.kt)("h2",{id:"do-your-own-research"},"Do Your Own Research"),(0,o.kt)("p",null,"If you use a web wallet, bookmark the site to protect yourself against phishing scams."),(0,o.kt)("p",null,"Remember transactions can\u2019t be reversed and wallets can\u2019t be easily recovered so take care."),(0,o.kt)("h2",{id:"tokens-not-visible-after-withdrawing-from-binance"},"Tokens not visible after withdrawing from Binance"),(0,o.kt)("p",null,"Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like MetaMask. So once you've used their withdraw form, what could be scarier than not seeing your tokens?"),(0,o.kt)("p",null,"First, you'll need to use the MetaMask add Custom Network feature to add the BNB Beacon Chain or BNB Smart Chain's RPC URLs endpoints to your MetaMask."),(0,o.kt)("p",null,"Once you've added the BNB Beacon Chain or the BNB Smart Chain to your MetaMask, you will be able to select different networks to view the assets (you may need to add Custom Tokens too) held by your selected account on that network."),(0,o.kt)("h2",{id:"how-much-bnb-you-need-to-send-tokens"},"How Much BNB You Need To Send Tokens"),(0,o.kt)("p",null,"if you try to send tokens without having any BNB in your account you will be told you have insufficient funds. This means you do not have enough BNB in your account to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in BNB. You can think of this like a transaction fee."),(0,o.kt)("p",null,"You can remedy this by sending 0.001 BNB to that account in order to be able to make the transaction."),(0,o.kt)("p",null,"A standard Ether transfer TX will be 21000 gas & a gas price of 15 Gwei.\nWith tokens, the amount of gas is typically gas, so the total TX fee increases to 0.002 BNB - 0.003 BNB."),(0,o.kt)("h2",{id:"current-gas-price"},"Current Gas Price"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},'curl --location --request POST \'https://bsc-dataseed2.bnbchain.org\' \\\n--header \'Content-Type: application/json\' \\\n--data-raw \'{"jsonrpc":"2.0", "id":1, "method":"eth_gasPrice", "params": []}\'\n')),(0,o.kt)("h2",{id:"how-to-reveal-your-seed-phrase"},"How to Reveal Your Seed Phrase"),(0,o.kt)("p",null,"When dealing with cryptocurrencies or crypto assets like BNB or BUSD, it is important to always be aware of and have your private keys, seed phrases and passwords backed up in case the unexpected occurs."),(0,o.kt)("h2",{id:"what-do-i-do-if-i-lostforgot-my-seed-phrase"},"What do i do if i lost/forgot my Seed Phrase?"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Seed phrase is only made known to user directly. In the event that is lost, there is no way of recovering it. "),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We do advice to user to safeguard their seed phrase and do not share with anyone. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'If you login from public/shared computer or laptop, please make sure to "Lock" the wallet before walking off. ')))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"There are multiple login options made available to user : do leverage these options as well. "),(0,o.kt)("p",{parentName:"li"}," a. Safulet "),(0,o.kt)("p",{parentName:"li"}," b. tKey ")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Recovering of seed phrase is possible only if you are able to login to your account. "),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Login to your account. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Access account details on the top right corner. ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'Click on "Settings". ')),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},'View "Seed Phrase". '))))),(0,o.kt)("p",null,"Important Note: Keeping your seed phrases safe is of paramount importance. If they are stolen or lost, your assets cannot be recovered."),(0,o.kt)("h2",{id:"backing-up-when-installing"},"Backing Up When Installing"),(0,o.kt)("p",null,"When you create a new Binance Extension Wallet account, you are given your 12 word seed phrase is the most important bit of information for you to record and keep safe when managing your extension account."),(0,o.kt)("p",null,"You can write your seed phrase down on a piece of paper, store it on a flash drive or we also make it optional to download a file containing this information."),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/n2FtIpBGm0rfQC1WHDUbL44LhT6VVizzV4uBhzOkFCblCIXFdOISvy-OzCF5rEeU6q0suuW8Z6noqgYWW5_u8AU7mjat3ayEzU031SLjULoFSh0pdQOO_spRwGfqBEbSl8TIVOfa",alt:"img"})),(0,o.kt)("h2",{id:"backing-up-after-you-install-binance-extension-wallet"},"Backing Up After You Install Binance Extension Wallet"),(0,o.kt)("p",null,"If for some reason you forgot to record your 12 word seed phrase or you lost the original copy, you can reveal your seed phrase so you can back it up again."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Select Dropdown Menu (on top-right corner) --\x3e Manage Accounts")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh4.googleusercontent.com/ZXAj9X9TFTunfCJfZjHoJQm9eQZxog61rmZ0zWL4AbQlwhQRe0qj74bHvhnarwHobVbRgaBIKyyDPxQZx4acgAeFPaWN6tloNIiIuRMmDUw2mniafpqfc5RS59Nic-_KXVL64sC6",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"click on Download button")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/2t3UwpFojwMSh4_stRc9wdaOdbm2UqmtYxVL2SdLVfiCSoqF2gcOhHl3Qys6pZXJFG_7CsK2IkFOEdgpuSTiHR1_OOEi0pF_uy3nvsLhibC0vxQjGXLI0aV5gcdts3pML4xmNc4y",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Enter your password to reveal your seed words.")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/9WatFdbEVc8A92-6g5zfaHQRZgqrce1EPEQMdpWnHYyEwab9iZqcwz02cal5om_97oni1fSdh-dTJHHqsVqD74K3umO2SlGl3F9f9vQDSeUF4r0fnLOQbMiHdNSwhgbN33Nmg_U2",alt:"img"})),(0,o.kt)("h2",{id:"how-to-reset-my-password-or-import-an-account"},"How to Reset My Password or Import an Account"),(0,o.kt)("p",null,"When resetting your password for your Binance Extension wallet, you will need your 12 or 24 word seed phrase. If you do not already have your seed phrase saved someplace safe, please make sure to read ",(0,o.kt)("a",{parentName:"p",href:"#how-to-reveal-your-seed-phrase"},"How to Reveal Your Seed Phrase"),"."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Before trying these steps, confirm that you have your seed phrase with you as you will not be able to reset your password otherwise and will risk becoming locked out of your wallet.")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"If your wallet is currently unlocked, please lock your wallet first."),(0,o.kt)("li",{parentName:"ol"},"Click Import ",(0,o.kt)("strong",{parentName:"li"},"Import seed phrase"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://camo.githubusercontent.com/9fe8761262f1dd77f01a336ae2356e74c15e3552d78be82d761461ade1107f4b/68747470733a2f2f6c68352e676f6f676c6575736572636f6e74656e742e636f6d2f6350443644303336504f69315f794a5f394a4334656d305a6b37476758645a72373236754d706348626d6649476e666179767865465042455932695076733858325a6d5365345f54574f495f3958644e4a786f65496d3641467a6235395643315735344950357945794d4a4e65764d534a62457955377846423149734b51754352443262334f3576",alt:"img"})),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},'Enter your seed phrase in the "Seed Phrase" text box'),(0,o.kt)("li",{parentName:"ol"},"Enter your new password"),(0,o.kt)("li",{parentName:"ol"},"Retype your password to confirm it was written correctly"),(0,o.kt)("li",{parentName:"ol"},"Click ",(0,o.kt)("strong",{parentName:"li"},"Reset")," ")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/ZeM4cYV3rirCo91zw3OVMYRqqpwqIsrWhPnv-t3sL7YhpD0M_DNQ4QQH-Rw8WmapLrX2OzwETLKcEwKA-Rakjuhlnoy7S707Yt8Y0nUC5OKjg04ADgM2bLSb-1f3GZvUxdkj-BuI",alt:"img"})),(0,o.kt)("h2",{id:"which-network-does-bew-support"},"Which network does BEW support?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"BNB Beacon Chain (BEP2)"),(0,o.kt)("li",{parentName:"ul"},"BNB Smart Chain (BEP20)"),(0,o.kt)("li",{parentName:"ul"},"Ethereum (ERC20)")),(0,o.kt)("h2",{id:"why-my-tokens-are-not-visible"},"Why my Tokens are not visible?"),(0,o.kt)("p",null,"!!! Note : By default each wallet/network will shows the the main token they support. You will need to add additional token to your list. "),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"For Binance Extension Wallet users"),"\nYou'll need to switch to BNB Beacon Chain Mainnet (BC) mainnet or BNB Smart Chain (BSC) mainnet"),(0,o.kt)("p",null,"Once you've added the asset to your wallet, you will be able to select different networks to view the assets held by your selected account on that network."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"For Metamask wallet users")),(0,o.kt)("p",null,"You'll need to add BNB Smart Chain (BSC) mainnet network, refer ",(0,o.kt)("a",{parentName:"p",href:"https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain"},"here")," for more details. "),(0,o.kt)("p",null,"Then add tokens manually: ",(0,o.kt)("a",{parentName:"p",href:"https://docs.yearn.finance/how-to-guides/how-to-add-a-custom-token-to-metamask"},"https://docs.yearn.finance/how-to-guides/how-to-add-a-custom-token-to-metamask")),(0,o.kt)("h2",{id:"how-much-bnb-you-need-for-sending-tokens"},"How much BNB you need for sending tokens?"),(0,o.kt)("p",null,"A standard Ether transfer TX will be 21000 gas & a gas price of 5 GWEI. With tokens, the amount of gas is typically gas, so the total TX fee increases to 0.0005 BNB - 0.0007 BNB."),(0,o.kt)("p",null,"if you try to send tokens without having any BNB in your account you will be told you have insufficient funds. This means you do not have enough BNB in your account to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in BNB. You can think of this like a transaction fee."),(0,o.kt)("p",null,"You can remedy this by sending 0.001 BNB to that account in order to be able to make the transaction."),(0,o.kt)("h2",{id:"how-to-recover-crypto-transferred-to-the-wrong-network-on-binance"},"How to Recover Crypto Transferred to the Wrong Network on Binance?"),(0,o.kt)("p",null,"Please read ",(0,o.kt)("a",{parentName:"p",href:"https://academy.binance.com/en/articles/how-to-recover-crypto-transferred-to-the-wrong-network-on-binance"},"this")," article"),(0,o.kt)("h2",{id:"extension-wallet-update-chrome"},"Extension Wallet Update: Chrome"),(0,o.kt)("p",null,"It is crucial that you always have the latest wallet version installed. If you know that a new version of an extension is out but Chrome hasn\u2019t updated it, here\u2019s how to do it manually."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Start Google Chrome.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Click the vertical ellipsis icon on the browser toolbar.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},'Click on "Extensions" -> "Manage Extensions".')),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Click the Developer Mode button on the right side of the header")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"From there, you should see the \u201cUpdate\u201d button below the search bar. Click on it to update the extensions."))),(0,o.kt)("h2",{id:"extension-wallet-update--firefox"},"Extension Wallet Update : Firefox"),(0,o.kt)("p",null,"It is crucial that you have the latest version installed. "),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},'Click the menu button, click "Add-ons and Themes" and select "Extensions".')),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Click the gear icon in the upper-right area of the Extensions panel.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Choose one of the options below:"),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Check for Updates"),": Allows you to check for any updates to your add-ons manually. If there is an update available, you have the option to choose to update it now or later."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"View Recent Updates"),": When you click this option, a Recent Updates panel appears on the left, showing your last updated add-ons."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Update Add-ons Automatically"),": If you want to keep your add-ons up to date, select this option to let them update automatically."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Reset All Add-ons to Update Automatically"),": If any add-ons have been set to update manually, clicking this option will reset all add-ons to update automatically.")))),(0,o.kt)("h2",{id:"why-are-tokens-not-visible-after-withdrawing-from-binance"},"Why are Tokens not visible after withdrawing from Binance?"),(0,o.kt)("p",null,"Many users who interact with a centralized exchange like Binance eventually want to withdraw to a wallet that they fully control, like Binance Extension wallet or MetaMask. So once you've used their withdrawal form, what could be scarier than not seeing your tokens?"),(0,o.kt)("p",null,"First, you'll need to use BNB Beacon Chain Mainnet (BC) mainnet or BNB Smart Chain (BSC) mainnet"),(0,o.kt)("p",null,"Once you've added the asset to your wallet, you will be able to select different networks to view the assets held by your selected account on that network."),(0,o.kt)("h2",{id:"can-i-use-extension-wallet-for-binance-dex"},"Can I use Extension wallet for Binance DEX"),(0,o.kt)("p",null,"No, you cannot now. The support will be added in future release."),(0,o.kt)("h2",{id:"how-to-recover-funds-send-to-ethereum-network"},"How to Recover funds send to Ethereum network"),(0,o.kt)("p",null,"If the fund is sent to one of your existing accounts, please"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to Ethereum network"),(0,o.kt)("li",{parentName:"ul"},"Add your asset"),(0,o.kt)("li",{parentName:"ul"},"Then you should see your tokens in asset list.")),(0,o.kt)("p",null,"If it's sent to accounts in a different wallet, please"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Export seed phrase of this account"),(0,o.kt)("li",{parentName:"ul"},"Recover your account in Binance Extension Wallet"),(0,o.kt)("li",{parentName:"ul"},"Switch to Ethereum network"),(0,o.kt)("li",{parentName:"ul"},"Add your asset"),(0,o.kt)("li",{parentName:"ul"},"Then you should see your tokens in asset list.")),(0,o.kt)("h2",{id:"why-should-i-use-wallet-direct"},"Why should I use Wallet Direct?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Seamless Token Transfer"),": Transfer tokens (which support BNB Beacon Chain, BNB Smart Chain and Ethereum) between paired Binance.com account and Binance Extension Wallet. Without the trouble of copy/paste address and memo every time")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"BNB Holding"),": The BNB positions of your Binance.com account will not change."))),(0,o.kt)("h2",{id:"common-issues-with-ledger-account"},"Common issues with Ledger Account"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Wallet direct does not support Ledger account at the moment.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Binance DEX still supports Ledger. However, it is recommended to use BEW if you encounter issues when using Ledger. "))),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Install our BEW extension on your browser and login with your BEW wallet account.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Import ledger to your BEW account.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Use BEW for your transactions."))),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"Alternatively, you can also reach out to Ledger for support via ",(0,o.kt)("a",{parentName:"li",href:"https://support.ledger.com/hc/en-us/categories/4404369571601-Support?support=true"},"https://support.ledger.com/hc/en-us/categories/4404369571601-Support?support=true")," .")),(0,o.kt)("h2",{id:"how-can-dapp-connect-with-bew"},"How can dApp connect with BEW?"),(0,o.kt)("p",null,"Please read this doc: ",(0,o.kt)("a",{parentName:"p",href:"https://binance-wallet.gitbook.io/binance-chain-wallet/bew-guides/dapp-interaction"},"https://binance-wallet.gitbook.io/binance-chain-wallet/bew-guides/dapp-interaction")),(0,o.kt)("h2",{id:"how-to-get-support-about-technical-issue-on-full-node"},"How to get support about technical issue on full node?"),(0,o.kt)("p",null,"Join our ",(0,o.kt)("a",{parentName:"p",href:"https://discord.com/channels/789402563035660308/912296664004452362"},"node support discord channel")))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/049c7c64.960a5675.js b/assets/js/049c7c64.ff512ba5.js
similarity index 50%
rename from assets/js/049c7c64.960a5675.js
rename to assets/js/049c7c64.ff512ba5.js
index a2140fbf72..e5b7b34dbe 100644
--- a/assets/js/049c7c64.960a5675.js
+++ b/assets/js/049c7c64.ff512ba5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[2596],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>h});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var a=1;a=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=n.createContext({}),s=function(e){var a=n.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},m=function(e){var a=s(e.components);return n.createElement(o.Provider,{value:a},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},k=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),p=s(t),k=r,h=p["".concat(o,".").concat(k)]||p[k]||g[k]||l;return t?n.createElement(h,i(i({ref:a},m),{},{components:t})):n.createElement(h,i({ref:a},m))}));function h(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=k;var d={};for(var o in a)hasOwnProperty.call(a,o)&&(d[o]=a[o]);d.originalType=e,d[p]="string"==typeof e?e:r,i[1]=d;for(var s=2;s{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var n=t(83117),r=(t(67294),t(3905));const l={},i="CLI Commands",d={unversionedId:"stake/cli-commands",id:"stake/cli-commands",title:"CLI Commands",description:"In order to run the CLI commands related to staking and delegation, it important to first download the bnbcli and tbnbcli binaries.",source:"@site/docs/stake/cli-commands.md",sourceDirName:"stake",slug:"/stake/cli-commands",permalink:"/docs/stake/cli-commands",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/stake/cli-commands.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"Overview",permalink:"/docs/stake/Staking"},next:{title:"Staking with Binance Extension Wallet",permalink:"/docs/wallet/staking"}},o={},s=[{value:"Download Binaries",id:"download-binaries",level:3},{value:"For Mainnet",id:"for-mainnet",level:3},{value:"For Testnet",id:"for-testnet",level:3},{value:"Create BSC Validator",id:"create-bsc-validator",level:2},{value:"Parameters for bsc-create-validator",id:"parameters-for-bsc-create-validator",level:3},{value:"Examples Showing Usage of bsc-create-validator",id:"examples-showing-usage-of-bsc-create-validator",level:3},{value:"If you want to create a validator with the same operator address and self-delegator address, you only need one signature for this transaction.",id:"if-you-want-to-create-a-validator-with-the-same-operator-address-and-self-delegator-address-you-only-need-one-signature-for-this-transaction",level:4},{value:"If you want a separated self-delegator address, both self-delegator and validator operator need to sign this transaction.",id:"if-you-want-a-separated-self-delegator-address-both-self-delegator-and-validator-operator-need-to-sign-this-transaction",level:4},{value:"Edit BSC Validator",id:"edit-bsc-validator",level:2},{value:"Parameters for bsc-edit-validator",id:"parameters-for-bsc-edit-validator",level:3},{value:"Examples",id:"examples",level:3},{value:"Delegate BNB",id:"delegate-bnb",level:2},{value:"Parameters for staking bsc-delegate",id:"parameters-for-staking-bsc-delegate",level:3},{value:"Example",id:"example",level:3},{value:"Redelegate BNB",id:"redelegate-bnb",level:2},{value:"Parameters for staking bsc-redelegate",id:"parameters-for-staking-bsc-redelegate",level:3},{value:"Undelegate BNB",id:"undelegate-bnb",level:2},{value:"Parameters for staking bsc-unbond",id:"parameters-for-staking-bsc-unbond",level:3},{value:"Example",id:"example-1",level:3},{value:"Query side chain vaildator by operator",id:"query-side-chain-vaildator-by-operator",level:2},{value:"Parameters for staking side-validator",id:"parameters-for-staking-side-validator",level:3},{value:"Example",id:"example-2",level:3},{value:"Query side chain delegation by delegator and operator",id:"query-side-chain-delegation-by-delegator-and-operator",level:2},{value:"Parameters for staking side-delegation",id:"parameters-for-staking-side-delegation",level:3},{value:"Example",id:"example-3",level:3},{value:"Query side chain delegations by delegator",id:"query-side-chain-delegations-by-delegator",level:2},{value:"Parameters for staking side-delegations",id:"parameters-for-staking-side-delegations",level:3},{value:"Example",id:"example-4",level:3},{value:"Query side chain unbonding delegation",id:"query-side-chain-unbonding-delegation",level:2},{value:"Parameters for staking side-unbonding-delegation",id:"parameters-for-staking-side-unbonding-delegation",level:3},{value:"Example",id:"example-5",level:3},{value:"Query side chain unbonding delegations by delegator",id:"query-side-chain-unbonding-delegations-by-delegator",level:3},{value:"Parameters for staking side-unbonding-delegations",id:"parameters-for-staking-side-unbonding-delegations",level:4},{value:"Example",id:"example-6",level:3},{value:"Query side chain unbonding delegations by validator",id:"query-side-chain-unbonding-delegations-by-validator",level:2},{value:"Parameters for staking side-val-unbonding-delegations",id:"parameters-for-staking-side-val-unbonding-delegations",level:3},{value:"Example",id:"example-7",level:3},{value:"Query side chain re-delegation",id:"query-side-chain-re-delegation",level:2},{value:"Parameters for staking side-redelegation",id:"parameters-for-staking-side-redelegation",level:3},{value:"Example",id:"example-8",level:3},{value:"Query side chain re-delegations by delegator",id:"query-side-chain-re-delegations-by-delegator",level:3},{value:"Parameters for staking side-redelegations",id:"parameters-for-staking-side-redelegations",level:4},{value:"Example",id:"example-9",level:3},{value:"Query side chain re-delegations by validator",id:"query-side-chain-re-delegations-by-validator",level:2},{value:"Parameters for staking side-val-redelegations",id:"parameters-for-staking-side-val-redelegations",level:3},{value:"Example",id:"example-10",level:3},{value:"Query side chain staking pool",id:"query-side-chain-staking-pool",level:2},{value:"Parameters for staking side-pool",id:"parameters-for-staking-side-pool",level:3},{value:"Example",id:"example-11",level:3},{value:"Query side chain top validators",id:"query-side-chain-top-validators",level:2},{value:"Parameters for staking side-top-validators",id:"parameters-for--staking-side-top-validators",level:3},{value:"Example",id:"example-12",level:3},{value:"Query side chain validators count",id:"query-side-chain-validators-count",level:2},{value:"Parameters for staking side-validators-count",id:"parameters-for-staking-side-validators-count",level:3},{value:"Example",id:"example-13",level:3}],m={toc:s},p="wrapper";function g(e){let{components:a,...t}=e;return(0,r.kt)(p,(0,n.Z)({},m,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"cli-commands"},"CLI Commands"),(0,r.kt)("p",null,"In order to run the CLI commands related to staking and delegation, it important to first download the ",(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"tbnbcli")," binaries."),(0,r.kt)("h3",{id:"download-binaries"},"Download Binaries"),(0,r.kt)("h3",{id:"for-mainnet"},"For Mainnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h3",{id:"for-testnet"},"For Testnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"tbnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h2",{id:"create-bsc-validator"},"Create BSC Validator"),(0,r.kt)("h3",{id:"parameters-for-bsc-create-validator"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"bsc-create-validator")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, also be used as the validator operator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--address-delegator"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional, bech32 address of the self-delegator. if not provided, --from address will be used as self-delegator."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"2000000000000:BNB (means 20000 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"self-delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},"validator name"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional identity signature (ex. UPort or Keybase)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},"optional website"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},"optional details"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The initial commission rate percentage, it has 8 decimal places."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"95000000 (0.95 or 95%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission rate percentage, it has 8 decimal places. You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-change-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"3000000 (0.03 or 3%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission change rate percentage (per day). You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-cons-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"consensus address of the validator on side chain, please use hex format prefixed with 0x"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--home"),(0,r.kt)("td",{parentName:"tr",align:null},"/path/to/cli_home"),(0,r.kt)("td",{parentName:"tr",align:null},"home directory of bnbcli data and config, default to \u201c~/.bnbcli\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("p",null,"Some address parameters we need to highlight here:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Usage"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"DelegatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"Self delegator address. For BC, this address also used to collect fees.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ValidatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"validator operator\u2019s address, used in governance ops like voting.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideConsAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"block producer\u2019s address on side chain, i.e. consensus address. BC has another parameter named ",(0,r.kt)("inlineCode",{parentName:"td"},"PubKey"),", here SideConsAddr replaced that for BSC. Only BSC validators need this parameter.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideVoteAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"A bls public key. It's used by validators to vote for blocks, so the BSC chain can finalize blocks within two block periods in normal. \uff5c")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideFeeAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"fees are collected in this address on BSC, Only BSC validators need this parameter. Due to different token units, there are some BNB left as dust when sending block rewards from BNB Smart Chain to BNB Beacon Chain. Those BNB will be sent to fee address.")))),(0,r.kt)("h3",{id:"examples-showing-usage-of-bsc-create-validator"},"Examples Showing Usage of ",(0,r.kt)("inlineCode",{parentName:"h3"},"bsc-create-validator")),(0,r.kt)("h4",{id:"if-you-want-to-create-a-validator-with-the-same-operator-address-and-self-delegator-address-you-only-need-one-signature-for-this-transaction"},"If you want to create a validator with the same operator address and self-delegator address, you only need one signature for this transaction."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 1000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n')),(0,r.kt)("h4",{id:"if-you-want-a-separated-self-delegator-address-both-self-delegator-and-validator-operator-need-to-sign-this-transaction"},"If you want a separated self-delegator address, both ",(0,r.kt)("inlineCode",{parentName:"h4"},"self-delegator")," and ",(0,r.kt)("inlineCode",{parentName:"h4"},"validator operator")," need to sign this transaction."),(0,r.kt)("p",null,"Here we need to use another two commands to support multiple signatures."),(0,r.kt)("p",null,"a. Use the following commands appended with a parameter ",(0,r.kt)("inlineCode",{parentName:"p"},"**--generate-only**")," and save the result to a json file which would be used to be signed."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n')),(0,r.kt)("p",null,"b. both validator operator(--from) and self-delegator(--address-delegator) use ",(0,r.kt)("inlineCode",{parentName:"p"},"**bnbcli sign**")," command to sign the file from a)."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Delegator")," address need to sign ",(0,r.kt)("inlineCode",{parentName:"p"},"unsigned.json")," first"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --from {delegator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --from {delegator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> delegator-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {delegator-address} >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {delegator-address} >> delegator-signed.json\n")),(0,r.kt)("p",null,"Then, ",(0,r.kt)("strong",{parentName:"p"},"validator")," operator addres will sign it later."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --from {validator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --from {validator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> both-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {validator-address} >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {validator-address} >> both-signed.json\n")),(0,r.kt)("p",null,"c. Use ",(0,r.kt)("inlineCode",{parentName:"p"},"**bnbcli broadcast**")," to send the transaction from above to the blockchain nodes."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli broadcast both-signed.json --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris\n\n## testnet\n./tbnbcli broadcast both-signed.json --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges\n")),(0,r.kt)("p",null,"Verify your transaction in ",(0,r.kt)("a",{parentName:"p",href:"https://explorer.binance.org/"},"mainnet-explorer")," or ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/"},"testnet-explorer")),(0,r.kt)("h2",{id:"edit-bsc-validator"},"Edit BSC Validator"),(0,r.kt)("h3",{id:"parameters-for-bsc-edit-validator"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"bsc-edit-validator")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that also indicate the validator that you want to edit."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},'validator name (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},'optional identity signature (ex. UPort or Keybase) (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},'optional website (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},'optional details (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The new commission rate percentage"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h3",{id:"examples"},"Examples"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-edit-validator --chain-id Binance-Chain-Tigris --side-chain-id bsc --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n##testnet\nbash tbnbcli staking bsc-edit-validator --chain-id Binance-Chain-Ganges --side-chain-id chapel --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n")),(0,r.kt)("h2",{id:"delegate-bnb"},"Delegate BNB"),(0,r.kt)("h3",{id:"parameters-for-staking-bsc-delegate"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking bsc-delegate")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-delegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-delegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h2",{id:"redelegate-bnb"},"Redelegate BNB"),(0,r.kt)("h3",{id:"parameters-for-staking-bsc-redelegate"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking bsc-redelegate")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-source"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the source validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-dest"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1yyy"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the destination validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,"###s Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-redelegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n\n\n### testnet\n\ntbnbcli staking bsc-redelegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h2",{id:"undelegate-bnb"},"Undelegate BNB"),(0,r.kt)("h3",{id:"parameters-for-staking-bsc-unbond"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking bsc-unbond")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-1"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-unbond --chain-id Binance-Chain-Ganges --side-chain-id chapel --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-vaildator-by-operator"},"Query side chain vaildator by operator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-validator"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-validator")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-2"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validator bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-delegation-by-delegator-and-operator"},"Query side chain delegation by delegator and operator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-delegation"},"Parameters for staking side-delegation"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-3"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegation bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --chain-id=Binance-Chain-Tigris --side-chain-id bsc --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-delegations-by-delegator"},"Query side chain delegations by delegator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-delegations"},"Parameters for staking side-delegations"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-4"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegations bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d --side-chain-id bsc --node=0.0.0.0:26657 --chain-id=Binance-Chain-Tigris --trust-node\n")),(0,r.kt)("h2",{id:"query-side-chain-unbonding-delegation"},"Query side chain unbonding delegation"),(0,r.kt)("h3",{id:"parameters-for-staking-side-unbonding-delegation"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-unbonding-delegation")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation [delegator-addr] [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-5"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegations-by-delegator"},"Query side chain unbonding delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-unbonding-delegations"},"Parameters for staking side-unbonding-delegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-6"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-unbonding-delegations-by-validator"},"Query side chain unbonding delegations by validator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-val-unbonding-delegations"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-val-unbonding-delegations")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegation [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-7"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-re-delegation"},"Query side chain re-delegation"),(0,r.kt)("h3",{id:"parameters-for-staking-side-redelegation"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-redelegation")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation [delegator-addr] [src-operator-addr] [dst-operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-8"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegations-by-delegator"},"Query side chain re-delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-redelegations"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h4"},"staking side-redelegations")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-9"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-re-delegations-by-validator"},"Query side chain re-delegations by validator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-val-redelegations"},"Parameters for staking side-val-redelegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-10"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-staking-pool"},"Query side chain staking pool"),(0,r.kt)("h3",{id:"parameters-for-staking-side-pool"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-pool")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-11"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-pool --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-top-validators"},"Query side chain top validators"),(0,r.kt)("h3",{id:"parameters-for--staking-side-top-validators"},"Parameters for staking side-top-validators"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--top"),(0,r.kt)("td",{parentName:"tr",align:null},"10"),(0,r.kt)("td",{parentName:"tr",align:null},"number of validators to be returned. set as maximum number of validators by default"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("h3",{id:"example-12"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-top-validators --top 10 --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-validators-count"},"Query side chain validators count"),(0,r.kt)("h3",{id:"parameters-for-staking-side-validators-count"},"Parameters for staking side-validators-count"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--jail-involved"),(0,r.kt)("td",{parentName:"tr",align:null},"true"),(0,r.kt)("td",{parentName:"tr",align:null},"if true, meaning that the jailed validators will be involved to count"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("h3",{id:"example-13"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validators-count --jail-involved --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")))}g.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[2596],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>h});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var a=1;a=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=n.createContext({}),s=function(e){var a=n.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},m=function(e){var a=s(e.components);return n.createElement(o.Provider,{value:a},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},k=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),p=s(t),k=r,h=p["".concat(o,".").concat(k)]||p[k]||g[k]||l;return t?n.createElement(h,i(i({ref:a},m),{},{components:t})):n.createElement(h,i({ref:a},m))}));function h(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=k;var d={};for(var o in a)hasOwnProperty.call(a,o)&&(d[o]=a[o]);d.originalType=e,d[p]="string"==typeof e?e:r,i[1]=d;for(var s=2;s{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var n=t(83117),r=(t(67294),t(3905));const l={},i="CLI Commands",d={unversionedId:"stake/cli-commands",id:"stake/cli-commands",title:"CLI Commands",description:"In order to run the CLI commands related to staking and delegation, it important to first download the bnbcli and tbnbcli binaries.",source:"@site/docs/stake/cli-commands.md",sourceDirName:"stake",slug:"/stake/cli-commands",permalink:"/docs/stake/cli-commands",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/stake/cli-commands.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"Overview",permalink:"/docs/stake/Staking"},next:{title:"Staking with Binance Extension Wallet",permalink:"/docs/wallet/staking"}},o={},s=[{value:"Download Binaries",id:"download-binaries",level:3},{value:"For Mainnet",id:"for-mainnet",level:3},{value:"For Testnet",id:"for-testnet",level:3},{value:"Create BSC Validator",id:"create-bsc-validator",level:2},{value:"Parameters for bsc-create-validator",id:"parameters-for-bsc-create-validator",level:3},{value:"Examples Showing Usage of bsc-create-validator",id:"examples-showing-usage-of-bsc-create-validator",level:3},{value:"If you want to create a validator with the same operator address and self-delegator address, you only need one signature for this transaction.",id:"if-you-want-to-create-a-validator-with-the-same-operator-address-and-self-delegator-address-you-only-need-one-signature-for-this-transaction",level:4},{value:"If you want a separated self-delegator address, both self-delegator and validator operator need to sign this transaction.",id:"if-you-want-a-separated-self-delegator-address-both-self-delegator-and-validator-operator-need-to-sign-this-transaction",level:4},{value:"Edit BSC Validator",id:"edit-bsc-validator",level:2},{value:"Parameters for bsc-edit-validator",id:"parameters-for-bsc-edit-validator",level:3},{value:"Examples",id:"examples",level:3},{value:"Delegate BNB",id:"delegate-bnb",level:2},{value:"Parameters for staking bsc-delegate",id:"parameters-for-staking-bsc-delegate",level:3},{value:"Example",id:"example",level:3},{value:"Redelegate BNB",id:"redelegate-bnb",level:2},{value:"Parameters for staking bsc-redelegate",id:"parameters-for-staking-bsc-redelegate",level:3},{value:"Undelegate BNB",id:"undelegate-bnb",level:2},{value:"Parameters for staking bsc-unbond",id:"parameters-for-staking-bsc-unbond",level:3},{value:"Example",id:"example-1",level:3},{value:"Query side chain vaildator by operator",id:"query-side-chain-vaildator-by-operator",level:2},{value:"Parameters for staking side-validator",id:"parameters-for-staking-side-validator",level:3},{value:"Example",id:"example-2",level:3},{value:"Query side chain delegation by delegator and operator",id:"query-side-chain-delegation-by-delegator-and-operator",level:2},{value:"Parameters for staking side-delegation",id:"parameters-for-staking-side-delegation",level:3},{value:"Example",id:"example-3",level:3},{value:"Query side chain delegations by delegator",id:"query-side-chain-delegations-by-delegator",level:2},{value:"Parameters for staking side-delegations",id:"parameters-for-staking-side-delegations",level:3},{value:"Example",id:"example-4",level:3},{value:"Query side chain unbonding delegation",id:"query-side-chain-unbonding-delegation",level:2},{value:"Parameters for staking side-unbonding-delegation",id:"parameters-for-staking-side-unbonding-delegation",level:3},{value:"Example",id:"example-5",level:3},{value:"Query side chain unbonding delegations by delegator",id:"query-side-chain-unbonding-delegations-by-delegator",level:3},{value:"Parameters for staking side-unbonding-delegations",id:"parameters-for-staking-side-unbonding-delegations",level:4},{value:"Example",id:"example-6",level:3},{value:"Query side chain unbonding delegations by validator",id:"query-side-chain-unbonding-delegations-by-validator",level:2},{value:"Parameters for staking side-val-unbonding-delegations",id:"parameters-for-staking-side-val-unbonding-delegations",level:3},{value:"Example",id:"example-7",level:3},{value:"Query side chain re-delegation",id:"query-side-chain-re-delegation",level:2},{value:"Parameters for staking side-redelegation",id:"parameters-for-staking-side-redelegation",level:3},{value:"Example",id:"example-8",level:3},{value:"Query side chain re-delegations by delegator",id:"query-side-chain-re-delegations-by-delegator",level:3},{value:"Parameters for staking side-redelegations",id:"parameters-for-staking-side-redelegations",level:4},{value:"Example",id:"example-9",level:3},{value:"Query side chain re-delegations by validator",id:"query-side-chain-re-delegations-by-validator",level:2},{value:"Parameters for staking side-val-redelegations",id:"parameters-for-staking-side-val-redelegations",level:3},{value:"Example",id:"example-10",level:3},{value:"Query side chain staking pool",id:"query-side-chain-staking-pool",level:2},{value:"Parameters for staking side-pool",id:"parameters-for-staking-side-pool",level:3},{value:"Example",id:"example-11",level:3},{value:"Query side chain top validators",id:"query-side-chain-top-validators",level:2},{value:"Parameters for staking side-top-validators",id:"parameters-for--staking-side-top-validators",level:3},{value:"Example",id:"example-12",level:3},{value:"Query side chain validators count",id:"query-side-chain-validators-count",level:2},{value:"Parameters for staking side-validators-count",id:"parameters-for-staking-side-validators-count",level:3},{value:"Example",id:"example-13",level:3}],m={toc:s},p="wrapper";function g(e){let{components:a,...t}=e;return(0,r.kt)(p,(0,n.Z)({},m,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"cli-commands"},"CLI Commands"),(0,r.kt)("p",null,"In order to run the CLI commands related to staking and delegation, it important to first download the ",(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"tbnbcli")," binaries."),(0,r.kt)("h3",{id:"download-binaries"},"Download Binaries"),(0,r.kt)("h3",{id:"for-mainnet"},"For Mainnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h3",{id:"for-testnet"},"For Testnet"),(0,r.kt)("p",null,"Please download ",(0,r.kt)("inlineCode",{parentName:"p"},"tbnbcli")," binary from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"here")),(0,r.kt)("h2",{id:"create-bsc-validator"},"Create BSC Validator"),(0,r.kt)("h3",{id:"parameters-for-bsc-create-validator"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"bsc-create-validator")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, also be used as the validator operator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--address-delegator"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional, bech32 address of the self-delegator. if not provided, --from address will be used as self-delegator."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"2000000000000:BNB (means 20000 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"self-delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},"validator name"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"optional identity signature (ex. UPort or Keybase)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},"optional website"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},"optional details"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The initial commission rate percentage, it has 8 decimal places."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"95000000 (0.95 or 95%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission rate percentage, it has 8 decimal places. You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-max-change-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"3000000 (0.03 or 3%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The maximum commission change rate percentage (per day). You can not update this rate."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-cons-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"consensus address of the validator on side chain, please use hex format prefixed with 0x"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--home"),(0,r.kt)("td",{parentName:"tr",align:null},"/path/to/cli_home"),(0,r.kt)("td",{parentName:"tr",align:null},"home directory of bnbcli data and config, default to \u201c~/.bnbcli\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("p",null,"Some address parameters we need to highlight here:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Usage"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"DelegatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"Self delegator address. For BC, this address also used to collect fees.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ValidatorAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"validator operator\u2019s address, used in governance ops like voting.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideConsAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"block producer\u2019s address on side chain, i.e. consensus address. BC has another parameter named ",(0,r.kt)("inlineCode",{parentName:"td"},"PubKey"),", here SideConsAddr replaced that for BSC. Only BSC validators need this parameter.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideVoteAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"A bls public key. It's used by validators to vote for blocks, so the BSC chain can finalize blocks within two block periods in normal. \uff5c")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SideFeeAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"fees are collected in this address on BSC, Only BSC validators need this parameter. Due to different token units, there are some BNB left as dust when sending block rewards from BNB Smart Chain to BNB Beacon Chain. Those BNB will be sent to fee address.")))),(0,r.kt)("h3",{id:"examples-showing-usage-of-bsc-create-validator"},"Examples Showing Usage of ",(0,r.kt)("inlineCode",{parentName:"h3"},"bsc-create-validator")),(0,r.kt)("h4",{id:"if-you-want-to-create-a-validator-with-the-same-operator-address-and-self-delegator-address-you-only-need-one-signature-for-this-transaction"},"If you want to create a validator with the same operator address and self-delegator address, you only need one signature for this transaction."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 1000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --amount 2000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "[www.example.](http://www.binance.org)com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n')),(0,r.kt)("h4",{id:"if-you-want-a-separated-self-delegator-address-both-self-delegator-and-validator-operator-need-to-sign-this-transaction"},"If you want a separated self-delegator address, both ",(0,r.kt)("inlineCode",{parentName:"h4"},"self-delegator")," and ",(0,r.kt)("inlineCode",{parentName:"h4"},"validator operator")," need to sign this transaction."),(0,r.kt)("p",null,"Here we need to use another two commands to support multiple signatures."),(0,r.kt)("p",null,"a. Use the following commands appended with a parameter ",(0,r.kt)("inlineCode",{parentName:"p"},"**--generate-only**")," and save the result to a json file which would be used to be signed."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'## mainnet\nbnbcli staking bsc-create-validator --chain-id Binance-Chain-Tigris --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id bsc --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n\n## testnet\ntbnbcli staking bsc-create-validator --chain-id Binance-Chain-Ganges --from {validator-operator-address} --address-delegator {delegator-address} --amount 5000000000000:BNB --moniker bsc_v1 --identity "xxx" --website "www.example.com" --details "bsc validator node 1" --commission-rate 80000000 --commission-max-rate 95000000 --commission-max-change-rate 3000000 --side-chain-id chapel --side-cons-addr 0x9B24Ee0BfBf708b541fB65b6087D6e991a0D11A8 --side-fee-addr 0x5885d2A27Bd4c6D111B83Bc3fC359eD951E8E6F8 --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli --generate-only > unsigned.json\n')),(0,r.kt)("p",null,"b. both validator operator(--from) and self-delegator(--address-delegator) use ",(0,r.kt)("inlineCode",{parentName:"p"},"**bnbcli sign**")," command to sign the file from a)."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Delegator")," address need to sign ",(0,r.kt)("inlineCode",{parentName:"p"},"unsigned.json")," first"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --from {delegator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --from {delegator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> delegator-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {delegator-address} >> delegator-signed.json\n\n## testnet\n./tbnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {delegator-address} >> delegator-signed.json\n")),(0,r.kt)("p",null,"Then, ",(0,r.kt)("strong",{parentName:"p"},"validator")," operator addres will sign it later."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Online Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --from {validator-address} --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --from {validator-address} --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges >> both-signed.json\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Offline Mode")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name {validator-address} >> both-signed.json\n\n## testnet\n./tbnbcli sign delegator-signed.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name {validator-address} >> both-signed.json\n")),(0,r.kt)("p",null,"c. Use ",(0,r.kt)("inlineCode",{parentName:"p"},"**bnbcli broadcast**")," to send the transaction from above to the blockchain nodes."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\n./bnbcli broadcast both-signed.json --node dataseed4.bnbchain.org:80 --chain-id Binance-Chain-Tigris\n\n## testnet\n./tbnbcli broadcast both-signed.json --node data-seed-pre-0-s3.bnbchain.org:80 --chain-id Binance-Chain-Ganges\n")),(0,r.kt)("p",null,"Verify your transaction in ",(0,r.kt)("a",{parentName:"p",href:"https://explorer.bnbchain.org/"},"mainnet-explorer")," or ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/"},"testnet-explorer")),(0,r.kt)("h2",{id:"edit-bsc-validator"},"Edit BSC Validator"),(0,r.kt)("h3",{id:"parameters-for-bsc-edit-validator"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"bsc-edit-validator")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that also indicate the validator that you want to edit."),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"myval1"),(0,r.kt)("td",{parentName:"tr",align:null},'validator name (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--identity"),(0,r.kt)("td",{parentName:"tr",align:null},"xxx"),(0,r.kt)("td",{parentName:"tr",align:null},'optional identity signature (ex. UPort or Keybase) (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--website"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"http://www.example.com"},"www.example.com")),(0,r.kt)("td",{parentName:"tr",align:null},'optional website (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--details"),(0,r.kt)("td",{parentName:"tr",align:null},"some details"),(0,r.kt)("td",{parentName:"tr",align:null},'optional details (default "',"[do-not-modify]",'")'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--commission-rate"),(0,r.kt)("td",{parentName:"tr",align:null},"80000000(that means 0.8 or 80%)"),(0,r.kt)("td",{parentName:"tr",align:null},"The new commission rate percentage"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-vote-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0x1234abcd"),(0,r.kt)("td",{parentName:"tr",align:null},"vote pub key of the validator on side chain, please use hex format prefixed with 0x, supported after BEP126"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-fee-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"0xabcd1234"),(0,r.kt)("td",{parentName:"tr",align:null},"address that validator collects fee rewards on side chain, please use hex format prefixed with 0x."),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h3",{id:"examples"},"Examples"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-edit-validator --chain-id Binance-Chain-Tigris --side-chain-id bsc --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n\n##testnet\nbash tbnbcli staking bsc-edit-validator --chain-id Binance-Chain-Ganges --side-chain-id chapel --moniker bsc_v1_new --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --side-vote-addr 0x85e6972fc98cd3c81d64d40e325acfed44365b97a7567a27939c14dbc7512ddcf54cb1284eb637cfa308ae4e00cb5588 --home ~/home_cli\n")),(0,r.kt)("h2",{id:"delegate-bnb"},"Delegate BNB"),(0,r.kt)("h3",{id:"parameters-for-staking-bsc-delegate"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking bsc-delegate")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-delegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n\n## testnet\ntbnbcli staking bsc-delegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h2",{id:"redelegate-bnb"},"Redelegate BNB"),(0,r.kt)("h3",{id:"parameters-for-staking-bsc-redelegate"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking bsc-redelegate")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-source"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the source validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--addr-validator-dest"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1yyy"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the destination validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("p",null,"###s Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"## mainnet\nbnbcli staking bsc-redelegate --chain-id Binance-Chain-Tigris --side-chain-id bsc --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n\n\n### testnet\n\ntbnbcli staking bsc-redelegate --chain-id Binance-Chain-Ganges --side-chain-id chapel --from tbnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --addr-validator-source bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --addr-validator-dest bva1jam9wn8drs97mskmwg7jwm09kuy5yjumvvx6r2 --amount1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h2",{id:"undelegate-bnb"},"Undelegate BNB"),(0,r.kt)("h3",{id:"parameters-for-staking-bsc-unbond"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking bsc-unbond")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--from"),(0,r.kt)("td",{parentName:"tr",align:null},"bnb1xxx/tbnb1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"address of private key with which to sign this tx, that is also the delegator address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--validator"),(0,r.kt)("td",{parentName:"tr",align:null},"bva1xxx"),(0,r.kt)("td",{parentName:"tr",align:null},"bech32 address of the validator, starts with \u201cbva\u201d"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000:BNB (10 BNB)"),(0,r.kt)("td",{parentName:"tr",align:null},"delegation amount, it has 8 decimal places"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-1"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking bsc-unbond --chain-id Binance-Chain-Ganges --side-chain-id chapel --from bnb1tfh30c67mkzfz06as2hk0756mgdx8mgypu7ajl --validator bva1tfh30c67mkzfz06as2hk0756mgdx8mgypqldvm --amount 1000000000:BNB --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-vaildator-by-operator"},"Query side chain vaildator by operator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-validator"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-validator")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-2"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validator bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-delegation-by-delegator-and-operator"},"Query side chain delegation by delegator and operator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-delegation"},"Parameters for staking side-delegation"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-3"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegation bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --chain-id=Binance-Chain-Tigris --side-chain-id bsc --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-delegations-by-delegator"},"Query side chain delegations by delegator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-delegations"},"Parameters for staking side-delegations"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of binance chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-4"},"Example"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mainnet")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-delegations bnb1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcqre0d --side-chain-id bsc --node=0.0.0.0:26657 --chain-id=Binance-Chain-Tigris --trust-node\n")),(0,r.kt)("h2",{id:"query-side-chain-unbonding-delegation"},"Query side chain unbonding delegation"),(0,r.kt)("h3",{id:"parameters-for-staking-side-unbonding-delegation"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-unbonding-delegation")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation [delegator-addr] [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-5"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-unbonding-delegations-by-delegator"},"Query side chain unbonding delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-unbonding-delegations"},"Parameters for staking side-unbonding-delegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-6"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-unbonding-delegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-unbonding-delegations-by-validator"},"Query side chain unbonding delegations by validator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-val-unbonding-delegations"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-val-unbonding-delegations")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegation [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-7"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-unbonding-delegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-re-delegation"},"Query side chain re-delegation"),(0,r.kt)("h3",{id:"parameters-for-staking-side-redelegation"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-redelegation")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation [delegator-addr] [src-operator-addr] [dst-operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-8"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegation bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n bva1hz5sg3u0v4gq2veyw5355z7qx6y7uuqhcuzf3f --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h3",{id:"query-side-chain-re-delegations-by-delegator"},"Query side chain re-delegations by delegator"),(0,r.kt)("h4",{id:"parameters-for-staking-side-redelegations"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h4"},"staking side-redelegations")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations [delegator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-9"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-redelegations bnb1rtzy6szuyzcj4amfn6uarvne8a5epxrdklwhhj --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-re-delegations-by-validator"},"Query side chain re-delegations by validator"),(0,r.kt)("h3",{id:"parameters-for-staking-side-val-redelegations"},"Parameters for staking side-val-redelegations"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Usage:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations [operator-addr] [flags]\n")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-10"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-val-redelegations bva12hlquylu78cjylk5zshxpdj6hf3t0tahqmr98n --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-staking-pool"},"Query side chain staking pool"),(0,r.kt)("h3",{id:"parameters-for-staking-side-pool"},"Parameters for ",(0,r.kt)("inlineCode",{parentName:"h3"},"staking side-pool")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"bsc/chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")))),(0,r.kt)("h3",{id:"example-11"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-pool --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-top-validators"},"Query side chain top validators"),(0,r.kt)("h3",{id:"parameters-for--staking-side-top-validators"},"Parameters for staking side-top-validators"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"parameter name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--top"),(0,r.kt)("td",{parentName:"tr",align:null},"10"),(0,r.kt)("td",{parentName:"tr",align:null},"number of validators to be returned. set as maximum number of validators by default"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("h3",{id:"example-12"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-top-validators --top 10 --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")),(0,r.kt)("h2",{id:"query-side-chain-validators-count"},"Query side chain validators count"),(0,r.kt)("h3",{id:"parameters-for-staking-side-validators-count"},"Parameters for staking side-validators-count"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Parameter Name")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Example")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Explanation")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Required")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-XXX"),(0,r.kt)("td",{parentName:"tr",align:null},"the chain id of BNB Beacon Chain"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--side-chain-id"),(0,r.kt)("td",{parentName:"tr",align:null},"chapel"),(0,r.kt)("td",{parentName:"tr",align:null},"chain-id of the side chain the validator belongs to"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"--jail-involved"),(0,r.kt)("td",{parentName:"tr",align:null},"true"),(0,r.kt)("td",{parentName:"tr",align:null},"if true, meaning that the jailed validators will be involved to count"),(0,r.kt)("td",{parentName:"tr",align:null},"Option")))),(0,r.kt)("h3",{id:"example-13"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"bnbcli staking side-validators-count --jail-involved --side-chain-id=bsc --chain-id=Binance-Chain-Tigris --home ~/home_cli\n")))}g.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/3ca8d367.3b5a2b29.js b/assets/js/3ca8d367.9e5dce2d.js
similarity index 75%
rename from assets/js/3ca8d367.3b5a2b29.js
rename to assets/js/3ca8d367.9e5dce2d.js
index 5b1e61c8f8..2de33e9e9b 100644
--- a/assets/js/3ca8d367.3b5a2b29.js
+++ b/assets/js/3ca8d367.9e5dce2d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[2280],{3905:(t,e,a)=>{a.d(e,{Zo:()=>k,kt:()=>o});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function p(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var m=n.createContext({}),d=function(t){var e=n.useContext(m),a=e;return t&&(a="function"==typeof t?t(e):p(p({},e),t)),a},k=function(t){var e=d(t.components);return n.createElement(m.Provider,{value:e},t.children)},N="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},g=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,m=t.parentName,k=i(t,["components","mdxType","originalType","parentName"]),N=d(a),g=r,o=N["".concat(m,".").concat(g)]||N[g]||u[g]||l;return a?n.createElement(o,p(p({ref:e},k),{},{components:a})):n.createElement(o,p({ref:e},k))}));function o(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,p=new Array(l);p[0]=g;var i={};for(var m in e)hasOwnProperty.call(e,m)&&(i[m]=e[m]);i.originalType=t,i[N]="string"==typeof t?t:r,p[1]=i;for(var d=2;d{a.r(e),a.d(e,{assets:()=>m,contentTitle:()=>p,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=a(83117),r=(a(67294),a(3905));const l={},p="HTTP API",i={unversionedId:"api-reference/dex-api/paths",id:"api-reference/dex-api/paths",title:"HTTP API",description:"Within the ecosystem of BNB Beacon Chain, there are several accelerated nodes which provides more secure and faster lines to access BNB Beacon Chain and DEX data service including HTTP API.",source:"@site/docs/api-reference/dex-api/paths.md",sourceDirName:"api-reference/dex-api",slug:"/api-reference/dex-api/paths",permalink:"/docs/api-reference/dex-api/paths",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/api-reference/dex-api/paths.md",tags:[],version:"current",frontMatter:{}},m={},d=[{value:"/api/v1/time",id:"apiv1time",level:3},{value:"GET",id:"get",level:5},{value:"/api/v1/node-info",id:"apiv1node-info",level:3},{value:"GET",id:"get-1",level:5},{value:"/api/v1/validators",id:"apiv1validators",level:3},{value:"GET",id:"get-2",level:5},{value:"/api/v1/peers",id:"apiv1peers",level:3},{value:"GET",id:"get-3",level:5},{value:"/api/v1/account/{address}",id:"apiv1accountaddress",level:3},{value:"GET",id:"get-4",level:5},{value:"/api/v1/account/{address}/sequence",id:"apiv1accountaddresssequence",level:3},{value:"GET",id:"get-5",level:5},{value:"/api/v1/tx/{hash}",id:"apiv1txhash",level:3},{value:"GET",id:"get-6",level:5},{value:"/api/v1/tokens",id:"apiv1tokens",level:3},{value:"GET",id:"get-7",level:5},{value:"/api/v1/markets",id:"apiv1markets",level:3},{value:"GET",id:"get-8",level:5},{value:"/api/v1/fees",id:"apiv1fees",level:3},{value:"GET",id:"get-9",level:5},{value:"/api/v1/depth",id:"apiv1depth",level:3},{value:"GET",id:"get-10",level:5},{value:"/api/v1/broadcast",id:"apiv1broadcast",level:3},{value:"POST",id:"post",level:5},{value:"/api/v1/klines",id:"apiv1klines",level:3},{value:"GET",id:"get-11",level:5},{value:"/api/v1/orders/closed",id:"apiv1ordersclosed",level:3},{value:"GET",id:"get-12",level:5},{value:"/api/v1/orders/open",id:"apiv1ordersopen",level:3},{value:"GET",id:"get-13",level:5},{value:"/api/v1/orders/{id}",id:"apiv1ordersid",level:3},{value:"GET",id:"get-14",level:5},{value:"/api/v1/ticker/24hr",id:"apiv1ticker24hr",level:3},{value:"GET",id:"get-15",level:5},{value:"/api/v1/trades",id:"apiv1trades",level:3},{value:"GET",id:"get-16",level:5},{value:"/api/v1/block-exchange-fee",id:"apiv1block-exchange-fee",level:3},{value:"GET",id:"get-17",level:5},{value:"/api/v1/transactions",id:"apiv1transactions",level:3},{value:"GET",id:"get-18",level:5},{value:"/api/v1/transactions-in-block/{blockHeight}",id:"apiv1transactions-in-blockblockheight",level:3},{value:"GET",id:"get-19",level:5},{value:"/api/v2/transactions-in-block/{blockHeight}",id:"apiv2transactions-in-blockblockheight",level:3},{value:"GET",id:"get-20",level:5},{value:"/api/v1/atomic-swaps",id:"apiv1atomic-swaps",level:3},{value:"GET",id:"get-21",level:5},{value:"/api/v1/atomic-swaps/{id}",id:"apiv1atomic-swapsid",level:3},{value:"GET",id:"get-22",level:5},{value:"/api/v1/timelocks/{address}",id:"apiv1timelocksaddress",level:3},{value:"GET",id:"get-23",level:5},{value:"/api/v1/timelock/{account_addr}?(id={recordid})",id:"apiv1timelockaccount_addridrecordid",level:3},{value:"GET",id:"get-24",level:5},{value:"/api/v1/mini/tokens",id:"apiv1minitokens",level:3},{value:"GET",id:"get-25",level:5},{value:"/api/v1/mini/markets",id:"apiv1minimarkets",level:3},{value:"GET",id:"get-26",level:5},{value:"/api/v1/mini/klines",id:"apiv1miniklines",level:3},{value:"GET",id:"get-27",level:5},{value:"/api/v1/mini/orders/closed",id:"apiv1miniordersclosed",level:3},{value:"GET",id:"get-28",level:5},{value:"/api/v1/mini/orders/open",id:"apiv1miniordersopen",level:3},{value:"GET",id:"get-29",level:5},{value:"/api/v1/mini/orders/{id}",id:"apiv1miniordersid",level:3},{value:"GET",id:"get-30",level:5},{value:"/api/v1/mini/ticker/24hr",id:"apiv1miniticker24hr",level:3},{value:"GET",id:"get-31",level:5},{value:"/api/v1/mini/trades",id:"apiv1minitrades",level:3},{value:"GET",id:"get-32",level:5},{value:"Models",id:"models",level:3},{value:"Error",id:"error",level:3},{value:"Times",id:"times",level:3},{value:"Validators",id:"validators",level:3},{value:"Validator",id:"validator",level:3},{value:"Peer",id:"peer",level:3},{value:"Transaction",id:"transaction",level:3},{value:"Account",id:"account",level:3},{value:"AccountSequence",id:"accountsequence",level:3},{value:"Balance",id:"balance",level:3},{value:"Token",id:"token",level:3},{value:"Market",id:"market",level:3},{value:"Fee",id:"fee",level:3},{value:"FixedFeeParams",id:"fixedfeeparams",level:3},{value:"DexFeeFieldParams",id:"dexfeefieldparams",level:3},{value:"MarketDepth",id:"marketdepth",level:3},{value:"Candlestick",id:"candlestick",level:3},{value:"OrderList",id:"orderlist",level:3},{value:"Order",id:"order",level:3},{value:"SubTx",id:"subtx",level:3},{value:"TickerStatistics",id:"tickerstatistics",level:3},{value:"TradePage",id:"tradepage",level:3},{value:"Trade",id:"trade",level:3},{value:"BlockExchangeFeePage",id:"blockexchangefeepage",level:3},{value:"BlockExchangeFee",id:"blockexchangefee",level:3},{value:"TxPage",id:"txpage",level:3},{value:"BlockTx",id:"blocktx",level:3},{value:"BlockTxV2",id:"blocktxv2",level:3},{value:"Tx",id:"tx",level:3},{value:"ExchangeRate",id:"exchangerate",level:3},{value:"ResultStatus",id:"resultstatus",level:3},{value:"NodeInfo",id:"nodeinfo",level:3},{value:"SyncInfo",id:"syncinfo",level:3},{value:"ProtocolVersion",id:"protocolversion",level:3},{value:"ValidatorInfo",id:"validatorinfo",level:3},{value:"AtomicSwapPage",id:"atomicswappage",level:3},{value:"AtomicSwap",id:"atomicswap",level:3},{value:"TxV2",id:"txv2",level:3},{value:"TimeLocks",id:"timelocks",level:3},{value:"MiniTokens",id:"minitokens",level:3}],k={toc:d},N="wrapper";function u(t){let{components:e,...a}=t;return(0,r.kt)(N,(0,n.Z)({},k,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"http-api"},"HTTP API"),(0,r.kt)("p",null,"Within the ecosystem of BNB Beacon Chain, there are several accelerated nodes which provides more secure and faster lines to access BNB Beacon Chain and DEX data service including HTTP API."),(0,r.kt)("p",null,"For mainnet, there are more accelerated nodes."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"dex-atlantic.binance.org")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"dex-asiapacific.binance.org")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"dex-european.binance.org"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Version:")," 1.0.0"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"License:")," ",(0,r.kt)("a",{parentName:"p",href:"http://www.apache.org/licenses/LICENSE-2.0.html"},"Apache 2.0")),(0,r.kt)("h3",{id:"apiv1time"},"/api/v1/time"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get the block time."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the latest block time and the current time according to the HTTP service."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/time"},"https://dex.binance.org/api/v1/time")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/time"},"https://testnet-dex.binance.org/api/v1/time")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#times"},"Times"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1node-info"},"/api/v1/node-info"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-1"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get node information."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets runtime information about the node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/node-info"},"https://dex.binance.org/api/v1/node-info")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/node-info"},"https://testnet-dex.binance.org/api/v1/node-info")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#resultstatus"},"ResultStatus"))))),(0,r.kt)("h3",{id:"apiv1validators"},"/api/v1/validators"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-2"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get validators."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the list of validators used in consensus."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/validators"},"https://dex.binance.org/api/v1/validators")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/validators"},"https://testnet-dex.binance.org/api/v1/validators")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#validators"},"Validators")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1peers"},"/api/v1/peers"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-3"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get network peers."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the list of network peers."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/peers"},"https://dex.binance.org/api/v1/peers")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/peers"},"https://testnet-dex.binance.org/api/v1/peers")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#peer"},"Peer")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1accountaddress"},"/api/v1/account/{address}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-4"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an account."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets account metadata for an address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m"},"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/account/tbnb185tqzq3j6y7yep85lncaz9qeectjxqe5054cgn"},"https://testnet-dex.binance.org/api/v1/account/tbnb185tqzq3j6y7yep85lncaz9qeectjxqe5054cgn")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#account"},"Account"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1accountaddresssequence"},"/api/v1/account/{address}/sequence"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-5"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an account sequence."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets an account sequence for an address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m/sequence"},"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m/sequence")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/account/tbnb13g2le062t340klgm2l2khzr57y3qxlekuhfuch/sequence"},"https://testnet-dex.binance.org/api/v1/account/tbnb13g2le062t340klgm2l2khzr57y3qxlekuhfuch/sequence")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#accountsequence"},"AccountSequence"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1txhash"},"/api/v1/tx/{hash}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-6"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get a transaction."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets transaction metadata by transaction ID. By default, transactions are returned in a raw format. You may add ",(0,r.kt)("inlineCode",{parentName:"p"},"?format=json")," to the end of the path to obtain a more readable response."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Seed node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example:")),(0,r.kt)("p",null,"Below is an example response of a send transaction when ",(0,r.kt)("inlineCode",{parentName:"p"},"?format=json")," is used."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},' {\n code:0,\n hash:"433806D6A4AB6359CB56EC55BA99896DFAB2AF11326B74881A2ABA7049C492D3",\n height:"7850389",\n log:"Msg 0: ",\n ok:true,\n tx:{\n type:"auth/StdTx",\n value:{\n data:null,\n memo:"101192150",\n msg:[\n {\n type:"cosmos-sdk/Send",\n value:{\n inputs:[\n {\n address:"bnb1jafs33u9u6f7w7wzfmm4rr9rzy2cgqzp78kwaw",\n coins:[\n {\n amount:"496429373",\n denom:"BNB",\n\n }\n ],\n\n }\n ],\n outputs:[\n {\n address:"bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23",\n coins:[\n {\n amount:"496429373",\n denom:"BNB",\n\n }\n ],\n\n }\n ],\n\n },\n\n }\n ],\n signatures:[\n {\n account_number:"438",\n pub_key:{\n type:"tendermint/PubKeySecp256k1",\n value:"A3mfgg/i12XNyy9esqCjI7yrkrOs9dngP7c9cDUEJly5",\n\n },\n sequence:"0",\n signature:"VvvGz3qbyirJ7vv01Df8tuAd7K4I+HK+yEBfep+qwtMKuHWQQH3XtMB9Pqtc2jlia0AtDe+BUEMtIyh3/N66IQ==",\n\n }\n ],\n source:"1",\n\n },\n\n },\n\n }\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"hash"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The transaction hash to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"format"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"Response format (",(0,r.kt)("inlineCode",{parentName:"td"},"json")," or amino)"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#transaction"},"Transaction"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1tokens"},"/api/v1/tokens"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-7"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get tokens list."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of tokens that have been issued."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/tokens"},"https://dex.binance.org/api/v1/tokens")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/tokens"},"https://testnet-dex.binance.org/api/v1/tokens")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 100."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#token"},"Token")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1markets"},"/api/v1/markets"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-8"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get market pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the list of market pairs that have been listed."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/markets"},"https://dex.binance.org/api/v1/markets")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/markets"},"https://testnet-dex.binance.org/api/v1/markets")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#market"},"Market")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1fees"},"/api/v1/fees"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-9"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Obtain trading fees information."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the current trading fees settings."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/fees"},"https://dex.binance.org/api/v1/fees")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/fees"},"https://testnet-dex.binance.org/api/v1/fees")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#fee"},"Fee")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1depth"},"/api/v1/depth"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-10"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get the order book."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the order book depth data for a given pair symbol."),(0,r.kt)("p",null,"The given ",(0,r.kt)("em",{parentName:"p"},"limit")," must be one of the allowed limits below."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/depth?symbol=xxx-000_BNB"},"https://dex.binance.org/api/v1/depth?symbol=xxx-000_BNB")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/depth?symbol=xxx-000_BNB"},"https://testnet-dex.binance.org/api/v1/depth?symbol=xxx-000_BNB")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"Market pair symbol, e.g. NNB-0AD_BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"The limit of results. Allowed limits: ","[5, 10, 20, 50, 100, 500, 1000]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#marketdepth"},"MarketDepth"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1broadcast"},"/api/v1/broadcast"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"post"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"POST"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Broadcast a transaction."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Broadcasts a signed transaction. A single transaction must be sent hex-encoded with a ",(0,r.kt)("inlineCode",{parentName:"p"},"content-type")," of ",(0,r.kt)("inlineCode",{parentName:"p"},"text/plain"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/broadcast"},"https://dex.binance.org/api/v1/broadcast")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/broadcast"},"https://testnet-dex.binance.org/api/v1/broadcast")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sync"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"Synchronous broadcast (wait for ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/tendermint/tendermint/wiki/Application-Developers#delivertx"},"DeliverTx"),")?"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"body"),(0,r.kt)("td",{parentName:"tr",align:null},"body"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"binary")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#transaction"},"Transaction")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"401"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Signature"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1klines"},"/api/v1/klines"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-11"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get candlestick bars."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets candlestick/kline bars for a symbol. Bars are uniquely identified by their open time."),(0,r.kt)("p",null,"If the time window is larger than limits, only the first n klines will return. In this case, please either shrink the window or increase the limit to get proper amount of klines."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m"},"https://dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m"},"https://testnet-dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n 1499040000000, // Open time\n "0.01634790", // Open\n "0.80000000", // High\n "0.01575800", // Low\n "0.01577100", // Close\n "148976.11427815", // Volume\n 1499644799999, // Close time\n "2434.19055334", // Quote asset volume\n 308 // Number of trades\n]\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"interval"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"interval. Allowed value: ","[1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M]"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 300; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#candlestick"},"Candlestick")," ]")))),(0,r.kt)("h3",{id:"apiv1ordersclosed"},"/api/v1/orders/closed"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-12"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get closed orders."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets closed (filled and cancelled) orders for a given address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order status list. Allowed value: ","[Ack, IocExpire, IocNoFill, FullyFill, Canceled, Expired, FailedBlocking, FailedMatching]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))))),(0,r.kt)("h3",{id:"apiv1ordersopen"},"/api/v1/orders/open"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-13"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get open orders."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets open orders for a given address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1ordersid"},"/api/v1/orders/{id}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-14"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an order."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets metadata for an individual order by its ID."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"order id"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#order"},"Order"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1ticker24hr"},"/api/v1/ticker/24hr"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-15"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get a market ticker."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets 24 hour price change statistics for a market pair symbol. Updated every second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tickerstatistics"},"TickerStatistics")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1trades"},"/api/v1/trades"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-16"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get market trades."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of historical trades."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the buyer/seller address"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"buyer order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"height"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"quote asset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"seller order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#tradepage"},"TradePage"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1block-exchange-fee"},"/api/v1/block-exchange-fee"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-17"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Trading fee of the address grouped by block"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get historical trading fees of the address, including fees of trade/canceled order/expired order. Transfer and other transaction fees are not included. Order by block height DESC.\n",(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the seller/buyer address"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 50; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#blockexchangefeepage"},"BlockExchangeFeePage"))))),(0,r.kt)("h3",{id:"apiv1transactions"},"/api/v1/transactions"),(0,r.kt)("hr",null),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note:")," This endpoint will be retired soon, use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/api-reference/dex-api/block-service.html#apiv1txs"},"this api")," instead (please read the migration guide)."),(0,r.kt)("h5",{id:"get-18"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get transactions."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of transactions. Multisend transaction is not available in this API. Currently 'confirmBlocks' and 'txAge' are not supported."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 24 hours;The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 15 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"endTime in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"transaction side. Allowed value: ","[ RECEIVE, SEND]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"transaction type. Allowed value: ","[ TRANSFER,NEW_ORDER,ISSUE_TOKEN,BURN_TOKEN,LIST_TOKEN,CANCEL_ORDER,FREEZE_TOKEN,UN_FREEZE_TOKEN,TRANSFER,PROPOSAL,VOTE,MINT,DEPOSIT,CREATE_VALIDATOR,REMOVE_VALIDATOR,TIME_LOCK,TIME_UNLOCK,TIME_RELOCK,SET_ACCOUNT_FLAG,HTL_TRANSFER,CLAIM_HTL,DEPOSIT_HTL,REFUND_HTL]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#txpage"},"TxPage"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"403"),(0,r.kt)("td",{parentName:"tr",align:null},"Tx is not within 24h query window"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1transactions-in-blockblockheight"},"/api/v1/transactions-in-block/{blockHeight}"),(0,r.kt)("hr",null),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note:")," This endpoint will be retired soon, use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/api-reference/dex-api/block-service.html#apiv1blocksblockheighttxs"},"this api")," instead (please read the migration guide)."),(0,r.kt)("h5",{id:"get-19"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get transactions in the specific block."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get transactions in the block. Multi-send and multi-coin transactions are flattened as transactions. This API is deprecated."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 15 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#blocktx"},"BlockTx"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request. The block to query is higher than current highest block."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv2transactions-in-blockblockheight"},"/api/v2/transactions-in-block/{blockHeight}"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note:")," This endpoint will be retired soon, use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/api-reference/dex-api/block-service.html#apiv1blocksblockheighttxs"},"this api")," instead (please read the migration guide)."),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-20"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," transactions in Block"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get transactions in the block. Multi-send and multi-coin transactions are included as sub-transactions."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 15 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#blocktxv2"},"BlockTxV2"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request. The block to query is higher than current highest block."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1atomic-swaps"},"/api/v1/atomic-swaps"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-21"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," AtomicSwap"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get atomic swaps by address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 60 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time of blockTimestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddress"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"At least one of toAddress and fromAddress should be provided as parameter"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 25; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time of blockTimestamp in Milliseconds; The maximum start - end query window is 3 months; Default query window is the latest 30 days."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddress"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"At least one of toAddress and fromAddress should be provided as parameter"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#atomicswappage"},"AtomicSwapPage"))))),(0,r.kt)("h3",{id:"apiv1atomic-swapsid"},"/api/v1/atomic-swaps/{id}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-22"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," AtomicSwap"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get an AtomicSwap by swap id"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 60 request per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"swap id"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#atomicswap"},"AtomicSwap"))))),(0,r.kt)("h3",{id:"apiv1timelocksaddress"},"/api/v1/timelocks/{address}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-23"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Gets time lock records given an address"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the record id of timelock to query"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#timelocks"},"TimeLocks"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"internal server error"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1timelockaccount_addridrecordid"},"/api/v1/timelock/{account_addr}?(id={recordid})"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-24"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get timelock records of an address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get the timelock history of an address.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 60 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the record id of timelock to query"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#timelocks"},"TimeLocks"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"internal server error"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1minitokens"},"/api/v1/mini/tokens"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-25"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Gets a list of available mini tokens."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#minitokens"},"MiniTokens"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"internal server error"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1minimarkets"},"/api/v1/mini/markets"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-26"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Gets a list of mini market pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#markets"},"Markets"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1miniklines"},"/api/v1/mini/klines"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-27"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get mini-token candlestick bars."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets candlestick/kline bars for a mini-token symbol pair. Bars are uniquely identified by their open time."),(0,r.kt)("p",null,"If the time window is larger than limits, only the first n klines will return. In this case, please either shrink the window or increase the limit to get proper amount of klines."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n 1499040000000, // Open time\n "0.01634790", // Open\n "0.80000000", // High\n "0.01575800", // Low\n "0.01577100", // Close\n "148976.11427815", // Volume\n 1499644799999, // Close time\n "2434.19055334", // Quote asset volume\n 308 // Number of trades\n]\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"interval"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"interval. Allowed value: ","[1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M]"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 300; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#candlestick"},"Candlestick")," ]")))),(0,r.kt)("h3",{id:"apiv1miniordersclosed"},"/api/v1/mini/orders/closed"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-28"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get closed orders of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets closed (filled and cancelled) orders for a given address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order status list. Allowed value: ","[Ack, IocExpire, IocNoFill, FullyFill, Canceled, Expired, FailedBlocking, FailedMatching]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))))),(0,r.kt)("h3",{id:"apiv1miniordersopen"},"/api/v1/mini/orders/open"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-29"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get open orders of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets open orders for a given address.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1miniordersid"},"/api/v1/mini/orders/{id}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-30"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an order of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets metadata for an individual order by its ID.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"order id"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#order"},"Order"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1miniticker24hr"},"/api/v1/mini/ticker/24hr"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-31"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get a market ticker of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets 24 hour price change statistics for a market pair symbol. Updated every second.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tickerstatistics"},"TickerStatistics")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1minitrades"},"/api/v1/mini/trades"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-32"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get market trades of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of historical trades.\n",(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the buyer/seller address"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"buyer order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"height"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"quote asset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"seller order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#tradepage"},"TradePage"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"models"},"Models"),(0,r.kt)("hr",null),(0,r.kt)("h3",{id:"error"},"Error"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"error code"),(0,r.kt)("td",{parentName:"tr",align:null},"400")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"error message"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"times"},"Times"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ap_time"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"event time"),(0,r.kt)("td",{parentName:"tr",align:null},"e.g. 2019-01-21T10:30:00Z")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"block_time"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"the time of latest block"),(0,r.kt)("td",{parentName:"tr",align:null},"e.g. 2019-01-21T10:30:00Z")))),(0,r.kt)("h3",{id:"validators"},"Validators"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"block_height"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"Current block height"),(0,r.kt)("td",{parentName:"tr",align:null},"12345")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"validators"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#validator"},"Validator")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"validator"},"Validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex address)"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pub_key"),(0,r.kt)("td",{parentName:"tr",align:null},"[ integer ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Public key bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"voting_power"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"validator's voting power"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"accum"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"validator's accumulated voting power"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"peer"},"Peer"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Authenticated identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"8c379d4d3b9995c712665dc9a9414dbde5b30483")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"original_listen_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Original listen address before PeersService changed it"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"listen_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Listen address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"access_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Access address (HTTP)"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"stream_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Stream address (WS)"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"network"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Chain ID"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-Ganges")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"version"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Version"),(0,r.kt)("td",{parentName:"tr",align:null},"0.30.1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Moniker (Name)"),(0,r.kt)("td",{parentName:"tr",align:null},"data-seed-1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"capabilities"),(0,r.kt)("td",{parentName:"tr",align:null},"[ string ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Array of capability tags: node, qs, ap, ws"),(0,r.kt)("td",{parentName:"tr",align:null},"node,ap")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"accelerated"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"Is an accelerated path to a validator node"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"transaction"},"Transaction"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"hash"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex)"),(0,r.kt)("td",{parentName:"tr",align:null},"Hash of transaction, it returned as bytes before, and now it returns as hex string"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"log"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Log of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Data of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"height"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Height of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Result code of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ok"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"object"),(0,r.kt)("td",{parentName:"tr",align:null},"Detail of transaction, like transaction type, messages and signature"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("p",null,"For example, below is the detail of a send transaction. Most of the fields are fixed, but the detail of msg\nvaries with msg type, if you query with --format=json."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "type": "auth/StdTx", // fixed, type of transaction\n "value": { // fixed, detail of the transaction\n "data": null, // fixed, data of the transaction\n "memo": "", // fixed, memo\n "msg": [ // fixed, msgs of the transaction\n {\n "type": "cosmos-sdk/Send", // vary with msg type\n "value": { // value content vary with mst type\n "inputs": [\n {\n "address": "bnb1vt4zwu5hy7tyryktud6mpcu8h2ehh6xw66gzwp",\n "coins": [\n {\n "amount": "100000000000000",\n "denom": "BNB"\n }\n ]\n }\n ],\n "outputs": [\n {\n "address": "bnb1kg8mh20tndur9d9rry4wjunhpfzcud30qzf0qv",\n "coins": [\n {\n "amount": "100000000000000",\n "denom": "BNB"\n }\n ]\n }\n ]\n }\n }\n ],\n "signatures": [ // fixed, signatures of the transaction\n {\n "account_number": "0",\n "pub_key": {\n "type": "tendermint/PubKeySecp256k1",\n "value": "AoWY3eWBOnnvLPTz4RsUlX1pWCkLLPewu1vAAoTEzxzR"\n },\n "sequence": "1",\n "signature": "6O2TQAgleFNPw4zIWBLaNvOf5dR7DHNSr2DwAPeFK6lokRqZd2KR2BD+WlmaWj4LdLo5N+utN1JtY41E91N0uw=="\n }\n ],\n "source": "0" // fixed, source of the transaction\n }\n}\n')),(0,r.kt)("p",null," | |"),(0,r.kt)("h3",{id:"account"},"Account"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"account_number"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string (address)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"balances"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#balance"},"Balance")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"public_key"),(0,r.kt)("td",{parentName:"tr",align:null},"[ integer ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Public key bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"sequence is for preventing replay attack"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"accountsequence"},"AccountSequence"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"number used for preventing replay attack"),(0,r.kt)("td",{parentName:"tr",align:null},"1")))),(0,r.kt)("h3",{id:"balance"},"Balance"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string (currency)"),(0,r.kt)("td",{parentName:"tr",align:null},"asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"free"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 0.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"locked"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 0.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"frozen"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 0.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")))),(0,r.kt)("h3",{id:"token"},"Token"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"name"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"token name"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance Chain Native Token")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"unique token trade symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"BTC-000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"original_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"token symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"BTC")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total_supply"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"total token supply in decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"owner"),(0,r.kt)("td",{parentName:"tr",align:null},"string (address)"),(0,r.kt)("td",{parentName:"tr",align:null},"Address which issue the token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"smart contract address for this token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_decimals"),(0,r.kt)("td",{parentName:"tr",align:null},"int"),(0,r.kt)("td",{parentName:"tr",align:null},"the token decimals"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"market"},"Market"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"base_asset_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string (currency)"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol of base asset"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quote_asset_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string (currency)"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol of quote asset"),(0,r.kt)("td",{parentName:"tr",align:null},"ABC-5CA")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"list_price"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form"),(0,r.kt)("td",{parentName:"tr",align:null},"1.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tick_size"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"Minimium price change in decimal form"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000001")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lot_size"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"Minimium trading quantity in decimal form"),(0,r.kt)("td",{parentName:"tr",align:null},"1.00000000")))),(0,r.kt)("h3",{id:"fee"},"Fee"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"msg_type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Transaction msg type that this fee applies to"),(0,r.kt)("td",{parentName:"tr",align:null},"submit_proposal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"The fee amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_for"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = proposer, 2 = all, 3 = free"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"multi_transfer_fee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Fee for multi-transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"200000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lower_limit_as_multi"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"e.g. 2"),(0,r.kt)("td",{parentName:"tr",align:null},"2")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fixed_fee_params"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#fixedfeeparams"},"FixedFeeParams")),(0,r.kt)("td",{parentName:"tr",align:null},"Set if the fee is fixed"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"dex_fee_fields"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#dexfeefieldparams"},"DexFeeFieldParams")),(0,r.kt)("td",{parentName:"tr",align:null},"dex fee"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fixedfeeparams"},"FixedFeeParams"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"msg_type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Transaction msg type that this fee applies to"),(0,r.kt)("td",{parentName:"tr",align:null},"submit_proposal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"The fixed fee amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_for"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = proposer, 2 = all, 3 = free"),(0,r.kt)("td",{parentName:"tr",align:null},"1")))),(0,r.kt)("h3",{id:"dexfeefieldparams"},"DexFeeFieldParams"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_name"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"fee name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_value"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"fee value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"marketdepth"},"MarketDepth"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"asks"),(0,r.kt)("td",{parentName:"tr",align:null},"[ string (fixed8) ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Price and qty in decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},'["1.00000000","800.00000000"]')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"bids"),(0,r.kt)("td",{parentName:"tr",align:null},"[ string (fixed8) ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Price and qty in decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},'["1.00000000","800.00000000"]')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pending_match"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"If new orders inserted in current block and the matching process has not started in the block, return true."),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"candlestick"},"Candlestick"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"close"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"closing price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"closeTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"time of closing trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"high"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the highest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"low"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the lowest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"numberOfTrades"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"total trades"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"open"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"open price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"openTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"time of open trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAssetVolume"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the total trading volume in quote asset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"volume"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the total trading volume"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"orderlist"},"OrderList"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"order"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#order"},"Order")," ]"),(0,r.kt)("td",{parentName:"tr",align:null},"list of orders"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"order"},"Order"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"cumulateQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"total amount of trades that have made"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee on the latest updated block of this order. Multiple assets are split by semicolon."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastExecutedPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"price of last execution"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastExecutedQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"quantity of last execution"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderCreateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"time of order creation"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"owner"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order issuer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"price"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 for buy and 2 for sell"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"enum ","[Ack, PartialFill, IocNoFill, FullyFill, Canceled, Expired, FailedBlocking, FailedMatching, IocExpire]"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading pair symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timeInForce"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 for Good Till Expire(GTE) order and 3 for Immediate Or Cancel (IOC)"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tradeId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"transactionHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"transactionTime"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"time of latest order update, for example, cancel, expire"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"only 2 is available for now, meaning limit order"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"subtx"},"SubTx"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"tickerstatistics"},"TickerStatistics"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"askPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"sell price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"askQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"sell quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"bidPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"buy price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"bidQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"buy quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"closeTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"time of closing"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"count"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"total trade count"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"firstId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of first trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"highPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"highest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of last trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"last price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"last quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lowPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"lowest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"openPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"open price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"openTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"open time"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"prevClosePrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"last close price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"priceChange"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"change of price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"priceChangePercent"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"change of price in percentage"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteVolume"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading volume in quote asset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"volume"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading volume"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"weightedAvgPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"weighted average price"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"tradepage"},"TradePage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"total number of trades"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"trade"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#trade"},"Trade")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"trade"},"Trade"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"baseAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"base asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the buyer address on the block of this trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"id of buyer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order id for buyer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buySingleFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the buyer address on this single trade"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB:0.00000172;")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerSource"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"tx source of buy order"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"price"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"quote asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the seller address on the block of this trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"seller ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"seller order ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellSingleFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the seller address on this single trade"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB:0.00000216;")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerSource"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"tx source of sell order"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tickType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"enum ","[Unknown,SellTaker,BuyTaker,BuySurplus,SellSurplus,Neutral]"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"time"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"trade time"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tradeId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade ID"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blockexchangefeepage"},"BlockExchangeFeePage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockExchangeFee"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#blockexchangefee"},"BlockExchangeFee")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blockexchangefee"},"BlockExchangeFee"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"timestamp of a block"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"total fee collected. Multiple assets are split by semicolon."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tradeCount"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"trade count of the address on the block"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"txpage"},"TxPage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"total sum of transactions"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tx"},"Tx")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blocktx"},"BlockTx"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tx"},"Tx")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blocktxv2"},"BlockTxV2"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#txv2"},"TxV2")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"tx"},"Tx"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"transaction result code"),(0,r.kt)("td",{parentName:"tr",align:null},"0")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"confirmBlocks"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"from address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timeStamp"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"time of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"to address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAge"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"type of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"value of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"source"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"swapId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is one of HTL_TRANSFER, CLAIM_HTL, REFUND_HTL, DEPOSIT_HTL"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"proposalId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"exchangerate"},"ExchangeRate"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ExchangeRate"),(0,r.kt)("td",{parentName:"tr",align:null},"object"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"resultstatus"},"ResultStatus"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"validator_info"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#validatorinfo"},"ValidatorInfo")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sync_info"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#syncinfo"},"SyncInfo")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"node_info"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#nodeinfo"},"NodeInfo")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"nodeinfo"},"NodeInfo"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Protocol_Version"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#protocolversion"},"ProtocolVersion")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ID"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"listen_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"network"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"version"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"channels"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null},"object"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"syncinfo"},"SyncInfo"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_block_hash"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_app_hash"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_block_height"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_block_time"),(0,r.kt)("td",{parentName:"tr",align:null},"time"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"catching_up"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"protocolversion"},"ProtocolVersion"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"P2P"),(0,r.kt)("td",{parentName:"tr",align:null},"integer (uint64)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"block"),(0,r.kt)("td",{parentName:"tr",align:null},"integer (uint64)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"app"),(0,r.kt)("td",{parentName:"tr",align:null},"integer (uint64)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"validatorinfo"},"ValidatorInfo"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hex address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pub_key"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hex-encoded"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"voting_power"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"atomicswappage"},"AtomicSwapPage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"atomicSwaps"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#atomicswap"},"AtomicSwap")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"atomicswap"},"AtomicSwap"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockTimestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp of block in which the swap is initiated. The unit is millisecond."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"closedTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossChain"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"expectedIncome"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"expireHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"inAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"outAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumber"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipientOtherChain"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"swapId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"string (int64)"),(0,r.kt)("td",{parentName:"tr",align:null},"The timestamp for randomNumberHash calculation, randomNumberHash=sha256(randomNumber, timestamp). The unit is second."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"txv2"},"TxV2"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"0")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"memo"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is NEW_ORDER"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"proposalId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is PROPOSAL"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"source"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"subTransactions"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#subtx"},"SubTx")," ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction has sub-transactions, such as multi-send transaction or a transaction have multiple assets"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"swapId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is one of HTL_TRANSFER, CLAIM_HTL, REFUND_HTL, DEPOSIT_HTL"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timeStamp"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"timelocks"},"TimeLocks"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"The record id of the timelock transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"description"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"The description of the timelock transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"amount"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"locktime"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"The available unlock time"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"minitokens"},"MiniTokens"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"name"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"Binance Chain Mini Token")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"BTC-000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"original_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"BTC")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total_supply"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"token_type"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Type of the mini token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"owner"),(0,r.kt)("td",{parentName:"tr",align:null},"string (address)"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"mintable"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"mintable"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"token_uri"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"URI for token description"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"smart contract address for this token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_decimals"),(0,r.kt)("td",{parentName:"tr",align:null},"int"),(0,r.kt)("td",{parentName:"tr",align:null},"the token decimals"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[2280],{3905:(t,e,a)=>{a.d(e,{Zo:()=>k,kt:()=>o});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function p(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var m=n.createContext({}),d=function(t){var e=n.useContext(m),a=e;return t&&(a="function"==typeof t?t(e):p(p({},e),t)),a},k=function(t){var e=d(t.components);return n.createElement(m.Provider,{value:e},t.children)},N="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},g=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,m=t.parentName,k=i(t,["components","mdxType","originalType","parentName"]),N=d(a),g=r,o=N["".concat(m,".").concat(g)]||N[g]||u[g]||l;return a?n.createElement(o,p(p({ref:e},k),{},{components:a})):n.createElement(o,p({ref:e},k))}));function o(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,p=new Array(l);p[0]=g;var i={};for(var m in e)hasOwnProperty.call(e,m)&&(i[m]=e[m]);i.originalType=t,i[N]="string"==typeof t?t:r,p[1]=i;for(var d=2;d{a.r(e),a.d(e,{assets:()=>m,contentTitle:()=>p,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=a(83117),r=(a(67294),a(3905));const l={},p="HTTP API",i={unversionedId:"api-reference/dex-api/paths",id:"api-reference/dex-api/paths",title:"HTTP API",description:"Within the ecosystem of BNB Beacon Chain, there are several accelerated nodes which provides more secure and faster lines to access BNB Beacon Chain and DEX data service including HTTP API.",source:"@site/docs/api-reference/dex-api/paths.md",sourceDirName:"api-reference/dex-api",slug:"/api-reference/dex-api/paths",permalink:"/docs/api-reference/dex-api/paths",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/api-reference/dex-api/paths.md",tags:[],version:"current",frontMatter:{}},m={},d=[{value:"/api/v1/time",id:"apiv1time",level:3},{value:"GET",id:"get",level:5},{value:"/api/v1/node-info",id:"apiv1node-info",level:3},{value:"GET",id:"get-1",level:5},{value:"/api/v1/validators",id:"apiv1validators",level:3},{value:"GET",id:"get-2",level:5},{value:"/api/v1/peers",id:"apiv1peers",level:3},{value:"GET",id:"get-3",level:5},{value:"/api/v1/account/{address}",id:"apiv1accountaddress",level:3},{value:"GET",id:"get-4",level:5},{value:"/api/v1/account/{address}/sequence",id:"apiv1accountaddresssequence",level:3},{value:"GET",id:"get-5",level:5},{value:"/api/v1/tx/{hash}",id:"apiv1txhash",level:3},{value:"GET",id:"get-6",level:5},{value:"/api/v1/tokens",id:"apiv1tokens",level:3},{value:"GET",id:"get-7",level:5},{value:"/api/v1/markets",id:"apiv1markets",level:3},{value:"GET",id:"get-8",level:5},{value:"/api/v1/fees",id:"apiv1fees",level:3},{value:"GET",id:"get-9",level:5},{value:"/api/v1/depth",id:"apiv1depth",level:3},{value:"GET",id:"get-10",level:5},{value:"/api/v1/broadcast",id:"apiv1broadcast",level:3},{value:"POST",id:"post",level:5},{value:"/api/v1/klines",id:"apiv1klines",level:3},{value:"GET",id:"get-11",level:5},{value:"/api/v1/orders/closed",id:"apiv1ordersclosed",level:3},{value:"GET",id:"get-12",level:5},{value:"/api/v1/orders/open",id:"apiv1ordersopen",level:3},{value:"GET",id:"get-13",level:5},{value:"/api/v1/orders/{id}",id:"apiv1ordersid",level:3},{value:"GET",id:"get-14",level:5},{value:"/api/v1/ticker/24hr",id:"apiv1ticker24hr",level:3},{value:"GET",id:"get-15",level:5},{value:"/api/v1/trades",id:"apiv1trades",level:3},{value:"GET",id:"get-16",level:5},{value:"/api/v1/block-exchange-fee",id:"apiv1block-exchange-fee",level:3},{value:"GET",id:"get-17",level:5},{value:"/api/v1/transactions",id:"apiv1transactions",level:3},{value:"GET",id:"get-18",level:5},{value:"/api/v1/transactions-in-block/{blockHeight}",id:"apiv1transactions-in-blockblockheight",level:3},{value:"GET",id:"get-19",level:5},{value:"/api/v2/transactions-in-block/{blockHeight}",id:"apiv2transactions-in-blockblockheight",level:3},{value:"GET",id:"get-20",level:5},{value:"/api/v1/atomic-swaps",id:"apiv1atomic-swaps",level:3},{value:"GET",id:"get-21",level:5},{value:"/api/v1/atomic-swaps/{id}",id:"apiv1atomic-swapsid",level:3},{value:"GET",id:"get-22",level:5},{value:"/api/v1/timelocks/{address}",id:"apiv1timelocksaddress",level:3},{value:"GET",id:"get-23",level:5},{value:"/api/v1/timelock/{account_addr}?(id={recordid})",id:"apiv1timelockaccount_addridrecordid",level:3},{value:"GET",id:"get-24",level:5},{value:"/api/v1/mini/tokens",id:"apiv1minitokens",level:3},{value:"GET",id:"get-25",level:5},{value:"/api/v1/mini/markets",id:"apiv1minimarkets",level:3},{value:"GET",id:"get-26",level:5},{value:"/api/v1/mini/klines",id:"apiv1miniklines",level:3},{value:"GET",id:"get-27",level:5},{value:"/api/v1/mini/orders/closed",id:"apiv1miniordersclosed",level:3},{value:"GET",id:"get-28",level:5},{value:"/api/v1/mini/orders/open",id:"apiv1miniordersopen",level:3},{value:"GET",id:"get-29",level:5},{value:"/api/v1/mini/orders/{id}",id:"apiv1miniordersid",level:3},{value:"GET",id:"get-30",level:5},{value:"/api/v1/mini/ticker/24hr",id:"apiv1miniticker24hr",level:3},{value:"GET",id:"get-31",level:5},{value:"/api/v1/mini/trades",id:"apiv1minitrades",level:3},{value:"GET",id:"get-32",level:5},{value:"Models",id:"models",level:3},{value:"Error",id:"error",level:3},{value:"Times",id:"times",level:3},{value:"Validators",id:"validators",level:3},{value:"Validator",id:"validator",level:3},{value:"Peer",id:"peer",level:3},{value:"Transaction",id:"transaction",level:3},{value:"Account",id:"account",level:3},{value:"AccountSequence",id:"accountsequence",level:3},{value:"Balance",id:"balance",level:3},{value:"Token",id:"token",level:3},{value:"Market",id:"market",level:3},{value:"Fee",id:"fee",level:3},{value:"FixedFeeParams",id:"fixedfeeparams",level:3},{value:"DexFeeFieldParams",id:"dexfeefieldparams",level:3},{value:"MarketDepth",id:"marketdepth",level:3},{value:"Candlestick",id:"candlestick",level:3},{value:"OrderList",id:"orderlist",level:3},{value:"Order",id:"order",level:3},{value:"SubTx",id:"subtx",level:3},{value:"TickerStatistics",id:"tickerstatistics",level:3},{value:"TradePage",id:"tradepage",level:3},{value:"Trade",id:"trade",level:3},{value:"BlockExchangeFeePage",id:"blockexchangefeepage",level:3},{value:"BlockExchangeFee",id:"blockexchangefee",level:3},{value:"TxPage",id:"txpage",level:3},{value:"BlockTx",id:"blocktx",level:3},{value:"BlockTxV2",id:"blocktxv2",level:3},{value:"Tx",id:"tx",level:3},{value:"ExchangeRate",id:"exchangerate",level:3},{value:"ResultStatus",id:"resultstatus",level:3},{value:"NodeInfo",id:"nodeinfo",level:3},{value:"SyncInfo",id:"syncinfo",level:3},{value:"ProtocolVersion",id:"protocolversion",level:3},{value:"ValidatorInfo",id:"validatorinfo",level:3},{value:"AtomicSwapPage",id:"atomicswappage",level:3},{value:"AtomicSwap",id:"atomicswap",level:3},{value:"TxV2",id:"txv2",level:3},{value:"TimeLocks",id:"timelocks",level:3},{value:"MiniTokens",id:"minitokens",level:3}],k={toc:d},N="wrapper";function u(t){let{components:e,...a}=t;return(0,r.kt)(N,(0,n.Z)({},k,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"http-api"},"HTTP API"),(0,r.kt)("p",null,"Within the ecosystem of BNB Beacon Chain, there are several accelerated nodes which provides more secure and faster lines to access BNB Beacon Chain and DEX data service including HTTP API."),(0,r.kt)("p",null,"For mainnet, there are more accelerated nodes."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"dex-atlantic.binance.org")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"dex-asiapacific.binance.org")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"dex-european.binance.org"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Version:")," 1.0.0"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"License:")," ",(0,r.kt)("a",{parentName:"p",href:"http://www.apache.org/licenses/LICENSE-2.0.html"},"Apache 2.0")),(0,r.kt)("h3",{id:"apiv1time"},"/api/v1/time"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get the block time."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the latest block time and the current time according to the HTTP service."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/time"},"https://dex.binance.org/api/v1/time")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/time"},"https://testnet-dex.binance.org/api/v1/time")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#times"},"Times"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1node-info"},"/api/v1/node-info"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-1"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get node information."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets runtime information about the node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/node-info"},"https://dex.binance.org/api/v1/node-info")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/node-info"},"https://testnet-dex.binance.org/api/v1/node-info")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#resultstatus"},"ResultStatus"))))),(0,r.kt)("h3",{id:"apiv1validators"},"/api/v1/validators"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-2"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get validators."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the list of validators used in consensus."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/validators"},"https://dex.binance.org/api/v1/validators")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/validators"},"https://testnet-dex.binance.org/api/v1/validators")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#validators"},"Validators")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1peers"},"/api/v1/peers"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-3"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get network peers."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the list of network peers."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/peers"},"https://dex.binance.org/api/v1/peers")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/peers"},"https://testnet-dex.binance.org/api/v1/peers")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#peer"},"Peer")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1accountaddress"},"/api/v1/account/{address}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-4"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an account."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets account metadata for an address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m"},"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/account/tbnb185tqzq3j6y7yep85lncaz9qeectjxqe5054cgn"},"https://testnet-dex.binance.org/api/v1/account/tbnb185tqzq3j6y7yep85lncaz9qeectjxqe5054cgn")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#account"},"Account"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1accountaddresssequence"},"/api/v1/account/{address}/sequence"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-5"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an account sequence."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets an account sequence for an address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m/sequence"},"https://dex.binance.org/api/v1/account/bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m/sequence")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/account/tbnb13g2le062t340klgm2l2khzr57y3qxlekuhfuch/sequence"},"https://testnet-dex.binance.org/api/v1/account/tbnb13g2le062t340klgm2l2khzr57y3qxlekuhfuch/sequence")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#accountsequence"},"AccountSequence"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1txhash"},"/api/v1/tx/{hash}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-6"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get a transaction."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets transaction metadata by transaction ID. By default, transactions are returned in a raw format. You may add ",(0,r.kt)("inlineCode",{parentName:"p"},"?format=json")," to the end of the path to obtain a more readable response."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Seed node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example:")),(0,r.kt)("p",null,"Below is an example response of a send transaction when ",(0,r.kt)("inlineCode",{parentName:"p"},"?format=json")," is used."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},' {\n code:0,\n hash:"433806D6A4AB6359CB56EC55BA99896DFAB2AF11326B74881A2ABA7049C492D3",\n height:"7850389",\n log:"Msg 0: ",\n ok:true,\n tx:{\n type:"auth/StdTx",\n value:{\n data:null,\n memo:"101192150",\n msg:[\n {\n type:"cosmos-sdk/Send",\n value:{\n inputs:[\n {\n address:"bnb1jafs33u9u6f7w7wzfmm4rr9rzy2cgqzp78kwaw",\n coins:[\n {\n amount:"496429373",\n denom:"BNB",\n\n }\n ],\n\n }\n ],\n outputs:[\n {\n address:"bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23",\n coins:[\n {\n amount:"496429373",\n denom:"BNB",\n\n }\n ],\n\n }\n ],\n\n },\n\n }\n ],\n signatures:[\n {\n account_number:"438",\n pub_key:{\n type:"tendermint/PubKeySecp256k1",\n value:"A3mfgg/i12XNyy9esqCjI7yrkrOs9dngP7c9cDUEJly5",\n\n },\n sequence:"0",\n signature:"VvvGz3qbyirJ7vv01Df8tuAd7K4I+HK+yEBfep+qwtMKuHWQQH3XtMB9Pqtc2jlia0AtDe+BUEMtIyh3/N66IQ==",\n\n }\n ],\n source:"1",\n\n },\n\n },\n\n }\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"hash"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The transaction hash to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"format"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"Response format (",(0,r.kt)("inlineCode",{parentName:"td"},"json")," or amino)"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#transaction"},"Transaction"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1tokens"},"/api/v1/tokens"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-7"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get tokens list."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of tokens that have been issued."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/tokens"},"https://dex.binance.org/api/v1/tokens")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/tokens"},"https://testnet-dex.binance.org/api/v1/tokens")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 100."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#token"},"Token")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1markets"},"/api/v1/markets"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-8"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get market pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the list of market pairs that have been listed."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/markets"},"https://dex.binance.org/api/v1/markets")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/markets"},"https://testnet-dex.binance.org/api/v1/markets")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#market"},"Market")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1fees"},"/api/v1/fees"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-9"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Obtain trading fees information."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the current trading fees settings."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/fees"},"https://dex.binance.org/api/v1/fees")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/fees"},"https://testnet-dex.binance.org/api/v1/fees")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#fee"},"Fee")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1depth"},"/api/v1/depth"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-10"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get the order book."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets the order book depth data for a given pair symbol."),(0,r.kt)("p",null,"The given ",(0,r.kt)("em",{parentName:"p"},"limit")," must be one of the allowed limits below."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Validator node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/depth?symbol=xxx-000_BNB"},"https://dex.binance.org/api/v1/depth?symbol=xxx-000_BNB")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/depth?symbol=xxx-000_BNB"},"https://testnet-dex.binance.org/api/v1/depth?symbol=xxx-000_BNB")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"Market pair symbol, e.g. NNB-0AD_BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"The limit of results. Allowed limits: ","[5, 10, 20, 50, 100, 500, 1000]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#marketdepth"},"MarketDepth"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1broadcast"},"/api/v1/broadcast"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"post"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"POST"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Broadcast a transaction."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Broadcasts a signed transaction. A single transaction must be sent hex-encoded with a ",(0,r.kt)("inlineCode",{parentName:"p"},"content-type")," of ",(0,r.kt)("inlineCode",{parentName:"p"},"text/plain"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Destination:")," Witness node."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/broadcast"},"https://dex.binance.org/api/v1/broadcast")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/broadcast"},"https://testnet-dex.binance.org/api/v1/broadcast")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sync"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"Synchronous broadcast (wait for ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/tendermint/tendermint/wiki/Application-Developers#delivertx"},"DeliverTx"),")?"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"body"),(0,r.kt)("td",{parentName:"tr",align:null},"body"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"binary")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#transaction"},"Transaction")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"401"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Signature"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1klines"},"/api/v1/klines"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-11"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get candlestick bars."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets candlestick/kline bars for a symbol. Bars are uniquely identified by their open time."),(0,r.kt)("p",null,"If the time window is larger than limits, only the first n klines will return. In this case, please either shrink the window or increase the limit to get proper amount of klines."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for mainnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m"},"https://dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"URL for testnet:")," ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m"},"https://testnet-dex.binance.org/api/v1/klines?symbol=NNB-338_BNB&interval=5m")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n 1499040000000, // Open time\n "0.01634790", // Open\n "0.80000000", // High\n "0.01575800", // Low\n "0.01577100", // Close\n "148976.11427815", // Volume\n 1499644799999, // Close time\n "2434.19055334", // Quote asset volume\n 308 // Number of trades\n]\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"interval"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"interval. Allowed value: ","[1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M]"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 300; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#candlestick"},"Candlestick")," ]")))),(0,r.kt)("h3",{id:"apiv1ordersclosed"},"/api/v1/orders/closed"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-12"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get closed orders."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets closed (filled and cancelled) orders for a given address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order status list. Allowed value: ","[Ack, IocExpire, IocNoFill, FullyFill, Canceled, Expired, FailedBlocking, FailedMatching]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))))),(0,r.kt)("h3",{id:"apiv1ordersopen"},"/api/v1/orders/open"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-13"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get open orders."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets open orders for a given address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1ordersid"},"/api/v1/orders/{id}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-14"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an order."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets metadata for an individual order by its ID."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"order id"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#order"},"Order"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1ticker24hr"},"/api/v1/ticker/24hr"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-15"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get a market ticker."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets 24 hour price change statistics for a market pair symbol. Updated every second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tickerstatistics"},"TickerStatistics")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1trades"},"/api/v1/trades"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-16"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get market trades."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of historical trades."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the buyer/seller address"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"buyer order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"height"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"quote asset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"seller order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#tradepage"},"TradePage"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1block-exchange-fee"},"/api/v1/block-exchange-fee"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-17"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Trading fee of the address grouped by block"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get historical trading fees of the address, including fees of trade/canceled order/expired order. Transfer and other transaction fees are not included. Order by block height DESC.\n",(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the seller/buyer address"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 50; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#blockexchangefeepage"},"BlockExchangeFeePage"))))),(0,r.kt)("h3",{id:"apiv1transactions"},"/api/v1/transactions"),(0,r.kt)("hr",null),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note:")," This endpoint will be retired soon, use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/api-reference/dex-api/block-service.html#apiv1txs"},"this api")," instead (please read the migration guide)."),(0,r.kt)("h5",{id:"get-18"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get transactions."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of transactions. Multisend transaction is not available in this API. Currently 'confirmBlocks' and 'txAge' are not supported."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 24 hours;The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 15 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"endTime in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"transaction side. Allowed value: ","[ RECEIVE, SEND]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"transaction type. Allowed value: ","[ TRANSFER,NEW_ORDER,ISSUE_TOKEN,BURN_TOKEN,LIST_TOKEN,CANCEL_ORDER,FREEZE_TOKEN,UN_FREEZE_TOKEN,TRANSFER,PROPOSAL,VOTE,MINT,DEPOSIT,CREATE_VALIDATOR,REMOVE_VALIDATOR,TIME_LOCK,TIME_UNLOCK,TIME_RELOCK,SET_ACCOUNT_FLAG,HTL_TRANSFER,CLAIM_HTL,DEPOSIT_HTL,REFUND_HTL]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#txpage"},"TxPage"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"403"),(0,r.kt)("td",{parentName:"tr",align:null},"Tx is not within 24h query window"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1transactions-in-blockblockheight"},"/api/v1/transactions-in-block/{blockHeight}"),(0,r.kt)("hr",null),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note:")," This endpoint will be retired soon, use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/api-reference/dex-api/block-service.html#apiv1blocksblockheighttxs"},"this api")," instead (please read the migration guide)."),(0,r.kt)("h5",{id:"get-19"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get transactions in the specific block."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get transactions in the block. Multi-send and multi-coin transactions are flattened as transactions. This API is deprecated."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 15 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#blocktx"},"BlockTx"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request. The block to query is higher than current highest block."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv2transactions-in-blockblockheight"},"/api/v2/transactions-in-block/{blockHeight}"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note:")," This endpoint will be retired soon, use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/api-reference/dex-api/block-service.html#apiv1blocksblockheighttxs"},"this api")," instead (please read the migration guide)."),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-20"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," transactions in Block"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get transactions in the block. Multi-send and multi-coin transactions are included as sub-transactions."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 1 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 15 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#blocktxv2"},"BlockTxV2"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request. The block to query is higher than current highest block."),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1atomic-swaps"},"/api/v1/atomic-swaps"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-21"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," AtomicSwap"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get atomic swaps by address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 60 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time of blockTimestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddress"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"At least one of toAddress and fromAddress should be provided as parameter"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 25; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time of blockTimestamp in Milliseconds; The maximum start - end query window is 3 months; Default query window is the latest 30 days."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddress"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"At least one of toAddress and fromAddress should be provided as parameter"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#atomicswappage"},"AtomicSwapPage"))))),(0,r.kt)("h3",{id:"apiv1atomic-swapsid"},"/api/v1/atomic-swaps/{id}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-22"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," AtomicSwap"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get an AtomicSwap by swap id"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 request per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 60 request per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"swap id"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#atomicswap"},"AtomicSwap"))))),(0,r.kt)("h3",{id:"apiv1timelocksaddress"},"/api/v1/timelocks/{address}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-23"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Gets time lock records given an address"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the record id of timelock to query"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#timelocks"},"TimeLocks"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"internal server error"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1timelockaccount_addridrecordid"},"/api/v1/timelock/{account_addr}?(id={recordid})"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-24"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get timelock records of an address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Get the timelock history of an address.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 60 requests per IP per minute."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"The account address to query"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the record id of timelock to query"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#timelocks"},"TimeLocks"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"internal server error"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1minitokens"},"/api/v1/mini/tokens"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-25"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Gets a list of available mini tokens."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#minitokens"},"MiniTokens"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"500"),(0,r.kt)("td",{parentName:"tr",align:null},"internal server error"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1minimarkets"},"/api/v1/mini/markets"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-26"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Gets a list of mini market pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"Success"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#markets"},"Markets"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1miniklines"},"/api/v1/mini/klines"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-27"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get mini-token candlestick bars."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets candlestick/kline bars for a mini-token symbol pair. Bars are uniquely identified by their open time."),(0,r.kt)("p",null,"If the time window is larger than limits, only the first n klines will return. In this case, please either shrink the window or increase the limit to get proper amount of klines."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 10 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n 1499040000000, // Open time\n "0.01634790", // Open\n "0.80000000", // High\n "0.01575800", // Low\n "0.01577100", // Close\n "148976.11427815", // Volume\n 1499644799999, // Close time\n "2434.19055334", // Quote asset volume\n 308 // Number of trades\n]\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"interval"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"interval. Allowed value: ","[1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M]"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 300; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"startTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"endTime"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#candlestick"},"Candlestick")," ]")))),(0,r.kt)("h3",{id:"apiv1miniordersclosed"},"/api/v1/mini/orders/closed"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-28"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get closed orders of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets closed (filled and cancelled) orders for a given address."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order status list. Allowed value: ","[Ack, IocExpire, IocNoFill, FullyFill, Canceled, Expired, FailedBlocking, FailedMatching]"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"enum string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))))),(0,r.kt)("h3",{id:"apiv1miniordersopen"},"/api/v1/mini/orders/open"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-29"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get open orders of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets open orders for a given address.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the owner address"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#orderlist"},"OrderList"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1miniordersid"},"/api/v1/mini/orders/{id}"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-30"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get an order of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets metadata for an individual order by its ID.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"path"),(0,r.kt)("td",{parentName:"tr",align:null},"order id"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#order"},"Order"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1miniticker24hr"},"/api/v1/mini/ticker/24hr"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-31"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get a market ticker of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets 24 hour price change statistics for a market pair symbol. Updated every second.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tickerstatistics"},"TickerStatistics")," ]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"apiv1minitrades"},"/api/v1/mini/trades"),(0,r.kt)("hr",null),(0,r.kt)("h5",{id:"get-32"},(0,r.kt)("strong",{parentName:"h5"},(0,r.kt)("em",{parentName:"strong"},"GET"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Summary:")," Get market trades of mini-token pairs."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Description:")," Gets a list of historical trades.\n",(0,r.kt)("strong",{parentName:"p"},"Query Window:")," Default query window is latest 7 days; The maximum start - end query window is 3 months.\n",(0,r.kt)("strong",{parentName:"p"},"Rate Limit:")," 5 requests per IP per second."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Parameters")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Located in"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Required"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"the buyer/seller address"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"buyer order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"end"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"end time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"height"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"limit"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"default 500; max 1000."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start with 0; default 0."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"quote asset"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"seller order id"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"order side. 1 for buy and 2 for sell."),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"start"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"start time in Milliseconds"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"long")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"query"),(0,r.kt)("td",{parentName:"tr",align:null},"total number required, 0 for not required and 1 for required; default not required, return total=-1 in response"),(0,r.kt)("td",{parentName:"tr",align:null},"No"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Responses")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Code"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Schema"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"200"),(0,r.kt)("td",{parentName:"tr",align:null},"OK"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#tradepage"},"TradePage"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"400"),(0,r.kt)("td",{parentName:"tr",align:null},"Bad Request"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"404"),(0,r.kt)("td",{parentName:"tr",align:null},"Not Found"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"default"),(0,r.kt)("td",{parentName:"tr",align:null},"Generic error response"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#error"},"Error"))))),(0,r.kt)("h3",{id:"models"},"Models"),(0,r.kt)("hr",null),(0,r.kt)("h3",{id:"error"},"Error"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"error code"),(0,r.kt)("td",{parentName:"tr",align:null},"400")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"error message"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"times"},"Times"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ap_time"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"event time"),(0,r.kt)("td",{parentName:"tr",align:null},"e.g. 2019-01-21T10:30:00Z")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"block_time"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"the time of latest block"),(0,r.kt)("td",{parentName:"tr",align:null},"e.g. 2019-01-21T10:30:00Z")))),(0,r.kt)("h3",{id:"validators"},"Validators"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"block_height"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"Current block height"),(0,r.kt)("td",{parentName:"tr",align:null},"12345")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"validators"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#validator"},"Validator")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"validator"},"Validator"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex address)"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pub_key"),(0,r.kt)("td",{parentName:"tr",align:null},"[ integer ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Public key bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"voting_power"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"validator's voting power"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"accum"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"validator's accumulated voting power"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"peer"},"Peer"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Authenticated identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"8c379d4d3b9995c712665dc9a9414dbde5b30483")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"original_listen_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Original listen address before PeersService changed it"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"listen_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Listen address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"access_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Access address (HTTP)"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"stream_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string (RemoteAddr)"),(0,r.kt)("td",{parentName:"tr",align:null},"Stream address (WS)"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"network"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Chain ID"),(0,r.kt)("td",{parentName:"tr",align:null},"Binance-Chain-Ganges")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"version"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Version"),(0,r.kt)("td",{parentName:"tr",align:null},"0.30.1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Moniker (Name)"),(0,r.kt)("td",{parentName:"tr",align:null},"data-seed-1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"capabilities"),(0,r.kt)("td",{parentName:"tr",align:null},"[ string ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Array of capability tags: node, qs, ap, ws"),(0,r.kt)("td",{parentName:"tr",align:null},"node,ap")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"accelerated"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"Is an accelerated path to a validator node"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"transaction"},"Transaction"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"hash"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex)"),(0,r.kt)("td",{parentName:"tr",align:null},"Hash of transaction, it returned as bytes before, and now it returns as hex string"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"log"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Log of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Data of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"height"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Height of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Result code of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ok"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"object"),(0,r.kt)("td",{parentName:"tr",align:null},"Detail of transaction, like transaction type, messages and signature"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("p",null,"For example, below is the detail of a send transaction. Most of the fields are fixed, but the detail of msg\nvaries with msg type, if you query with --format=json."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "type": "auth/StdTx", // fixed, type of transaction\n "value": { // fixed, detail of the transaction\n "data": null, // fixed, data of the transaction\n "memo": "", // fixed, memo\n "msg": [ // fixed, msgs of the transaction\n {\n "type": "cosmos-sdk/Send", // vary with msg type\n "value": { // value content vary with mst type\n "inputs": [\n {\n "address": "bnb1vt4zwu5hy7tyryktud6mpcu8h2ehh6xw66gzwp",\n "coins": [\n {\n "amount": "100000000000000",\n "denom": "BNB"\n }\n ]\n }\n ],\n "outputs": [\n {\n "address": "bnb1kg8mh20tndur9d9rry4wjunhpfzcud30qzf0qv",\n "coins": [\n {\n "amount": "100000000000000",\n "denom": "BNB"\n }\n ]\n }\n ]\n }\n }\n ],\n "signatures": [ // fixed, signatures of the transaction\n {\n "account_number": "0",\n "pub_key": {\n "type": "tendermint/PubKeySecp256k1",\n "value": "AoWY3eWBOnnvLPTz4RsUlX1pWCkLLPewu1vAAoTEzxzR"\n },\n "sequence": "1",\n "signature": "6O2TQAgleFNPw4zIWBLaNvOf5dR7DHNSr2DwAPeFK6lokRqZd2KR2BD+WlmaWj4LdLo5N+utN1JtY41E91N0uw=="\n }\n ],\n "source": "0" // fixed, source of the transaction\n }\n}\n')),(0,r.kt)("p",null," | |"),(0,r.kt)("h3",{id:"account"},"Account"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"account_number"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string (address)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"balances"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#balance"},"Balance")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"public_key"),(0,r.kt)("td",{parentName:"tr",align:null},"[ integer ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Public key bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"sequence is for preventing replay attack"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"accountsequence"},"AccountSequence"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"number used for preventing replay attack"),(0,r.kt)("td",{parentName:"tr",align:null},"1")))),(0,r.kt)("h3",{id:"balance"},"Balance"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string (currency)"),(0,r.kt)("td",{parentName:"tr",align:null},"asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"free"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 0.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"locked"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 0.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"frozen"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 0.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")))),(0,r.kt)("h3",{id:"token"},"Token"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"name"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"token name"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB Chain Native Token")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"unique token trade symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"BTC-000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"original_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"token symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"BTC")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total_supply"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"total token supply in decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"owner"),(0,r.kt)("td",{parentName:"tr",align:null},"string (address)"),(0,r.kt)("td",{parentName:"tr",align:null},"Address which issue the token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"smart contract address for this token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_decimals"),(0,r.kt)("td",{parentName:"tr",align:null},"int"),(0,r.kt)("td",{parentName:"tr",align:null},"the token decimals"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"market"},"Market"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"base_asset_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string (currency)"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol of base asset"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quote_asset_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string (currency)"),(0,r.kt)("td",{parentName:"tr",align:null},"symbol of quote asset"),(0,r.kt)("td",{parentName:"tr",align:null},"ABC-5CA")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"list_price"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form"),(0,r.kt)("td",{parentName:"tr",align:null},"1.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tick_size"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"Minimium price change in decimal form"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000001")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lot_size"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"Minimium trading quantity in decimal form"),(0,r.kt)("td",{parentName:"tr",align:null},"1.00000000")))),(0,r.kt)("h3",{id:"fee"},"Fee"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"msg_type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Transaction msg type that this fee applies to"),(0,r.kt)("td",{parentName:"tr",align:null},"submit_proposal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"The fee amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_for"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = proposer, 2 = all, 3 = free"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"multi_transfer_fee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Fee for multi-transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"200000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lower_limit_as_multi"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"e.g. 2"),(0,r.kt)("td",{parentName:"tr",align:null},"2")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fixed_fee_params"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#fixedfeeparams"},"FixedFeeParams")),(0,r.kt)("td",{parentName:"tr",align:null},"Set if the fee is fixed"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"dex_fee_fields"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"#dexfeefieldparams"},"DexFeeFieldParams")),(0,r.kt)("td",{parentName:"tr",align:null},"dex fee"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fixedfeeparams"},"FixedFeeParams"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"msg_type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Transaction msg type that this fee applies to"),(0,r.kt)("td",{parentName:"tr",align:null},"submit_proposal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"The fixed fee amount"),(0,r.kt)("td",{parentName:"tr",align:null},"1000000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_for"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = proposer, 2 = all, 3 = free"),(0,r.kt)("td",{parentName:"tr",align:null},"1")))),(0,r.kt)("h3",{id:"dexfeefieldparams"},"DexFeeFieldParams"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_name"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"fee name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee_value"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"fee value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"marketdepth"},"MarketDepth"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"asks"),(0,r.kt)("td",{parentName:"tr",align:null},"[ string (fixed8) ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Price and qty in decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},'["1.00000000","800.00000000"]')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"bids"),(0,r.kt)("td",{parentName:"tr",align:null},"[ string (fixed8) ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Price and qty in decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},'["1.00000000","800.00000000"]')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pending_match"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"If new orders inserted in current block and the matching process has not started in the block, return true."),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"candlestick"},"Candlestick"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"close"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"closing price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"closeTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"time of closing trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"high"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the highest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"low"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the lowest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"numberOfTrades"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"total trades"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"open"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"open price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"openTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"time of open trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAssetVolume"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the total trading volume in quote asset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"volume"),(0,r.kt)("td",{parentName:"tr",align:null},"number"),(0,r.kt)("td",{parentName:"tr",align:null},"the total trading volume"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"orderlist"},"OrderList"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"order"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#order"},"Order")," ]"),(0,r.kt)("td",{parentName:"tr",align:null},"list of orders"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"order"},"Order"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"cumulateQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"total amount of trades that have made"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee on the latest updated block of this order. Multiple assets are split by semicolon."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastExecutedPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"price of last execution"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastExecutedQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"quantity of last execution"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderCreateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"time of order creation"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"owner"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order issuer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"price"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"side"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 for buy and 2 for sell"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"enum ","[Ack, PartialFill, IocNoFill, FullyFill, Canceled, Expired, FailedBlocking, FailedMatching, IocExpire]"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading pair symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timeInForce"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 for Good Till Expire(GTE) order and 3 for Immediate Or Cancel (IOC)"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tradeId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"transactionHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"transactionTime"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"time of latest order update, for example, cancel, expire"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"only 2 is available for now, meaning limit order"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"subtx"},"SubTx"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"tickerstatistics"},"TickerStatistics"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"askPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"sell price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"askQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"sell quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"bidPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"buy price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"bidQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"buy quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"closeTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"time of closing"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"count"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"total trade count"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"firstId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of first trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"highPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"highest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of last trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"last price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lastQuantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"last quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"lowPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"lowest price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"openPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"open price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"openTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"open time"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"prevClosePrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"last close price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"priceChange"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"change of price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"priceChangePercent"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"change of price in percentage"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteVolume"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading volume in quote asset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"volume"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading volume"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"weightedAvgPrice"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"weighted average price"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"tradepage"},"TradePage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"total number of trades"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"trade"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#trade"},"Trade")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"trade"},"Trade"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"baseAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"base asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the buyer address on the block of this trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"id of buyer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order id for buyer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buySingleFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the buyer address on this single trade"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB:0.00000172;")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"buyerSource"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"tx source of buy order"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"price"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade price"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quantity"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade quantity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"quoteAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"quote asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the seller address on the block of this trade"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"seller ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerOrderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"seller order ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellSingleFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trading fee for the seller address on this single trade"),(0,r.kt)("td",{parentName:"tr",align:null},"BNB:0.00000216;")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sellerSource"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"tx source of sell order"),(0,r.kt)("td",{parentName:"tr",align:null},"1")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"asset symbol"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tickType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"enum ","[Unknown,SellTaker,BuyTaker,BuySurplus,SellSurplus,Neutral]"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"time"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"trade time"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tradeId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"trade ID"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blockexchangefeepage"},"BlockExchangeFeePage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockExchangeFee"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#blockexchangefee"},"BlockExchangeFee")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blockexchangefee"},"BlockExchangeFee"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"timestamp of a block"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"total fee collected. Multiple assets are split by semicolon."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tradeCount"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"trade count of the address on the block"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"txpage"},"TxPage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"total sum of transactions"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tx"},"Tx")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blocktx"},"BlockTx"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#tx"},"Tx")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"blocktxv2"},"BlockTxV2"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"tx"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#txv2"},"TxV2")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"tx"},"Tx"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"block height"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"transaction result code"),(0,r.kt)("td",{parentName:"tr",align:null},"0")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"confirmBlocks"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"from address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"order ID"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timeStamp"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null},"time of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"to address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAge"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"type of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"value of transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"source"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"swapId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is one of HTL_TRANSFER, CLAIM_HTL, REFUND_HTL, DEPOSIT_HTL"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"proposalId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"exchangerate"},"ExchangeRate"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ExchangeRate"),(0,r.kt)("td",{parentName:"tr",align:null},"object"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"resultstatus"},"ResultStatus"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"validator_info"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#validatorinfo"},"ValidatorInfo")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sync_info"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#syncinfo"},"SyncInfo")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"node_info"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#nodeinfo"},"NodeInfo")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"nodeinfo"},"NodeInfo"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Protocol_Version"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#protocolversion"},"ProtocolVersion")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ID"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"listen_addr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"network"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"version"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"channels"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"moniker"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null},"object"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"syncinfo"},"SyncInfo"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_block_hash"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_app_hash"),(0,r.kt)("td",{parentName:"tr",align:null},"string (hex)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_block_height"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"latest_block_time"),(0,r.kt)("td",{parentName:"tr",align:null},"time"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"catching_up"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"protocolversion"},"ProtocolVersion"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"P2P"),(0,r.kt)("td",{parentName:"tr",align:null},"integer (uint64)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"block"),(0,r.kt)("td",{parentName:"tr",align:null},"integer (uint64)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"app"),(0,r.kt)("td",{parentName:"tr",align:null},"integer (uint64)"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"validatorinfo"},"ValidatorInfo"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hex address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"pub_key"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"hex-encoded"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"voting_power"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"atomicswappage"},"AtomicSwapPage"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"atomicSwaps"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#atomicswap"},"AtomicSwap")," ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"atomicswap"},"AtomicSwap"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockTimestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp of block in which the swap is initiated. The unit is millisecond."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"closedTime"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossChain"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"expectedIncome"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"expireHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"inAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"outAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumber"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipientOtherChain"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"status"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"swapId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"string (int64)"),(0,r.kt)("td",{parentName:"tr",align:null},"The timestamp for randomNumberHash calculation, randomNumberHash=sha256(randomNumber, timestamp). The unit is second."),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"txv2"},"TxV2"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"blockHeight"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"code"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"0")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"fromAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"memo"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"orderId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is NEW_ORDER"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"proposalId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is PROPOSAL"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"source"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"subTransactions"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ",(0,r.kt)("a",{parentName:"td",href:"#subtx"},"SubTx")," ]"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction has sub-transactions, such as multi-send transaction or a transaction have multiple assets"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"swapId"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"Optional. Available when the transaction type is one of HTL_TRANSFER, CLAIM_HTL, REFUND_HTL, DEPOSIT_HTL"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"timeStamp"),(0,r.kt)("td",{parentName:"tr",align:null},"dateTime"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"toAddr"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txAsset"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txFee"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"txType"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"timelocks"},"TimeLocks"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"id"),(0,r.kt)("td",{parentName:"tr",align:null},"long"),(0,r.kt)("td",{parentName:"tr",align:null},"The record id of the timelock transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"description"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"The description of the timelock transaction"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"amount"),(0,r.kt)("td",{parentName:"tr",align:null},"[ ]"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"locktime"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"The available unlock time"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"minitokens"},"MiniTokens"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"name"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"BNB Chain Mini Token")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"BTC-000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"original_symbol"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null},"BTC")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"total_supply"),(0,r.kt)("td",{parentName:"tr",align:null},"string (fixed8)"),(0,r.kt)("td",{parentName:"tr",align:null},"In decimal form, e.g. 1.00000000"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00000000")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"token_type"),(0,r.kt)("td",{parentName:"tr",align:null},"integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Type of the mini token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"owner"),(0,r.kt)("td",{parentName:"tr",align:null},"string (address)"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"mintable"),(0,r.kt)("td",{parentName:"tr",align:null},"boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"mintable"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"token_uri"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"URI for token description"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_address"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"smart contract address for this token"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"contract_decimals"),(0,r.kt)("td",{parentName:"tr",align:null},"int"),(0,r.kt)("td",{parentName:"tr",align:null},"the token decimals"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/53ba04fa.2bb84c7d.js b/assets/js/53ba04fa.59cffb9a.js
similarity index 90%
rename from assets/js/53ba04fa.2bb84c7d.js
rename to assets/js/53ba04fa.59cffb9a.js
index a559324320..cd0f5f7275 100644
--- a/assets/js/53ba04fa.2bb84c7d.js
+++ b/assets/js/53ba04fa.59cffb9a.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[542],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=c(n),d=r,m=u["".concat(l,".").concat(d)]||u[d]||h[d]||o;return n?a.createElement(m,s(s({ref:t},p),{},{components:n})):a.createElement(m,s({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:r,s[1]=i;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=n(83117),r=(n(67294),n(3905));const o={},s="BNB Beacon Chain Testnet",i={unversionedId:"beaconchain/develop/testnetandexplorer",id:"beaconchain/develop/testnetandexplorer",title:"BNB Beacon Chain Testnet",description:"What is a Testnet?",source:"@site/docs/beaconchain/develop/testnetandexplorer.md",sourceDirName:"beaconchain/develop",slug:"/beaconchain/develop/testnetandexplorer",permalink:"/docs/beaconchain/develop/testnetandexplorer",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/develop/testnetandexplorer.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"BNB Beacon Chain SDK",permalink:"/docs/beaconchain/develop/bcsdk"},next:{title:"Light Client",permalink:"/docs/beaconchain/light-client"}},l={},c=[{value:"What is a Testnet?",id:"what-is-a-testnet",level:3},{value:"What is the Testnet good for?",id:"what-is-the-testnet-good-for",level:3},{value:"How to get Testnet Fund?",id:"how-to-get-testnet-fund",level:3},{value:"Explorers for Testnet",id:"explorers-for-testnet",level:3}],p={toc:c},u="wrapper";function h(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-testnet"},"BNB Beacon Chain Testnet"),(0,r.kt)("h3",{id:"what-is-a-testnet"},"What is a Testnet?"),(0,r.kt)("p",null,"The testnet is a test environment for BNB Chain network, run by the BNB Chain development community, which is open to developers."),(0,r.kt)("p",null,"The validators on the testnet are from development team."),(0,r.kt)("p",null,"You can connect a node to the testnet by downloading the node binary and testnet configuration from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"https://github.com/bnb-chain/node/releases"),"."),(0,r.kt)("h3",{id:"what-is-the-testnet-good-for"},"What is the Testnet good for?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create your test address and get your testnet funds."),(0,r.kt)("li",{parentName:"ul"},"Develop applications and try tutorials on BNB Chain without the potential to lose your own assets."),(0,r.kt)("li",{parentName:"ul"},"Test your applications against new versions of BNB Chain."),(0,r.kt)("li",{parentName:"ul"},"Analyze blockchain data on a smaller, non-trivial data set compared to the public network.")),(0,r.kt)("h3",{id:"how-to-get-testnet-fund"},"How to get Testnet Fund?"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: The previous BNB Chain Testnet ",(0,r.kt)("a",{parentName:"p",href:"https://www.binance.com/en/dex/testnet/address"},"Faucet")," is retired at 2020/08/11 at 1:00 PM (UTC). The testnet faucet has migrated to this page: ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.binance.org/faucet-smart"},"https://testnet.binance.org/faucet-smart"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Steps to claim testnet BNB:")),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Create a new Wallet of BNB Smart Chain testnet with ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/docs/Wallet#supported-wallets"},"Trust Wallet or Binance Extension Wallet"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Get Testnet Fund: ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.binance.org/faucet-smart"},"https://testnet.binance.org/faucet-smart"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Transfer From BNB Smart Chain to BNB Beacon Chain"))),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc"},"Binance Extension Wallet")," for cross-chain transfer."),(0,r.kt)("h3",{id:"explorers-for-testnet"},"Explorers for Testnet"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"BNB Smart Chain Explorer - ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.bscscan.com/"},"https://testnet.bscscan.com/")),(0,r.kt)("li",{parentName:"ul"},"BNB Beacon Chain Explorer - ",(0,r.kt)("a",{parentName:"li",href:"https://testnet-explorer.binance.org/"},"https://testnet-explorer.binance.org/"))))}h.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[542],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),h=c(n),d=r,m=h["".concat(l,".").concat(d)]||h[d]||u[d]||o;return n?a.createElement(m,s(s({ref:t},p),{},{components:n})):a.createElement(m,s({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[h]="string"==typeof e?e:r,s[1]=i;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=n(83117),r=(n(67294),n(3905));const o={},s="BNB Beacon Chain Testnet",i={unversionedId:"beaconchain/develop/testnetandexplorer",id:"beaconchain/develop/testnetandexplorer",title:"BNB Beacon Chain Testnet",description:"What is a Testnet?",source:"@site/docs/beaconchain/develop/testnetandexplorer.md",sourceDirName:"beaconchain/develop",slug:"/beaconchain/develop/testnetandexplorer",permalink:"/docs/beaconchain/develop/testnetandexplorer",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/develop/testnetandexplorer.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"BNB Beacon Chain SDK",permalink:"/docs/beaconchain/develop/bcsdk"},next:{title:"Light Client",permalink:"/docs/beaconchain/light-client"}},l={},c=[{value:"What is a Testnet?",id:"what-is-a-testnet",level:3},{value:"What is the Testnet good for?",id:"what-is-the-testnet-good-for",level:3},{value:"How to get Testnet Fund?",id:"how-to-get-testnet-fund",level:3},{value:"Explorers for Testnet",id:"explorers-for-testnet",level:3}],p={toc:c},h="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(h,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-testnet"},"BNB Beacon Chain Testnet"),(0,r.kt)("h3",{id:"what-is-a-testnet"},"What is a Testnet?"),(0,r.kt)("p",null,"The testnet is a test environment for BNB Chain network, run by the BNB Chain development community, which is open to developers."),(0,r.kt)("p",null,"The validators on the testnet are from development team."),(0,r.kt)("p",null,"You can connect a node to the testnet by downloading the node binary and testnet configuration from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node/releases"},"https://github.com/bnb-chain/node/releases"),"."),(0,r.kt)("h3",{id:"what-is-the-testnet-good-for"},"What is the Testnet good for?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create your test address and get your testnet funds."),(0,r.kt)("li",{parentName:"ul"},"Develop applications and try tutorials on BNB Chain without the potential to lose your own assets."),(0,r.kt)("li",{parentName:"ul"},"Test your applications against new versions of BNB Chain."),(0,r.kt)("li",{parentName:"ul"},"Analyze blockchain data on a smaller, non-trivial data set compared to the public network.")),(0,r.kt)("h3",{id:"how-to-get-testnet-fund"},"How to get Testnet Fund?"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: The previous BNB Chain Testnet ",(0,r.kt)("a",{parentName:"p",href:"https://www.binance.com/en/dex/testnet/address"},"Faucet")," is retired at 2020/08/11 at 1:00 PM (UTC). The testnet faucet has migrated to this page: ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.binance.org/faucet-smart"},"https://testnet.binance.org/faucet-smart"))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Steps to claim testnet BNB:")),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Create a new Wallet of BNB Smart Chain testnet with ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/docs/Wallet#supported-wallets"},"Trust Wallet or Binance Extension Wallet"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Get Testnet Fund: ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.binance.org/faucet-smart"},"https://testnet.binance.org/faucet-smart"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Transfer From BNB Smart Chain to BNB Beacon Chain"))),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc"},"Binance Extension Wallet")," for cross-chain transfer."),(0,r.kt)("h3",{id:"explorers-for-testnet"},"Explorers for Testnet"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"BNB Smart Chain Explorer - ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.bscscan.com/"},"https://testnet.bscscan.com/")),(0,r.kt)("li",{parentName:"ul"},"BNB Beacon Chain Explorer - ",(0,r.kt)("a",{parentName:"li",href:"https://testnet-explorer.bnbchain.org/"},"https://testnet-explorer.bnbchain.org/"))))}u.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/5f00e493.52bc563c.js b/assets/js/5f00e493.52bc563c.js
new file mode 100644
index 0000000000..47dcabc294
--- /dev/null
+++ b/assets/js/5f00e493.52bc563c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[5478],{3905:(e,t,a)=>{a.d(t,{Zo:()=>h,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},h=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,h=l(e,["components","mdxType","originalType","parentName"]),p=c(a),u=r,m=p["".concat(s,".").concat(u)]||p[u]||d[u]||i;return a?n.createElement(m,o(o({ref:t},h),{},{components:a})):n.createElement(m,o({ref:t},h))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var c=2;c{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=a(83117),r=(a(67294),a(3905));const i={},o="BNB Beacon Chain Documentation",l={unversionedId:"beaconchain/index",id:"beaconchain/index",title:"BNB Beacon Chain Documentation",description:"Welcome to the BNB Beacon Chain documentation site!",source:"@site/docs/beaconchain/index.md",sourceDirName:"beaconchain",slug:"/beaconchain/",permalink:"/docs/beaconchain/",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/index.md",tags:[],version:"current",frontMatter:{}},s={},c=[{value:"What are BNB Beacon Chain and Binance DEX?",id:"what-are-bnb-beacon-chain-and-binance-dex",level:2},{value:"What is BNB Smart Chain?",id:"what-is-bnb-smart-chain",level:2},{value:"What can I do with BNB Beacon Chain ?",id:"what-can-i-do-with-bnb-beacon-chain-",level:2},{value:"What can I do with BNB Smart Chain ?",id:"what-can-i-do-with-bnb-smart-chain-",level:2},{value:"Comparision Between BC and BSC",id:"comparision-between-bc-and-bsc",level:2},{value:"Get Started",id:"get-started",level:2},{value:"Asset Management",id:"asset-management",level:2},{value:"BEP2 Asset",id:"bep2-asset",level:3},{value:"BEP20 Asset",id:"bep20-asset",level:3},{value:"BNB (and Other Coins) MainNet Switch",id:"bnb-and-other-coins-mainnet-switch",level:2},{value:"BNB Staking",id:"bnb-staking",level:2},{value:"Trading on Binance DEX",id:"trading-on-binance-dex",level:2},{value:"Technology Details",id:"technology-details",level:2},{value:"Acknowledgement",id:"acknowledgement",level:2}],h={toc:c},p="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,n.Z)({},h,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-documentation"},"BNB Beacon Chain Documentation"),(0,r.kt)("p",null,"Welcome to the BNB Beacon Chain documentation site!"),(0,r.kt)("p",null,"Please note that both the BNB Beacon Chain software and this documentation site will improve over time and is still a work-in-progress.",(0,r.kt)("br",null),"\nBe sure to engage with our community channels to stay updated."),(0,r.kt)("p",null,"Have fun trading and see you on chain!"),(0,r.kt)("h2",{id:"what-are-bnb-beacon-chain-and-binance-dex"},"What are BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.bnbchain.org"},"BNB Beacon Chain")," is a blockchain software system developed by its community.\nBinance DEX refers to the decentralized exchange features developed on top of BNB Beacon Chain."),(0,r.kt)("p",null,"Please read the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/faq/"},"FAQ")," to get started."),(0,r.kt)("h2",{id:"what-is-bnb-smart-chain"},"What is BNB Smart Chain?"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.bnbchain.org/en/smartChain"},"BNB Smart Chain")," is an innovative solution to bring programmability and interoperability to BNB Beacon Chain . BNB Smart Chain relies on a system of ",(0,r.kt)("a",{parentName:"p",href:"https://https://github.com/bnb-chain/whitepaper/blob/master/WHITEPAPER.md"},"41 validators with Proof of Staked Authority (PoSA)")," consensus that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality."),(0,r.kt)("p",null,"Please read the ",(0,r.kt)("a",{parentName:"p",href:"/docs/BSC-FAQs-general"},"FAQ")," to get started."),(0,r.kt)("h2",{id:"what-can-i-do-with-bnb-beacon-chain-"},"What can I do with BNB Beacon Chain ?"),(0,r.kt)("p",null,"The purpose of the new blockchain and DEX is to create an alternative marketplace for issuing and exchanging digital assets in a decentralized manner."),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/transfer#web-wallet"},"Send and receive BNB")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://community.binance.org/topic/2487"},"Issue new tokens to digitalize assets"),", and use BNB Beacon Chain as underlying exchange/transfer\nnetwork for the assets"),(0,r.kt)("li",{parentName:"ul"},"Send, receive, ",(0,r.kt)("a",{parentName:"li",href:"/docs/tokens#burn"},"burn"),"/",(0,r.kt)("a",{parentName:"li",href:"/docs/tokens#mint"},"mint")," and ",(0,r.kt)("a",{parentName:"li",href:"/docs/tokens#freeze-unfreeze"},"freeze/unfreeze")," tokens"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/learn/bsc-gov"},"Sumbit an on-chain governance proposal for BNB Smart Chain "))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For traders"),", you can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/list_instruction"},"Propose to create trading pairs")," between two different tokens"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/learn/trading-interface"},"Send orders")," to buy or sell assets through trading pairs created on the chain with",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/exchange-integration#sdks"},"SDK")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1markets"},"Watch the DEX market")," to confirm price and market activity of certain assets")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For developers"),", you can also:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Explore the transaction history and blocks on the chain, via ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org"},"BNB Beacon Chain Explore"),", ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/dex-api/paths"},"API"),"\nand ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/node-rpc"},"node RPC")," interfaces."),(0,r.kt)("li",{parentName:"ul"},"Run a ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/fullnode"},"full node")," to listen to and broadcast live updates on transactions, blocks, and consensus activities"),(0,r.kt)("li",{parentName:"ul"},"Extract other data of BNB Beacon Chain via full node or ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1markets"},"APIs")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/exchange-integration#sdks"},"Develop tools")," and application to help users use BNB Beacon Chain and Binance DEX")),(0,r.kt)("h2",{id:"what-can-i-do-with-bnb-smart-chain-"},"What can I do with BNB Smart Chain ?"),(0,r.kt)("p",null,"BNB Smart Chain (BSC) is best described as a blockchain that runs in parallel to the BNB Beacon Chain . Unlike BNB Beacon Chain , BSC boasts smart contract functionality and compatibility with the Ethereum Virtual Machine (EVM). The design goal here was to leave the high throughput of BNB Beacon Chain intact while introducing smart contracts into its ecosystem."),(0,r.kt)("p",null,"Because BSC is EVM-compatible, it launched with support for the rich universe of ",(0,r.kt)("a",{parentName:"p",href:"https://academy.binance.com/en/articles/what-is-ethereum"},"Ethereum")," tools and DApps. In theory, this makes it easy for developers to port their projects over from Ethereum. For users, it means that applications like ",(0,r.kt)("a",{parentName:"p",href:"/docs/wallet/metamask"},"MetaMask")," can be easily configured to work with BSC. Seriously \u2013 it\u2019s just a matter of tweaking a couple of settings. Check out ",(0,r.kt)("a",{parentName:"p",href:"/docs/wallet/metamask"},"Use MetaMask for BNB Smart Chain ")," to get started."),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send and receive ",(0,r.kt)("a",{parentName:"li",href:"https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc"},"BNB")," and other ",(0,r.kt)("a",{parentName:"li",href:"https://docs.bnbchain.org/docs/binance#swap-testnet-bep2-token-to-its-bep20-equivalent"},"BEP2 tokens")," cross-chain"),(0,r.kt)("li",{parentName:"ul"},"Explore the transaction history and blocks on the chain, via ",(0,r.kt)("a",{parentName:"li",href:"https://bscscan.com"},"bscscan"),", API\nand node RPC interfaces."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/wallet/staking"},"Stake you BNB")," to earn some block rewards")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Developers")," can also:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/issue-BEP20"},"Issue")," new tokens to digitalize assets"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bsc-develop-ecosystem"},"Migrate")," existing DApps"),(0,r.kt)("li",{parentName:"ul"},"Run a ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/fullnode"},"full node")," to listen to and broadcast live updates on transactions, blocks, and consensus activities"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/wallet/wallet_api"},"Develop wallets")," and tools to help users use Dapps")),(0,r.kt)("h2",{id:"comparision-between-bc-and-bsc"},"Comparision Between BC and BSC"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"BNB Beacon Chain"),(0,r.kt)("th",{parentName:"tr",align:null},"BNB Smart Chain"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Consensus"),(0,r.kt)("td",{parentName:"tr",align:null},"DPoS"),(0,r.kt)("td",{parentName:"tr",align:null},"PoSA")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"No. of Validators"),(0,r.kt)("td",{parentName:"tr",align:null},"11"),(0,r.kt)("td",{parentName:"tr",align:null},"up to 50")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mean Block Time"),(0,r.kt)("td",{parentName:"tr",align:null},"<1s"),(0,r.kt)("td",{parentName:"tr",align:null},"~5s")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Programmability"),(0,r.kt)("td",{parentName:"tr",align:null},"BEPs"),(0,r.kt)("td",{parentName:"tr",align:null},"Support EVM-compatible smart contracts")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross Chain"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3")," introduces ",(0,r.kt)("em",{parentName:"td"},"Hash Timer Locked Contract functions")," and further ",(0,r.kt)("a",{parentName:"td",href:"https://community.binance.org/topic/1892"},"mechanism")," to handle inter-blockchain tokens peg."),(0,r.kt)("td",{parentName:"tr",align:null},"BSC comes with efficient ",(0,r.kt)("a",{parentName:"td",href:"/docs/learn/cross-chain"},"native dual chain communication"),"; Optimized for scaling high-performance dApps that require fast and smooth user experience.")))),(0,r.kt)("h2",{id:"get-started"},"Get Started"),(0,r.kt)("p",null,"Want to try it ",(0,r.kt)("strong",{parentName:"p"},"BNB Beacon Chain "),"? Just give a peek at the first few of pages of the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/get-started"},"getting started guide"),".",(0,r.kt)("br",null),"\nYou could also have a read through the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/faq/"},"FAQ"),"."),(0,r.kt)("p",null,"Want to develop on ",(0,r.kt)("strong",{parentName:"p"},"BNB Smart Chain "),"? First, read through the ",(0,r.kt)("a",{parentName:"p",href:"/docs/BSC-FAQs-general"},"FAQ")," and learn about tokens ",(0,r.kt)("a",{parentName:"p",href:"/docs/BEP20"},"here"),"."),(0,r.kt)("h2",{id:"asset-management"},"Asset Management"),(0,r.kt)("h3",{id:"bep2-asset"},"BEP2 Asset"),(0,r.kt)("p",null,"BNB Beacon Chain is essentially a digital asset creation and exchange platform.",(0,r.kt)("br",null),"\nThe features listed below are currently supported on BNB Beacon Chain :"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/tokens"},"The Issuance, Burning, Minting and Freezing of Tokens")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/transfer"},"Transfer of Tokens"))),(0,r.kt)("h3",{id:"bep20-asset"},"BEP20 Asset"),(0,r.kt)("p",null,"A token protocol on BSC which is compatible with BEP2 and ",(0,r.kt)("a",{parentName:"p",href:"https://eips.ethereum.org/EIPS/eip-20"},"ERC20"),". It extends ERC20 and contains more interfaces, such as ",(0,r.kt)("inlineCode",{parentName:"p"},"getOwner")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"decimals"),". Read the full proposal here: ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP20.md"},"https://github.com/bnb-chain/BEPs/blob/master/BEP20.md")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/issue-BEP20"},"Issue BEP20")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/Wallet"},"Wallet"))),(0,r.kt)("h2",{id:"bnb-and-other-coins-mainnet-switch"},"BNB (and Other Coins) MainNet Switch"),(0,r.kt)("p",null,"Build N Build Coin (BNB) was an ERC20 token on the Ethereum network. After the launch of BNB Beacon Chain, Build N Build Coin (BNB) is being converted into native BNB tokens on the main network via the exchange platform at ",(0,r.kt)("a",{parentName:"p",href:"https://www.binance.com"},"binance.com"),", a pragmatic and efficient way to perform the initial token swap."),(0,r.kt)("p",null,"BNB Beacon Chain is ready for other projects to migrate their tokens to take advantage of performant transactions with more liquidity options and native marketplace features.",(0,r.kt)("br",null),"\nMore information about how projects can set themselves up for this (via ",(0,r.kt)("a",{parentName:"p",href:"https://www.binance.com"},"binance.com")," or partners) will come soon."),(0,r.kt)("h2",{id:"bnb-staking"},"BNB Staking"),(0,r.kt)("p",null,"Please read the guide ",(0,r.kt)("a",{parentName:"p",href:"/docs/wallet/staking"},"here")),(0,r.kt)("h2",{id:"trading-on-binance-dex"},"Trading on Binance DEX"),(0,r.kt)("p",null,"Binance DEX is the native marketplace on BNB Beacon Chain , allowing you to exchange digital assets issued and listed on it.",(0,r.kt)("br",null),"\nThe matching happens within the blockchain nodes and all of the transactions are recorded on-chain, therefore forming a complete, auditable ledger of activity."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"ATTENTION"),": The match logic on DEX is quite different from normal centralized exchange.",(0,r.kt)("br",null),"\nPlease go over the trading and match spec below to get the best interests for your orders."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/trading-spec"},"Trading Spec")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/match"},"Match Logic")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/anti-frontrun"},"Anti-front-running"))),(0,r.kt)("h2",{id:"technology-details"},"Technology Details"),(0,r.kt)("p",null,"Continue reading below if you are interested in what is happening under the hood!"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/blockchain"},"BNB Beacon Chain as a Block Chain"),": about consensus, software stack, network layout and roles."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/chain-access"},"Connect to BNB Beacon Chain "),": how to connect to BNB Beacon Chain and DEX via different ways."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/fullnode"},"Run a BNB Beacon Chain full node"),": how to run a full node and become part of the p2p network of BNB Beacon Chain ."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/light-client"},"Run a BNB Beacon Chain light client"),": how to run a light client."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/governance"},"BNB Beacon Chain Governance"),": about proposal, vote, and join as a validator.")),(0,r.kt)("h2",{id:"acknowledgement"},"Acknowledgement"),(0,r.kt)("p",null,"Thanks to the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/acknowledgement"},"community, our partners and supporters"),"."))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/5f00e493.9e578c00.js b/assets/js/5f00e493.9e578c00.js
deleted file mode 100644
index 0da271cdd5..0000000000
--- a/assets/js/5f00e493.9e578c00.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[5478],{3905:(e,t,a)=>{a.d(t,{Zo:()=>h,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},h=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,h=l(e,["components","mdxType","originalType","parentName"]),p=c(a),u=r,m=p["".concat(s,".").concat(u)]||p[u]||d[u]||i;return a?n.createElement(m,o(o({ref:t},h),{},{components:a})):n.createElement(m,o({ref:t},h))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var c=2;c{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=a(83117),r=(a(67294),a(3905));const i={},o="BNB Beacon Chain Documentation",l={unversionedId:"beaconchain/index",id:"beaconchain/index",title:"BNB Beacon Chain Documentation",description:"Welcome to the BNB Beacon Chain documentation site!",source:"@site/docs/beaconchain/index.md",sourceDirName:"beaconchain",slug:"/beaconchain/",permalink:"/docs/beaconchain/",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/index.md",tags:[],version:"current",frontMatter:{}},s={},c=[{value:"What are BNB Beacon Chain and Binance DEX?",id:"what-are-bnb-beacon-chain-and-binance-dex",level:2},{value:"What is BNB Smart Chain?",id:"what-is-bnb-smart-chain",level:2},{value:"What can I do with BNB Beacon Chain ?",id:"what-can-i-do-with-bnb-beacon-chain-",level:2},{value:"What can I do with BNB Smart Chain ?",id:"what-can-i-do-with-bnb-smart-chain-",level:2},{value:"Comparision Between BC and BSC",id:"comparision-between-bc-and-bsc",level:2},{value:"Get Started",id:"get-started",level:2},{value:"Asset Management",id:"asset-management",level:2},{value:"BEP2 Asset",id:"bep2-asset",level:3},{value:"BEP20 Asset",id:"bep20-asset",level:3},{value:"BNB (and Other Coins) MainNet Switch",id:"bnb-and-other-coins-mainnet-switch",level:2},{value:"BNB Staking",id:"bnb-staking",level:2},{value:"Trading on Binance DEX",id:"trading-on-binance-dex",level:2},{value:"Technology Details",id:"technology-details",level:2},{value:"Acknowledgement",id:"acknowledgement",level:2}],h={toc:c},p="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,n.Z)({},h,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-documentation"},"BNB Beacon Chain Documentation"),(0,r.kt)("p",null,"Welcome to the BNB Beacon Chain documentation site!"),(0,r.kt)("p",null,"Please note that both the BNB Beacon Chain software and this documentation site will improve over time and is still a work-in-progress.",(0,r.kt)("br",null),"\nBe sure to engage with our community channels to stay updated."),(0,r.kt)("p",null,"Have fun trading and see you on chain!"),(0,r.kt)("h2",{id:"what-are-bnb-beacon-chain-and-binance-dex"},"What are BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.bnbchain.org"},"BNB Beacon Chain")," is a blockchain software system developed by its community.\nBinance DEX refers to the decentralized exchange features developed on top of BNB Beacon Chain."),(0,r.kt)("p",null,"Please read the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/faq/"},"FAQ")," to get started."),(0,r.kt)("h2",{id:"what-is-bnb-smart-chain"},"What is BNB Smart Chain?"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.bnbchain.org/en/smartChain"},"BNB Smart Chain")," is an innovative solution to bring programmability and interoperability to BNB Beacon Chain . BNB Smart Chain relies on a system of ",(0,r.kt)("a",{parentName:"p",href:"https://https://github.com/bnb-chain/whitepaper/blob/master/WHITEPAPER.md"},"41 validators with Proof of Staked Authority (PoSA)")," consensus that can support short block time and lower fees. The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality."),(0,r.kt)("p",null,"Please read the ",(0,r.kt)("a",{parentName:"p",href:"/docs/BSC-FAQs-general"},"FAQ")," to get started."),(0,r.kt)("h2",{id:"what-can-i-do-with-bnb-beacon-chain-"},"What can I do with BNB Beacon Chain ?"),(0,r.kt)("p",null,"The purpose of the new blockchain and DEX is to create an alternative marketplace for issuing and exchanging digital assets in a decentralized manner."),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/transfer#web-wallet"},"Send and receive BNB")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://community.binance.org/topic/2487"},"Issue new tokens to digitalize assets"),", and use BNB Beacon Chain as underlying exchange/transfer\nnetwork for the assets"),(0,r.kt)("li",{parentName:"ul"},"Send, receive, ",(0,r.kt)("a",{parentName:"li",href:"/docs/tokens#burn"},"burn"),"/",(0,r.kt)("a",{parentName:"li",href:"/docs/tokens#mint"},"mint")," and ",(0,r.kt)("a",{parentName:"li",href:"/docs/tokens#freeze-unfreeze"},"freeze/unfreeze")," tokens"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/learn/bsc-gov"},"Sumbit an on-chain governance proposal for BNB Smart Chain "))),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For traders"),", you can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/list_instruction"},"Propose to create trading pairs")," between two different tokens"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/learn/trading-interface"},"Send orders")," to buy or sell assets through trading pairs created on the chain with",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/exchange-integration#sdks"},"SDK")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1markets"},"Watch the DEX market")," to confirm price and market activity of certain assets")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"For developers"),", you can also:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Explore the transaction history and blocks on the chain, via ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org"},"BNB Beacon Chain Explore"),", ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/dex-api/paths"},"API"),"\nand ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/node-rpc"},"node RPC")," interfaces."),(0,r.kt)("li",{parentName:"ul"},"Run a ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/fullnode"},"full node")," to listen to and broadcast live updates on transactions, blocks, and consensus activities"),(0,r.kt)("li",{parentName:"ul"},"Extract other data of BNB Beacon Chain via full node or ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1markets"},"APIs")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/exchange-integration#sdks"},"Develop tools")," and application to help users use BNB Beacon Chain and Binance DEX")),(0,r.kt)("h2",{id:"what-can-i-do-with-bnb-smart-chain-"},"What can I do with BNB Smart Chain ?"),(0,r.kt)("p",null,"BNB Smart Chain (BSC) is best described as a blockchain that runs in parallel to the BNB Beacon Chain . Unlike BNB Beacon Chain , BSC boasts smart contract functionality and compatibility with the Ethereum Virtual Machine (EVM). The design goal here was to leave the high throughput of BNB Beacon Chain intact while introducing smart contracts into its ecosystem."),(0,r.kt)("p",null,"Because BSC is EVM-compatible, it launched with support for the rich universe of ",(0,r.kt)("a",{parentName:"p",href:"https://academy.binance.com/en/articles/what-is-ethereum"},"Ethereum")," tools and DApps. In theory, this makes it easy for developers to port their projects over from Ethereum. For users, it means that applications like ",(0,r.kt)("a",{parentName:"p",href:"/docs/wallet/metamask"},"MetaMask")," can be easily configured to work with BSC. Seriously \u2013 it\u2019s just a matter of tweaking a couple of settings. Check out ",(0,r.kt)("a",{parentName:"p",href:"/docs/wallet/metamask"},"Use MetaMask for BNB Smart Chain ")," to get started."),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send and receive ",(0,r.kt)("a",{parentName:"li",href:"https://docs.bnbchain.org/docs/binance#transfer-testnet-bnb-from-bsc-to-bc"},"BNB")," and other ",(0,r.kt)("a",{parentName:"li",href:"https://docs.bnbchain.org/docs/binance#swap-testnet-bep2-token-to-its-bep20-equivalent"},"BEP2 tokens")," cross-chain"),(0,r.kt)("li",{parentName:"ul"},"Explore the transaction history and blocks on the chain, via ",(0,r.kt)("a",{parentName:"li",href:"https://bscscan.com"},"bscscan"),", API\nand node RPC interfaces."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/wallet/staking"},"Stake you BNB")," to earn some block rewards")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Developers")," can also:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/issue-BEP20"},"Issue")," new tokens to digitalize assets"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bsc-develop-ecosystem"},"Migrate")," existing DApps"),(0,r.kt)("li",{parentName:"ul"},"Run a ",(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/fullnode"},"full node")," to listen to and broadcast live updates on transactions, blocks, and consensus activities"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/wallet/wallet_api"},"Develop wallets")," and tools to help users use Dapps")),(0,r.kt)("h2",{id:"comparision-between-bc-and-bsc"},"Comparision Between BC and BSC"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"BNB Beacon Chain"),(0,r.kt)("th",{parentName:"tr",align:null},"BNB Smart Chain"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Consensus"),(0,r.kt)("td",{parentName:"tr",align:null},"DPoS"),(0,r.kt)("td",{parentName:"tr",align:null},"PoSA")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"No. of Validators"),(0,r.kt)("td",{parentName:"tr",align:null},"11"),(0,r.kt)("td",{parentName:"tr",align:null},"up to 50")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mean Block Time"),(0,r.kt)("td",{parentName:"tr",align:null},"<1s"),(0,r.kt)("td",{parentName:"tr",align:null},"~5s")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Programmability"),(0,r.kt)("td",{parentName:"tr",align:null},"BEPs"),(0,r.kt)("td",{parentName:"tr",align:null},"Support EVM-compatible smart contracts")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross Chain"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3")," introduces ",(0,r.kt)("em",{parentName:"td"},"Hash Timer Locked Contract functions")," and further ",(0,r.kt)("a",{parentName:"td",href:"https://community.binance.org/topic/1892"},"mechanism")," to handle inter-blockchain tokens peg."),(0,r.kt)("td",{parentName:"tr",align:null},"BSC comes with efficient ",(0,r.kt)("a",{parentName:"td",href:"/docs/learn/cross-chain"},"native dual chain communication"),"; Optimized for scaling high-performance dApps that require fast and smooth user experience.")))),(0,r.kt)("h2",{id:"get-started"},"Get Started"),(0,r.kt)("p",null,"Want to try it ",(0,r.kt)("strong",{parentName:"p"},"BNB Beacon Chain "),"? Just give a peek at the first few of pages of the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/get-started"},"getting started guide"),".",(0,r.kt)("br",null),"\nYou could also have a read through the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/faq/"},"FAQ"),"."),(0,r.kt)("p",null,"Want to develop on ",(0,r.kt)("strong",{parentName:"p"},"BNB Smart Chain "),"? First, read through the ",(0,r.kt)("a",{parentName:"p",href:"/docs/BSC-FAQs-general"},"FAQ")," and learn about tokens ",(0,r.kt)("a",{parentName:"p",href:"/docs/BEP20"},"here"),"."),(0,r.kt)("h2",{id:"asset-management"},"Asset Management"),(0,r.kt)("h3",{id:"bep2-asset"},"BEP2 Asset"),(0,r.kt)("p",null,"BNB Beacon Chain is essentially a digital asset creation and exchange platform.",(0,r.kt)("br",null),"\nThe features listed below are currently supported on BNB Beacon Chain :"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/tokens"},"The Issuance, Burning, Minting and Freezing of Tokens")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/transfer"},"Transfer of Tokens"))),(0,r.kt)("h3",{id:"bep20-asset"},"BEP20 Asset"),(0,r.kt)("p",null,"A token protocol on BSC which is compatible with BEP2 and ",(0,r.kt)("a",{parentName:"p",href:"https://eips.ethereum.org/EIPS/eip-20"},"ERC20"),". It extends ERC20 and contains more interfaces, such as ",(0,r.kt)("inlineCode",{parentName:"p"},"getOwner")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"decimals"),". Read the full proposal here: ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP20.md"},"https://github.com/bnb-chain/BEPs/blob/master/BEP20.md")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/issue-BEP20"},"Issue BEP20")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/Wallet"},"Wallet"))),(0,r.kt)("h2",{id:"bnb-and-other-coins-mainnet-switch"},"BNB (and Other Coins) MainNet Switch"),(0,r.kt)("p",null,"Build N Build Coin (BNB) was an ERC20 token on the Ethereum network. After the launch of BNB Beacon Chain, Build N Build Coin (BNB) is being converted into native BNB tokens on the main network via the exchange platform at ",(0,r.kt)("a",{parentName:"p",href:"https://www.binance.com"},"binance.com"),", a pragmatic and efficient way to perform the initial token swap."),(0,r.kt)("p",null,"BNB Beacon Chain is ready for other projects to migrate their tokens to take advantage of performant transactions with more liquidity options and native marketplace features.",(0,r.kt)("br",null),"\nMore information about how projects can set themselves up for this (via ",(0,r.kt)("a",{parentName:"p",href:"https://www.binance.com"},"binance.com")," or partners) will come soon."),(0,r.kt)("h2",{id:"bnb-staking"},"BNB Staking"),(0,r.kt)("p",null,"Please read the guide ",(0,r.kt)("a",{parentName:"p",href:"/docs/wallet/staking"},"here")),(0,r.kt)("h2",{id:"trading-on-binance-dex"},"Trading on Binance DEX"),(0,r.kt)("p",null,"Binance DEX is the native marketplace on BNB Beacon Chain , allowing you to exchange digital assets issued and listed on it.",(0,r.kt)("br",null),"\nThe matching happens within the blockchain nodes and all of the transactions are recorded on-chain, therefore forming a complete, auditable ledger of activity."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"ATTENTION"),": The match logic on DEX is quite different from normal centralized exchange.",(0,r.kt)("br",null),"\nPlease go over the trading and match spec below to get the best interests for your orders."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/trading-spec"},"Trading Spec")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/match"},"Match Logic")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/anti-frontrun"},"Anti-front-running"))),(0,r.kt)("h2",{id:"technology-details"},"Technology Details"),(0,r.kt)("p",null,"Continue reading below if you are interested in what is happening under the hood!"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/blockchain"},"BNB Beacon Chain as a Block Chain"),": about consensus, software stack, network layout and roles."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/chain-access"},"Connect to BNB Beacon Chain "),": how to connect to BNB Beacon Chain and DEX via different ways."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/fullnode"},"Run a BNB Beacon Chain full node"),": how to run a full node and become part of the p2p network of BNB Beacon Chain ."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/light-client"},"Run a BNB Beacon Chain light client"),": how to run a light client."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/beaconchain/governance"},"BNB Beacon Chain Governance"),": about proposal, vote, and join as a validator.")),(0,r.kt)("h2",{id:"acknowledgement"},"Acknowledgement"),(0,r.kt)("p",null,"Thanks to the ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/acknowledgement"},"community, our partners and supporters"),"."))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/674b291d.a98a011c.js b/assets/js/674b291d.5b88d5f4.js
similarity index 98%
rename from assets/js/674b291d.a98a011c.js
rename to assets/js/674b291d.5b88d5f4.js
index 34b663152e..f58756387e 100644
--- a/assets/js/674b291d.a98a011c.js
+++ b/assets/js/674b291d.5b88d5f4.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[6212],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>b});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var c=a.createContext({}),u=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},l=function(e){var n=u(e.components);return a.createElement(c.Provider,{value:n},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},f=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=u(t),f=r,b=d["".concat(c,".").concat(f)]||d[f]||p[f]||o;return t?a.createElement(b,i(i({ref:n},l),{},{components:t})):a.createElement(b,i({ref:n},l))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=f;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var u=2;u{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var a=t(83117),r=(t(67294),t(3905));const o={},i="Offline",s={unversionedId:"beaconchain/offline",id:"beaconchain/offline",title:"Offline",description:"bnbcli support generating and signing all types of transactions offline, then broadcast them. This feature will let users generate and sign their transactions at an offline machine, then use another machine to broadcast it to the network",source:"@site/docs/beaconchain/offline.md",sourceDirName:"beaconchain",slug:"/beaconchain/offline",permalink:"/docs/beaconchain/offline",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/offline.md",tags:[],version:"current",frontMatter:{}},c={},u=[{value:"Generate your unsigned transaction",id:"generate-your-unsigned-transaction",level:2},{value:"Sign your transaction",id:"sign-your-transaction",level:2},{value:"Broadcast Your Transaction",id:"broadcast-your-transaction",level:2}],l={toc:u},d="wrapper";function p(e){let{components:n,...t}=e;return(0,r.kt)(d,(0,a.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"offline"},"Offline"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," support generating and signing all types of transactions offline, then broadcast them. This feature will let users generate and sign their transactions at an offline machine, then use another machine to broadcast it to the network"),(0,r.kt)("h2",{id:"generate-your-unsigned-transaction"},"Generate your unsigned transaction"),(0,r.kt)("p",null,"First step is that you need to generate your unsigned transaction and save it in a file."),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: ",(0,r.kt)("inlineCode",{parentName:"p"},"--account-number")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"--node")," is not mandatory in unsigned command")),(0,r.kt)("p",null,"You can generate an unsigned transfer transaction on testnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli send --from --account-number --to --amount 200000000:BNB --chain-id Binance-Chain-Ganges --node=data-seed-pre-2-s1.bnbchain.org:80 --generate-only --offline >> unsigned.json\n")),(0,r.kt)("p",null,"You can generate an unsigned transfer transaction on mainnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./bnbcli send --from --account-number --to --amount 200000000:BNB --chain-id Binance-Chain-Tigris --node https://dataseed5.defibit.io:443 --generate-only --offline >> unsigned.json\n")),(0,r.kt)("p",null,"Then, you can see that the signature of unsigned.json is empty."),(0,r.kt)("h2",{id:"sign-your-transaction"},"Sign your transaction"),(0,r.kt)("p",null,"You can view the unsigned.json to verify that all the info about this transaction is correct. You need to get the account-number and sequence about your address here: ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1accountaddress"},"https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1accountaddress")),(0,r.kt)("p",null,"You can sign an unsigned transfer transaction on testnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name >> signed.json\n")),(0,r.kt)("p",null,"You can sign an unsigned transfer transaction on mainnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./bnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name >> signed.json\n")),(0,r.kt)("p",null,"You need to type in your password in this step"),(0,r.kt)("p",null,"Then, you can see that the signature of signed.json is no longer empty."),(0,r.kt)("h2",{id:"broadcast-your-transaction"},"Broadcast Your Transaction"),(0,r.kt)("p",null,"Please then copy your signed.json to a different server and broadcast this transaction."),(0,r.kt)("p",null,"You can broadcast your transaction on testnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli broadcast signed.json --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"You can broadcast your transaction on mainnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./bnbcli broadcast signed.json --node https://dataseed5.defibit.io:443\n")),(0,r.kt)("p",null,"You can find the list of nodes ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/develop/api-reference/cli#where-to-connect"},"here")),(0,r.kt)("p",null,"If the broadcast is successful, you will see the transaction hash in returned info. Please go and verify it in ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org"},"Explorer"),"."))}p.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[6212],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>b});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var c=a.createContext({}),u=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},l=function(e){var n=u(e.components);return a.createElement(c.Provider,{value:n},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},f=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=u(t),f=r,b=d["".concat(c,".").concat(f)]||d[f]||p[f]||o;return t?a.createElement(b,i(i({ref:n},l),{},{components:t})):a.createElement(b,i({ref:n},l))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=f;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var u=2;u{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var a=t(83117),r=(t(67294),t(3905));const o={},i="Offline",s={unversionedId:"beaconchain/offline",id:"beaconchain/offline",title:"Offline",description:"bnbcli support generating and signing all types of transactions offline, then broadcast them. This feature will let users generate and sign their transactions at an offline machine, then use another machine to broadcast it to the network",source:"@site/docs/beaconchain/offline.md",sourceDirName:"beaconchain",slug:"/beaconchain/offline",permalink:"/docs/beaconchain/offline",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/offline.md",tags:[],version:"current",frontMatter:{}},c={},u=[{value:"Generate your unsigned transaction",id:"generate-your-unsigned-transaction",level:2},{value:"Sign your transaction",id:"sign-your-transaction",level:2},{value:"Broadcast Your Transaction",id:"broadcast-your-transaction",level:2}],l={toc:u},d="wrapper";function p(e){let{components:n,...t}=e;return(0,r.kt)(d,(0,a.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"offline"},"Offline"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"bnbcli")," support generating and signing all types of transactions offline, then broadcast them. This feature will let users generate and sign their transactions at an offline machine, then use another machine to broadcast it to the network"),(0,r.kt)("h2",{id:"generate-your-unsigned-transaction"},"Generate your unsigned transaction"),(0,r.kt)("p",null,"First step is that you need to generate your unsigned transaction and save it in a file."),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: ",(0,r.kt)("inlineCode",{parentName:"p"},"--account-number")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"--node")," is not mandatory in unsigned command")),(0,r.kt)("p",null,"You can generate an unsigned transfer transaction on testnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli send --from --account-number --to --amount 200000000:BNB --chain-id Binance-Chain-Ganges --node=data-seed-pre-2-s1.bnbchain.org:80 --generate-only --offline >> unsigned.json\n")),(0,r.kt)("p",null,"You can generate an unsigned transfer transaction on mainnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./bnbcli send --from --account-number --to --amount 200000000:BNB --chain-id Binance-Chain-Tigris --node https://dataseed5.defibit.io:443 --generate-only --offline >> unsigned.json\n")),(0,r.kt)("p",null,"Then, you can see that the signature of unsigned.json is empty."),(0,r.kt)("h2",{id:"sign-your-transaction"},"Sign your transaction"),(0,r.kt)("p",null,"You can view the unsigned.json to verify that all the info about this transaction is correct. You need to get the account-number and sequence about your address here: ",(0,r.kt)("a",{parentName:"p",href:"https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1accountaddress"},"https://docs.bnbchain.org/docs/beaconchain/develop/api-reference/dex-api/paths#apiv1accountaddress")),(0,r.kt)("p",null,"You can sign an unsigned transfer transaction on testnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Ganges --offline --name >> signed.json\n")),(0,r.kt)("p",null,"You can sign an unsigned transfer transaction on mainnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./bnbcli sign unsigned.json --account-number --sequence --chain-id Binance-Chain-Tigris --offline --name >> signed.json\n")),(0,r.kt)("p",null,"You need to type in your password in this step"),(0,r.kt)("p",null,"Then, you can see that the signature of signed.json is no longer empty."),(0,r.kt)("h2",{id:"broadcast-your-transaction"},"Broadcast Your Transaction"),(0,r.kt)("p",null,"Please then copy your signed.json to a different server and broadcast this transaction."),(0,r.kt)("p",null,"You can broadcast your transaction on testnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli broadcast signed.json --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"You can broadcast your transaction on mainnet:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./bnbcli broadcast signed.json --node https://dataseed5.defibit.io:443\n")),(0,r.kt)("p",null,"You can find the list of nodes ",(0,r.kt)("a",{parentName:"p",href:"/docs/beaconchain/develop/api-reference/cli#where-to-connect"},"here")),(0,r.kt)("p",null,"If the broadcast is successful, you will see the transaction hash in returned info. Please go and verify it in ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org"},"Explorer"),"."))}p.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/675ae01b.c821f21e.js b/assets/js/675ae01b.c821f21e.js
new file mode 100644
index 0000000000..88675a24bb
--- /dev/null
+++ b/assets/js/675ae01b.c821f21e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[6588],{3905:(t,e,n)=>{n.d(e,{Zo:()=>u,kt:()=>k});var a=n(67294);function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function r(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var s=a.createContext({}),c=function(t){var e=a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):r(r({},e),t)),n},u=function(t){var e=c(t.components);return a.createElement(s.Provider,{value:e},t.children)},p="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},h=a.forwardRef((function(t,e){var n=t.components,o=t.mdxType,l=t.originalType,s=t.parentName,u=i(t,["components","mdxType","originalType","parentName"]),p=c(n),h=o,k=p["".concat(s,".").concat(h)]||p[h]||m[h]||l;return n?a.createElement(k,r(r({ref:e},u),{},{components:n})):a.createElement(k,r({ref:e},u))}));function k(t,e){var n=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var l=n.length,r=new Array(l);r[0]=h;var i={};for(var s in e)hasOwnProperty.call(e,s)&&(i[s]=e[s]);i.originalType=t,i[p]="string"==typeof t?t:o,r[1]=i;for(var c=2;c{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var a=n(83117),o=(n(67294),n(3905));const l={sidebar_label:"How to Use",sidebar_position:2,hide_table_of_contents:!1},r="Using Binance Extension Wallet",i={unversionedId:"binance",id:"binance",title:"Using Binance Extension Wallet",description:"What is it?",source:"@site/docs/binance.md",sourceDirName:".",slug:"/binance",permalink:"/docs/binance",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/binance.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"How to Use",sidebar_position:2,hide_table_of_contents:!1},sidebar:"bscSideBar",previous:{title:"Wallet Key Management",permalink:"/docs/create-wallet"},next:{title:"Manually Install Binance Extension Wallet",permalink:"/docs/manual"}},s={},c=[{value:"What is it?",id:"what-is-it",level:2},{value:"Download Link",id:"download-link",level:2},{value:"Install",id:"install",level:2},{value:"Create an account in extension wallet for BNB Smart Chain",id:"create-an-account-in-extension-wallet-for-bnb-smart-chain",level:2},{value:"Recover your account with Mnemonic Phrase",id:"recover-your-account-with-mnemonic-phrase",level:2},{value:"Get Testnet BNB from Faucet",id:"get-testnet-bnb-from-faucet",level:2},{value:"Transfer Testnet BNB from BSC to BC",id:"transfer-testnet-bnb-from-bsc-to-bc",level:2},{value:"Transfer Testnet BNB from BC to BSC",id:"transfer-testnet-bnb-from-bc-to-bsc",level:2},{value:"Swap Testnet BEP2 token to its BEP20 equivalent",id:"swap-testnet-bep2-token-to-its-bep20-equivalent",level:2},{value:"Swap Testnet BEP20 token to its BEP2 equivalent",id:"swap-testnet-bep20-token-to-its-bep2-equivalent",level:2}],u={toc:c},p="wrapper";function m(t){let{components:e,...n}=t;return(0,o.kt)(p,(0,a.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"using-binance-extension-wallet"},"Using Binance Extension Wallet"),(0,o.kt)("h2",{id:"what-is-it"},"What is it?"),(0,o.kt)("p",null,"Binance Extension Wallet is a Crypto Wallet for BNB Beacon Chain and BNB Smart Chain. You can send and receive funds on both BNB Beacon Chain and BNB Smart Chain as well as perform cross-chain transfers between both of BNB Chain\u2019s blockchains."),(0,o.kt)("p",null,'In the future, Binance Extension Wallet will add support for Ethereum blockchain and enable access for distributed applications, or "Dapps" in your browser!'),(0,o.kt)("p",null,"It\u2019s supported in Firefox and Chrome browsers."),(0,o.kt)("p",null,"!!! Tip\nFirefox users are more likely to access the latest version timely"),(0,o.kt)("h2",{id:"download-link"},"Download Link"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp"},"Chrome App Store")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"Firefox App Store Link"))),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"/docs/manual"},"How to manually install the Binance Extension Wallet")),(0,o.kt)("h2",{id:"install"},"Install"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Example: Install BNB Chain Wallet in Firefox browser")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Open Extension in Firefox:")," ",(0,o.kt)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Search for BNB Chain Wallet")))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/ks5BM5SBqrjbDWdbGhsKymWvuLIJina_JZ4lo_j-skzhnFXvF8laumgJpl8nCv7XC_2Z6bwOhrt7v-oHLXv-eHNLlfY_9qSiQWyiyWuDlN8XKfc329MgTiyUpq9D8K562nH_zdkS",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("em",{parentName:"strong"},"Note:"))," ",(0,o.kt)("em",{parentName:"p"},"Make sure it\u2019s offered by BNB Chain")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201c",(0,o.kt)("strong",{parentName:"li"},"Add to Firefox"),"\u201d")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh4.googleusercontent.com/BxNDhV2jxT9B7D8cbS7Fh8XY1TVeh_45Sm18xn_sBCTSUGtQzFI086TBS61QHXquLxmikpSpILOAlpE-azn9EWgdwU0kraW1VrCbjqXK8liCylFw_IBfyW40yOk5aNCX34oRi_sX",alt:"img"})),(0,o.kt)("p",null,"That\u2019s it! You have successfully installed the BNB Chain Wallet extension in Firefox!"),(0,o.kt)("p",null,"The workflow is the same for all browsers"),(0,o.kt)("h2",{id:"create-an-account-in-extension-wallet-for-bnb-smart-chain"},"Create an account in extension wallet for BNB Smart Chain"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201c",(0,o.kt)("strong",{parentName:"li"},"I do not own a wallet"),"\u201d")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/qmWsS5xLoF-qpk_3IBeE21vkt20lM0Ew7Wen_TGdgANw-2WEEvfNEqCibw2sUlt9YMS-m7A5iebwpXP40LlJwkXb8vOv8D8BGQcghn7E4CvHOjib1b4NQjaMRHLHit6hH6YVE9cc",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Choose your own Password")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Note: it has to be a strong password")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh4.googleusercontent.com/sYV31JuMNYBK1OoqNwaxp3wRovbeLfkFtRle0_cfBeJMb1vyL3wKRKnp8420PZZKS0PLQrs89w6RJtUYCa3z1UAzZDSvf1FQT5bTOJaFowuYOHCuCNauQ41v8yk9dKlsuwkOssed",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click on \u201c",(0,o.kt)("strong",{parentName:"p"},"Continue"),"\u201d")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Backup your recovery phrase"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/n2FtIpBGm0rfQC1WHDUbL44LhT6VVizzV4uBhzOkFCblCIXFdOISvy-OzCF5rEeU6q0suuW8Z6noqgYWW5_u8AU7mjat3ayEzU031SLjULoFSh0pdQOO_spRwGfqBEbSl8TIVOfa",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("em",{parentName:"strong"},"Congratulations! you have created your account!"))),(0,o.kt)("h2",{id:"recover-your-account-with-mnemonic-phrase"},"Recover your account with Mnemonic Phrase"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Install BNB Chain extension by following the previous steps"),(0,o.kt)("li",{parentName:"ul"},"firstClick on \u201cI own a wallet\u201d")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/WvqszPDj6yhnt4KhB9VNHQrpR3C4lcIvOnBvZE4BslWsl0fmFbjM0f8dcK1sBFPI8OSt-8RGbk7X7pEdbci7P4RCl0rOoN4_5ce-qbfXj0BnGjSj160oDZ4ObvhljeTn8c4hZmnm",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Type your recovery phrase and choose a strong password")),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/VQbiCEcUSQyyHxcP0rR1FodhZcYBqaXMRpYsFy11NCJFzbtgpdewW6FCoazF1f7KiGaqMnOhL2LoEFvep5HXsJrh7VXjFuu6Qo3s1kI_3feKbOfudQS8q1GjfWSJJygTSsxGmBx5",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201c",(0,o.kt)("strong",{parentName:"li"},"Get started"),"\u201d")),(0,o.kt)("p",null,"Now you are all set!"),(0,o.kt)("h2",{id:"get-testnet-bnb-from-faucet"},"Get Testnet BNB from Faucet"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Go to ",(0,o.kt)("a",{parentName:"li",href:"https://testnet.binance.org/faucet-smart/"},"https://testnet.binance.org/faucet-smart/"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/Q1uDI7LH2lZXvew9selrT5NzL7wKKPtvEnQlPB4mEZW46xb-fphq_Azi9EouvzYKx3IudqwppX6Pai2oFzGlyuJrOvLYlPnZySl2AmHPhpBMeIgEag4sdK_QkycMB826O95tqNQv",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain Testnet after unlock your extension wallet")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/RolgUaF7n1Gxh8FV7_oUqJ4Fgx0cjRob9LPn4jMMS9yGrbZ15ssPo1rsrPpavy8VVooM0Rqr3dDh00Om5C3OvMN-D2s4nhBub6dIJBhtuod6ZCQ0j8fWFGZ0WUOQQXBDOScaap98",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Copy your address")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/4h1Wh2lAYXDOe2j6pxqK97jAmY_RtDr2Uzosc4ZabwcGkRIHC_sbY2wO3MhZu-7mHel5XBIOFeDkjpPVmrJ3z7WNKKFQE73mO4ugIHhQm-AQa6TCV8rgtzoj81HL_Gg7PVFZscIY",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Paste your address in the box and click on \u201cGive me BNB\u201d"),(0,o.kt)("li",{parentName:"ul"},"Click on the \u201c+\u201d and add \u201cBNB\u201d token")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/5NuQ64U7VodRM815S-2EEElre-ox0CMWuKpTHeXfbI5R7kYwUO_nSqoyrcRukrZf5fR5HsZD9E2ZGggMPcvlewNpmFSNelT26gXkuoQdN6W9Xl69ofvCbrsNB38ivKFBZamQAUgN",alt:"img"})),(0,o.kt)("p",null,"After the transfer transaction is sent, you will see an increase in your balance"),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/RTAOcHcPxUIthhOLlHHJ1_wrFnvmZvbZ4DJUvpNR453E4mnWWRjHLBEABMTZZdSQGYMktX5eXJPOIt7iEijMsbmMJBEL29RAShDBD8ZRIDiCnXpfwi741DM7-XiDDyJO4uiLHyNL",alt:"img"})),(0,o.kt)("h2",{id:"transfer-testnet-bnb-from-bsc-to-bc"},"Transfer Testnet BNB from BSC to BC"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Beacon Chain testnet and copy your address after unlock your extension wallet, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"tbnb1"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/K5w_Mbk4rT9Az6eIY130MHaj_ZCicU4Tp3w93z40dtrGdzwFCMZ5qAfwytI5PY_TdztTPrK5WPAf1uHM5ej-1YdEWu7GtVgghRBub1KSf0e63tgi1L-4MkwPBG3pG0SDYHfMpt_J",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click on the \u201c+\u201d and add \u201cBNB\u201d token")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Switch to BNB Smart Chain testnet and click on \u201cSend\u201d"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/nD5EwfFWmqRuHK21u5D5bcVg2MkXHa-OrAX-rhGMKQQmEGxgLLh57-zVdx4WnAYIUbCjAYaStt0PYt-gthrHK_hsWW0jAh34xOT2maf1skY3Dvy0-vAlaAjred96UihBabkglDMZ",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201cSend\u201d when you have filled in other information. You have to confirm it too")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/zPPVgR5I9s6cQPYfDbBU9E5Ddr5VtBhWt7iyHHE7IUEvaa5sTIMEA79VEGD-DHJJyrnJO-28m3QiVxrmSh82oCFnfjA63lpk-M1mQsdQ3aeTUskla0u8bpDNI3J0oLOFYa5Ahbr4",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch back to BNB Chain Testnet to confirm this cross-chain transfer")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/4PMk41qA7tXxRes-0Oc12A28U_W7JZHQAlJ9WW5njdGcozY8njSVEuPeZzTRt1xfRpiXPUZiea6ES74DQyjnyZNzjPw9NJhL_QNXvSMPich2o54MlbXVgoMJHaMx66xVpqm-2XAu",alt:"img"})),(0,o.kt)("h2",{id:"transfer-testnet-bnb-from-bc-to-bsc"},"Transfer Testnet BNB from BC to BSC"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet after unlock your extension wallet and copy your address, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"0x"))),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/kidAixmzNbNt_ujj0BQqZdZ4ZBXdEkxJLSVIOsWnWxZGOeXUJBjhxYsLlxH6VSQWxNX-dzqBFhqXSW3zmshkL99QYcVxIFGxw6tF7xF9ffXZPMPKnXlt0sWCKvPV6RMJWHSx1H0O",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click on the \u201c+\u201d and add \u201cBNB\u201d token")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Switch to BNB Chain testnet and click on \u201cSend\u201d"))),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/JuCCpF4-U2FBHIZEIcwf7DNsCBA_RavVtmSX1dRe-thAL3FSm__Maf27aVkEIxaCQ28hl17NEYthBKyAWLJT72NMZ0Lkxzt7AIcVEuej2KDaKzT6ElR-wv_DTy1ip6MKfQk0-U7-",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201cSend\u201d when you have filled in other information. You have to confirm it too")),(0,o.kt)("img",{src:"https://lh4.googleusercontent.com/Ab98BfFApDok7qZdHAerglPc-vEYAKdEa2K-04CBdNfaQy8fE2CiJ_1sRjophAqsAt8p9c3CxA5IAGuhnPjJuZqotCq8zPRUkoEpB2tQir1nneBopVGNSNKlzq4wRVmSrfuQEZFw",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch back to BNB Smart Chain Testnet to confirm this cross-chain transfer")),(0,o.kt)("h2",{id:"swap-testnet-bep2-token-to-its-bep20-equivalent"},"Swap Testnet BEP2 token to its BEP20 equivalent"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to Install Binance Extension Wallet if not ready"),(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to create or Recover your account"),(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Chain testnet after unlock your extension wallet and Click at \u201c+\u201d to add your BEP2 token if necessary")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/P9NrmUZF4yC0_G_KgSuqCtLq3Q0GLw6ZBfyYwBn6f6HFqTxOcER2wChJJtZvAkF8QsEJz9AxN6Ixi2oqlJEHKsig-KTz3qUIAi8Kt7TfhyPalMMzO7Yh3btfyVLMm9MNCcA1bXYL",style:{zoom:"50%"}}),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Verify your balance has enough BNB to pay transfer fee")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet and copy your address, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"0x"))),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/kidAixmzNbNt_ujj0BQqZdZ4ZBXdEkxJLSVIOsWnWxZGOeXUJBjhxYsLlxH6VSQWxNX-dzqBFhqXSW3zmshkL99QYcVxIFGxw6tF7xF9ffXZPMPKnXlt0sWCKvPV6RMJWHSx1H0O",style:{zoom:"50%"}}),(0,o.kt)("p",null,"Click at \u201c+\u201d to add your BEP20 token if necessary"),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/fW06aH1A5_7P93r8zSp4kgs5Us1AqYHvnfs6sRxg6aCLsQ7u9Ht_z6zLSExGjbr6J-D0vOmDWXghw544WhaNnkTP-nDAO3TFou5g_WYVvp7nOSrNX7w15PmvmZLyHkhBzLW_i-xi",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Chain testnet and click on \u201cSend\u201d")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/OHYhS0DdJsg6Jt_E-qRrPOxgDi_VMwXlRYVD8OVTrr1w5kwubse2boOfffWpl8PjP15j_h0atYB4O1GEQqNGCFzoKcoRSgmdMgAYQPazoe_I7X6gilZazMqqIGntSz9rz6j47DGk",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201cSend\u201d when you have filled in other information. You have to confirm it too")),(0,o.kt)("img",{src:"https://lh6.googleusercontent.com/gcaynPouCk8R0cRFo10i6tXUp8yVO3N1MB9ihJvo-NmO0i8PWae1Vz83O5i8cAIbuoZ1PIO_8de6PrxtUA3mix3FdxWZePH4KZt4_-Uwr64CZWyJog5d1iYcNgwHp_RumNOGc7B4",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet, you should see your BEP20 token balance change")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/ThOnhoHRzITPpIqfYOj6_Q0NHGSmVXMqmJ11SPjcvVqEzHZ6vcWpxyb9jILtnJ9GxAFDz527jCapq64-8N8l_aqMU1phv2MoAmTIKb1Nse7NjzhFRhdiyObk1mZBb7YQbq7ZkqTV",style:{zoom:"50%"}}),(0,o.kt)("h2",{id:"swap-testnet-bep20-token-to-its-bep2-equivalent"},"Swap Testnet BEP20 token to its BEP2 equivalent"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to Install Binance Extension Wallet if not ready"),(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to create or Recover your account"),(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet and Click at \u201c+\u201d to add your BEP20 token if necessary")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/fW06aH1A5_7P93r8zSp4kgs5Us1AqYHvnfs6sRxg6aCLsQ7u9Ht_z6zLSExGjbr6J-D0vOmDWXghw544WhaNnkTP-nDAO3TFou5g_WYVvp7nOSrNX7w15PmvmZLyHkhBzLW_i-xi",style:{zoom:"50%"}}),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Verify your balance has enough BNB to pay transfer fee")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Chain testnet and copy your address, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"tbnb1"))),(0,o.kt)("p",null,"Note: for mainnet, the address starts with ",(0,o.kt)("inlineCode",{parentName:"p"},"bnb1")),(0,o.kt)("img",{src:"https://lh4.googleusercontent.com/kJnKr2dRtAvvMjjQIaMMq3JN9-ljqXjTaLq00u66UgisISIayIUsv1N01GjCbk9Z07WQUruToHX6pCb_dnYGDeP2NKTLbScnFFC317voNd6RTV-MDHAfMHorm8VCMyPKIK8YAEwS",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click at \u201c+\u201d to add your BEP2 token if necessary")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/P9NrmUZF4yC0_G_KgSuqCtLq3Q0GLw6ZBfyYwBn6f6HFqTxOcER2wChJJtZvAkF8QsEJz9AxN6Ixi2oqlJEHKsig-KTz3qUIAi8Kt7TfhyPalMMzO7Yh3btfyVLMm9MNCcA1bXYL",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet and click on \u201cSend\u201d")),(0,o.kt)("img",{src:"https://lh6.googleusercontent.com/m-lXjzWHuiVteM0n0ukSmMCxHm7XSQtO8wJ0LMXMUYL6spDObSmgbN7zoBVuc0hrhBL2mQ1C3GhBvzHpnHYoP_mbOcKSYtZZojQ46R5-2QA_ULXMPlmHyqXcg1Ht_M8Ix0xdUxJb",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Confirm your transaction and verify your balance change")))}m.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/675ae01b.eecc4183.js b/assets/js/675ae01b.eecc4183.js
deleted file mode 100644
index a13f41bb89..0000000000
--- a/assets/js/675ae01b.eecc4183.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[6588],{3905:(t,e,n)=>{n.d(e,{Zo:()=>u,kt:()=>k});var a=n(67294);function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function r(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var s=a.createContext({}),c=function(t){var e=a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):r(r({},e),t)),n},u=function(t){var e=c(t.components);return a.createElement(s.Provider,{value:e},t.children)},p="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},h=a.forwardRef((function(t,e){var n=t.components,o=t.mdxType,l=t.originalType,s=t.parentName,u=i(t,["components","mdxType","originalType","parentName"]),p=c(n),h=o,k=p["".concat(s,".").concat(h)]||p[h]||m[h]||l;return n?a.createElement(k,r(r({ref:e},u),{},{components:n})):a.createElement(k,r({ref:e},u))}));function k(t,e){var n=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var l=n.length,r=new Array(l);r[0]=h;var i={};for(var s in e)hasOwnProperty.call(e,s)&&(i[s]=e[s]);i.originalType=t,i[p]="string"==typeof t?t:o,r[1]=i;for(var c=2;c{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var a=n(83117),o=(n(67294),n(3905));const l={sidebar_label:"How to Use",sidebar_position:2,hide_table_of_contents:!1},r="Using Binance Extension Wallet",i={unversionedId:"binance",id:"binance",title:"Using Binance Extension Wallet",description:"What is it?",source:"@site/docs/binance.md",sourceDirName:".",slug:"/binance",permalink:"/docs/binance",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/binance.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"How to Use",sidebar_position:2,hide_table_of_contents:!1},sidebar:"bscSideBar",previous:{title:"Wallet Key Management",permalink:"/docs/create-wallet"},next:{title:"Manually Install Binance Extension Wallet",permalink:"/docs/manual"}},s={},c=[{value:"What is it?",id:"what-is-it",level:2},{value:"Download Link",id:"download-link",level:2},{value:"Install",id:"install",level:2},{value:"Create an account in extension wallet for BNB Smart Chain",id:"create-an-account-in-extension-wallet-for-bnb-smart-chain",level:2},{value:"Recover your account with Mnemonic Phrase",id:"recover-your-account-with-mnemonic-phrase",level:2},{value:"Get Testnet BNB from Faucet",id:"get-testnet-bnb-from-faucet",level:2},{value:"Transfer Testnet BNB from BSC to BC",id:"transfer-testnet-bnb-from-bsc-to-bc",level:2},{value:"Transfer Testnet BNB from BC to BSC",id:"transfer-testnet-bnb-from-bc-to-bsc",level:2},{value:"Swap Testnet BEP2 token to its BEP20 equivalent",id:"swap-testnet-bep2-token-to-its-bep20-equivalent",level:2},{value:"Swap Testnet BEP20 token to its BEP2 equivalent",id:"swap-testnet-bep20-token-to-its-bep2-equivalent",level:2}],u={toc:c},p="wrapper";function m(t){let{components:e,...n}=t;return(0,o.kt)(p,(0,a.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"using-binance-extension-wallet"},"Using Binance Extension Wallet"),(0,o.kt)("h2",{id:"what-is-it"},"What is it?"),(0,o.kt)("p",null,"Binance Extension Wallet is a Crypto Wallet for BNB Beacon Chain and BNB Smart Chain. You can send and receive funds on both BNB Beacon Chain and BNB Smart Chain as well as perform cross-chain transfers between both of BNB Chain\u2019s blockchains."),(0,o.kt)("p",null,'In the future, Binance Extension Wallet will add support for Ethereum blockchain and enable access for distributed applications, or "Dapps" in your browser!'),(0,o.kt)("p",null,"It\u2019s supported in Firefox and Chrome browsers."),(0,o.kt)("p",null,"!!! Tip\nFirefox users are more likely to access the latest version timely"),(0,o.kt)("h2",{id:"download-link"},"Download Link"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://chrome.google.com/webstore/detail/binance-chain-wallet/fhbohimaelbohpjbbldcngcnapndodjp"},"Chrome App Store")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"Firefox App Store Link"))),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"/docs/manual"},"How to manually install the Binance Extension Wallet")),(0,o.kt)("h2",{id:"install"},"Install"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Example: Install BNB Chain Wallet in Firefox browser")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Open Extension in Firefox:")," ",(0,o.kt)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"},"https://addons.mozilla.org/en-US/firefox/addon/binance-chain/?src=search"))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Search for Binance Chain Wallet")))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/ks5BM5SBqrjbDWdbGhsKymWvuLIJina_JZ4lo_j-skzhnFXvF8laumgJpl8nCv7XC_2Z6bwOhrt7v-oHLXv-eHNLlfY_9qSiQWyiyWuDlN8XKfc329MgTiyUpq9D8K562nH_zdkS",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("em",{parentName:"strong"},"Note:"))," ",(0,o.kt)("em",{parentName:"p"},"Make sure it\u2019s offered by Binance Chain")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201c",(0,o.kt)("strong",{parentName:"li"},"Add to Firefox"),"\u201d")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh4.googleusercontent.com/BxNDhV2jxT9B7D8cbS7Fh8XY1TVeh_45Sm18xn_sBCTSUGtQzFI086TBS61QHXquLxmikpSpILOAlpE-azn9EWgdwU0kraW1VrCbjqXK8liCylFw_IBfyW40yOk5aNCX34oRi_sX",alt:"img"})),(0,o.kt)("p",null,"That\u2019s it! You have successfully installed the BNB Chain Wallet extension in Firefox!"),(0,o.kt)("p",null,"The workflow is the same for all browsers"),(0,o.kt)("h2",{id:"create-an-account-in-extension-wallet-for-bnb-smart-chain"},"Create an account in extension wallet for BNB Smart Chain"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201c",(0,o.kt)("strong",{parentName:"li"},"I do not own a wallet"),"\u201d")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/qmWsS5xLoF-qpk_3IBeE21vkt20lM0Ew7Wen_TGdgANw-2WEEvfNEqCibw2sUlt9YMS-m7A5iebwpXP40LlJwkXb8vOv8D8BGQcghn7E4CvHOjib1b4NQjaMRHLHit6hH6YVE9cc",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Choose your own Password")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Note: it has to be a strong password")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh4.googleusercontent.com/sYV31JuMNYBK1OoqNwaxp3wRovbeLfkFtRle0_cfBeJMb1vyL3wKRKnp8420PZZKS0PLQrs89w6RJtUYCa3z1UAzZDSvf1FQT5bTOJaFowuYOHCuCNauQ41v8yk9dKlsuwkOssed",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click on \u201c",(0,o.kt)("strong",{parentName:"p"},"Continue"),"\u201d")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Backup your recovery phrase"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/n2FtIpBGm0rfQC1WHDUbL44LhT6VVizzV4uBhzOkFCblCIXFdOISvy-OzCF5rEeU6q0suuW8Z6noqgYWW5_u8AU7mjat3ayEzU031SLjULoFSh0pdQOO_spRwGfqBEbSl8TIVOfa",alt:"img"})),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("em",{parentName:"strong"},"Congratulations! you have created your account!"))),(0,o.kt)("h2",{id:"recover-your-account-with-mnemonic-phrase"},"Recover your account with Mnemonic Phrase"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Install BNB Chain extension by following the previous steps"),(0,o.kt)("li",{parentName:"ul"},"firstClick on \u201cI own a wallet\u201d")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/WvqszPDj6yhnt4KhB9VNHQrpR3C4lcIvOnBvZE4BslWsl0fmFbjM0f8dcK1sBFPI8OSt-8RGbk7X7pEdbci7P4RCl0rOoN4_5ce-qbfXj0BnGjSj160oDZ4ObvhljeTn8c4hZmnm",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Type your recovery phrase and choose a strong password")),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/VQbiCEcUSQyyHxcP0rR1FodhZcYBqaXMRpYsFy11NCJFzbtgpdewW6FCoazF1f7KiGaqMnOhL2LoEFvep5HXsJrh7VXjFuu6Qo3s1kI_3feKbOfudQS8q1GjfWSJJygTSsxGmBx5",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201c",(0,o.kt)("strong",{parentName:"li"},"Get started"),"\u201d")),(0,o.kt)("p",null,"Now you are all set!"),(0,o.kt)("h2",{id:"get-testnet-bnb-from-faucet"},"Get Testnet BNB from Faucet"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Go to ",(0,o.kt)("a",{parentName:"li",href:"https://testnet.binance.org/faucet-smart/"},"https://testnet.binance.org/faucet-smart/"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/Q1uDI7LH2lZXvew9selrT5NzL7wKKPtvEnQlPB4mEZW46xb-fphq_Azi9EouvzYKx3IudqwppX6Pai2oFzGlyuJrOvLYlPnZySl2AmHPhpBMeIgEag4sdK_QkycMB826O95tqNQv",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain Testnet after unlock your extension wallet")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/RolgUaF7n1Gxh8FV7_oUqJ4Fgx0cjRob9LPn4jMMS9yGrbZ15ssPo1rsrPpavy8VVooM0Rqr3dDh00Om5C3OvMN-D2s4nhBub6dIJBhtuod6ZCQ0j8fWFGZ0WUOQQXBDOScaap98",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Copy your address")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/4h1Wh2lAYXDOe2j6pxqK97jAmY_RtDr2Uzosc4ZabwcGkRIHC_sbY2wO3MhZu-7mHel5XBIOFeDkjpPVmrJ3z7WNKKFQE73mO4ugIHhQm-AQa6TCV8rgtzoj81HL_Gg7PVFZscIY",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Paste your address in the box and click on \u201cGive me BNB\u201d"),(0,o.kt)("li",{parentName:"ul"},"Click on the \u201c+\u201d and add \u201cBNB\u201d token")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/5NuQ64U7VodRM815S-2EEElre-ox0CMWuKpTHeXfbI5R7kYwUO_nSqoyrcRukrZf5fR5HsZD9E2ZGggMPcvlewNpmFSNelT26gXkuoQdN6W9Xl69ofvCbrsNB38ivKFBZamQAUgN",alt:"img"})),(0,o.kt)("p",null,"After the transfer transaction is sent, you will see an increase in your balance"),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/RTAOcHcPxUIthhOLlHHJ1_wrFnvmZvbZ4DJUvpNR453E4mnWWRjHLBEABMTZZdSQGYMktX5eXJPOIt7iEijMsbmMJBEL29RAShDBD8ZRIDiCnXpfwi741DM7-XiDDyJO4uiLHyNL",alt:"img"})),(0,o.kt)("h2",{id:"transfer-testnet-bnb-from-bsc-to-bc"},"Transfer Testnet BNB from BSC to BC"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Beacon Chain testnet and copy your address after unlock your extension wallet, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"tbnb1"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/K5w_Mbk4rT9Az6eIY130MHaj_ZCicU4Tp3w93z40dtrGdzwFCMZ5qAfwytI5PY_TdztTPrK5WPAf1uHM5ej-1YdEWu7GtVgghRBub1KSf0e63tgi1L-4MkwPBG3pG0SDYHfMpt_J",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click on the \u201c+\u201d and add \u201cBNB\u201d token")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Switch to BNB Smart Chain testnet and click on \u201cSend\u201d"))),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/nD5EwfFWmqRuHK21u5D5bcVg2MkXHa-OrAX-rhGMKQQmEGxgLLh57-zVdx4WnAYIUbCjAYaStt0PYt-gthrHK_hsWW0jAh34xOT2maf1skY3Dvy0-vAlaAjred96UihBabkglDMZ",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201cSend\u201d when you have filled in other information. You have to confirm it too")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh5.googleusercontent.com/zPPVgR5I9s6cQPYfDbBU9E5Ddr5VtBhWt7iyHHE7IUEvaa5sTIMEA79VEGD-DHJJyrnJO-28m3QiVxrmSh82oCFnfjA63lpk-M1mQsdQ3aeTUskla0u8bpDNI3J0oLOFYa5Ahbr4",alt:"img"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch back to BNB Chain Testnet to confirm this cross-chain transfer")),(0,o.kt)("p",null,(0,o.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/4PMk41qA7tXxRes-0Oc12A28U_W7JZHQAlJ9WW5njdGcozY8njSVEuPeZzTRt1xfRpiXPUZiea6ES74DQyjnyZNzjPw9NJhL_QNXvSMPich2o54MlbXVgoMJHaMx66xVpqm-2XAu",alt:"img"})),(0,o.kt)("h2",{id:"transfer-testnet-bnb-from-bc-to-bsc"},"Transfer Testnet BNB from BC to BSC"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet after unlock your extension wallet and copy your address, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"0x"))),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/kidAixmzNbNt_ujj0BQqZdZ4ZBXdEkxJLSVIOsWnWxZGOeXUJBjhxYsLlxH6VSQWxNX-dzqBFhqXSW3zmshkL99QYcVxIFGxw6tF7xF9ffXZPMPKnXlt0sWCKvPV6RMJWHSx1H0O",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Click on the \u201c+\u201d and add \u201cBNB\u201d token")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Switch to BNB Chain testnet and click on \u201cSend\u201d"))),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/JuCCpF4-U2FBHIZEIcwf7DNsCBA_RavVtmSX1dRe-thAL3FSm__Maf27aVkEIxaCQ28hl17NEYthBKyAWLJT72NMZ0Lkxzt7AIcVEuej2KDaKzT6ElR-wv_DTy1ip6MKfQk0-U7-",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201cSend\u201d when you have filled in other information. You have to confirm it too")),(0,o.kt)("img",{src:"https://lh4.googleusercontent.com/Ab98BfFApDok7qZdHAerglPc-vEYAKdEa2K-04CBdNfaQy8fE2CiJ_1sRjophAqsAt8p9c3CxA5IAGuhnPjJuZqotCq8zPRUkoEpB2tQir1nneBopVGNSNKlzq4wRVmSrfuQEZFw",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch back to BNB Smart Chain Testnet to confirm this cross-chain transfer")),(0,o.kt)("h2",{id:"swap-testnet-bep2-token-to-its-bep20-equivalent"},"Swap Testnet BEP2 token to its BEP20 equivalent"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to Install Binance Extension Wallet if not ready"),(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to create or Recover your account"),(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Chain testnet after unlock your extension wallet and Click at \u201c+\u201d to add your BEP2 token if necessary")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/P9NrmUZF4yC0_G_KgSuqCtLq3Q0GLw6ZBfyYwBn6f6HFqTxOcER2wChJJtZvAkF8QsEJz9AxN6Ixi2oqlJEHKsig-KTz3qUIAi8Kt7TfhyPalMMzO7Yh3btfyVLMm9MNCcA1bXYL",style:{zoom:"50%"}}),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Verify your balance has enough BNB to pay transfer fee")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet and copy your address, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"0x"))),(0,o.kt)("img",{src:"https://lh3.googleusercontent.com/kidAixmzNbNt_ujj0BQqZdZ4ZBXdEkxJLSVIOsWnWxZGOeXUJBjhxYsLlxH6VSQWxNX-dzqBFhqXSW3zmshkL99QYcVxIFGxw6tF7xF9ffXZPMPKnXlt0sWCKvPV6RMJWHSx1H0O",style:{zoom:"50%"}}),(0,o.kt)("p",null,"Click at \u201c+\u201d to add your BEP20 token if necessary"),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/fW06aH1A5_7P93r8zSp4kgs5Us1AqYHvnfs6sRxg6aCLsQ7u9Ht_z6zLSExGjbr6J-D0vOmDWXghw544WhaNnkTP-nDAO3TFou5g_WYVvp7nOSrNX7w15PmvmZLyHkhBzLW_i-xi",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Chain testnet and click on \u201cSend\u201d")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/OHYhS0DdJsg6Jt_E-qRrPOxgDi_VMwXlRYVD8OVTrr1w5kwubse2boOfffWpl8PjP15j_h0atYB4O1GEQqNGCFzoKcoRSgmdMgAYQPazoe_I7X6gilZazMqqIGntSz9rz6j47DGk",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click on \u201cSend\u201d when you have filled in other information. You have to confirm it too")),(0,o.kt)("img",{src:"https://lh6.googleusercontent.com/gcaynPouCk8R0cRFo10i6tXUp8yVO3N1MB9ihJvo-NmO0i8PWae1Vz83O5i8cAIbuoZ1PIO_8de6PrxtUA3mix3FdxWZePH4KZt4_-Uwr64CZWyJog5d1iYcNgwHp_RumNOGc7B4",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet, you should see your BEP20 token balance change")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/ThOnhoHRzITPpIqfYOj6_Q0NHGSmVXMqmJ11SPjcvVqEzHZ6vcWpxyb9jILtnJ9GxAFDz527jCapq64-8N8l_aqMU1phv2MoAmTIKb1Nse7NjzhFRhdiyObk1mZBb7YQbq7ZkqTV",style:{zoom:"50%"}}),(0,o.kt)("h2",{id:"swap-testnet-bep20-token-to-its-bep2-equivalent"},"Swap Testnet BEP20 token to its BEP2 equivalent"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to Install Binance Extension Wallet if not ready"),(0,o.kt)("li",{parentName:"ul"},"Follow the instructions above to create or Recover your account"),(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet and Click at \u201c+\u201d to add your BEP20 token if necessary")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/fW06aH1A5_7P93r8zSp4kgs5Us1AqYHvnfs6sRxg6aCLsQ7u9Ht_z6zLSExGjbr6J-D0vOmDWXghw544WhaNnkTP-nDAO3TFou5g_WYVvp7nOSrNX7w15PmvmZLyHkhBzLW_i-xi",style:{zoom:"50%"}}),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Verify your balance has enough BNB to pay transfer fee")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Chain testnet and copy your address, start with ",(0,o.kt)("inlineCode",{parentName:"li"},"tbnb1"))),(0,o.kt)("p",null,"Note: for mainnet, the address starts with ",(0,o.kt)("inlineCode",{parentName:"p"},"bnb1")),(0,o.kt)("img",{src:"https://lh4.googleusercontent.com/kJnKr2dRtAvvMjjQIaMMq3JN9-ljqXjTaLq00u66UgisISIayIUsv1N01GjCbk9Z07WQUruToHX6pCb_dnYGDeP2NKTLbScnFFC317voNd6RTV-MDHAfMHorm8VCMyPKIK8YAEwS",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Click at \u201c+\u201d to add your BEP2 token if necessary")),(0,o.kt)("img",{src:"https://lh5.googleusercontent.com/P9NrmUZF4yC0_G_KgSuqCtLq3Q0GLw6ZBfyYwBn6f6HFqTxOcER2wChJJtZvAkF8QsEJz9AxN6Ixi2oqlJEHKsig-KTz3qUIAi8Kt7TfhyPalMMzO7Yh3btfyVLMm9MNCcA1bXYL",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Switch to BNB Smart Chain testnet and click on \u201cSend\u201d")),(0,o.kt)("img",{src:"https://lh6.googleusercontent.com/m-lXjzWHuiVteM0n0ukSmMCxHm7XSQtO8wJ0LMXMUYL6spDObSmgbN7zoBVuc0hrhBL2mQ1C3GhBvzHpnHYoP_mbOcKSYtZZojQ46R5-2QA_ULXMPlmHyqXcg1Ht_M8Ix0xdUxJb",style:{zoom:"50%"}}),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Confirm your transaction and verify your balance change")))}m.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/6cf6a508.a728b648.js b/assets/js/6cf6a508.b97c02aa.js
similarity index 50%
rename from assets/js/6cf6a508.a728b648.js
rename to assets/js/6cf6a508.b97c02aa.js
index ab8bdf699e..e61272bf59 100644
--- a/assets/js/6cf6a508.a728b648.js
+++ b/assets/js/6cf6a508.b97c02aa.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[7560],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>b});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),o=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=o(a),c=r,b=u["".concat(p,".").concat(c)]||u[c]||m[c]||s;return a?n.createElement(b,l(l({ref:t},d),{},{components:a})):n.createElement(b,l({ref:t},d))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,l=new Array(s);l[0]=c;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[u]="string"==typeof e?e:r,l[1]=i;for(var o=2;o{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var n=a(83117),r=(a(67294),a(3905));const s={},l="Cross-chain Atomic Swaps",i={unversionedId:"beaconchain/learn/atomic-swaps",id:"beaconchain/learn/atomic-swaps",title:"Cross-chain Atomic Swaps",description:"Atomic Swap",source:"@site/docs/beaconchain/learn/atomic-swaps.md",sourceDirName:"beaconchain/learn",slug:"/beaconchain/learn/atomic-swaps",permalink:"/docs/beaconchain/learn/atomic-swaps",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/learn/atomic-swaps.md",tags:[],version:"current",frontMatter:{}},p={},o=[{value:"Atomic Swap",id:"atomic-swap",level:2},{value:"Hash Timer Locked Contract",id:"hash-timer-locked-contract",level:2},{value:"HTLC on BNB Beacon Chain",id:"htlc-on-bnb-beacon-chain",level:2},{value:"Hash Timer Locked Transfer",id:"hash-timer-locked-transfer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Outputs",id:"outputs",level:4},{value:"Examples",id:"examples",level:4},{value:"Deposit HTLT",id:"deposit-htlt",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Examples",id:"examples-1",level:4},{value:"Claim HTLT",id:"claim-htlt",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Examples",id:"examples-2",level:4},{value:"Refund HTLT",id:"refund-htlt",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Examples",id:"examples-3",level:4},{value:"Query Atomic Swap",id:"query-atomic-swap",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Examples",id:"examples-4",level:4},{value:"Query Atomic Swap ID By Recipient",id:"query-atomic-swap-id-by-recipient",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Examples",id:"examples-5",level:4},{value:"Query Atomic Swap ID By Creator",id:"query-atomic-swap-id-by-creator",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Examples",id:"examples-6",level:4},{value:"Fees",id:"fees",level:2},{value:"Workflows",id:"workflows",level:2},{value:"Preparations",id:"preparations",level:3},{value:"Testnet Deployment",id:"testnet-deployment",level:3},{value:"Swap Tokens from Ethereum to BNB Beacon Chain",id:"swap-tokens-from-ethereum-to-bnb-beacon-chain",level:3},{value:"1. Approve Swap Transaction",id:"1--approve-swap-transaction",level:4},{value:"2. Call HTLT function From Ethereum",id:"2-call-htlt-function-from-ethereum",level:4},{value:"3. Deputy Call HTLT on BNB Beacon Chain",id:"3-deputy-call-htlt-on-bnb-beacon-chain",level:4},{value:"4. Claim HTLT on BNB Beacon Chain",id:"4-claim-htlt-on-bnb-beacon-chain",level:4},{value:"5. Deputy Claim ERC20 Token",id:"5-deputy-claim-erc20-token",level:4},{value:"6. Demo for Client APP: swap erc20 to bep2",id:"6-demo-for-client-app-swap-erc20-to-bep2",level:4},{value:"Swap Tokens from BNB Beacon Chain to Ethereum",id:"swap-tokens-from-bnb-beacon-chain--to-ethereum",level:3},{value:"1. Send HTLT Transaction from BNB Beacon Chain",id:"1-send-htlt-transaction-from-bnb-beacon-chain",level:4},{value:"2. Deputy Approve Tokens",id:"2--deputy-approve-tokens",level:4},{value:"3. Deputy Send HTLT on Ethereum",id:"3-deputy-send-htlt-on-ethereum",level:4},{value:"4. Claim ERC20 Tokens on Ethereum",id:"4-claim-erc20-tokens-on-ethereum",level:4},{value:"5. Deputy Claim on BNB Beacon Chain",id:"5-deputy-claim-on-bnb-beacon-chain",level:4},{value:"6. Demo for Client APP: swap bep2 to erc20",id:"6-demo-for-client-app-swap-bep2-to-erc20",level:4},{value:"Swap between Several BEP2 tokens",id:"swap-between-several-bep2-tokens",level:3},{value:"Swap between Several BEP2 tokens fails",id:"swap-between-several-bep2-tokens-fails",level:3}],d={toc:o},u="wrapper";function m(e){let{components:t,...s}=e;return(0,r.kt)(u,(0,n.Z)({},d,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"cross-chain-atomic-swaps"},"Cross-chain Atomic Swaps"),(0,r.kt)("h2",{id:"atomic-swap"},"Atomic Swap"),(0,r.kt)("p",null,"The problem of an atomic swap is one where (at least) two parties, Alice and Bob, own coins, and want to exchange them without having to trust a third party (centralized exchange)."),(0,r.kt)("p",null,"A non-atomic trivial solution would have Alice send her coins to Bob, and then have Bob send other coins to Alice - but Bob has the option of going back on his end of the bargain and simply not following through with the protocol, ending up with both sets of coins."),(0,r.kt)("p",null,"Atomic swaps can be used for trading between BEP2 tokens, or for trading across different blockchains."),(0,r.kt)("h2",{id:"hash-timer-locked-contract"},"Hash Timer Locked Contract"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts"},"HTLC")," has been used for Atomic Swap and cross payment channel for a few years on Bitcoin and its variant blockchains, and also Ethereum. This BEP defines native transactions to support HTLC on BNB Beacon Chain , and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token, which is called ",(0,r.kt)("inlineCode",{parentName:"p"},"Atomic Peg"),"."),(0,r.kt)("h2",{id:"htlc-on-bnb-beacon-chain"},"HTLC on BNB Beacon Chain"),(0,r.kt)("p",null,"As explained in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3"),", Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on BNB Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token.\nDuring the swap process, the related fund will be locked to a purely-code-controlled escrow account.\nA purely-code-controlled escrow account is a kind of account which is derived from a hard-coded string in BNB Beacon Chain protocol. This kind of account has no its own private key and it's only controled by code in protocol. The code for calculating escrow account is the same as how it's done in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/cosmos/cosmos-sdk/blob/82a2c5d6d86ffd761f0162b93f0aaa57b7f66fe7/x/supply/internal/types/account.go#L40"},"cosmos-sdk"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'AtomicSwapCoinsAccAddr = sdk.AccAddress(crypto.AddressHash([]byte("BinanceChainAtomicSwapCoins")))\n')),(0,r.kt)("p",null,"The account for mainnet is: ",(0,r.kt)("strong",{parentName:"p"},"bnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4f8ge93u")," and the account for testnet is: ",(0,r.kt)("strong",{parentName:"p"},"tbnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4ffasp3d"),". Once the swap is claimed or refunded, the fund will be transferred from the purely-code-controlled escrow account to client accounts."),(0,r.kt)("h3",{id:"hash-timer-locked-transfer"},"Hash Timer Locked Transfer"),(0,r.kt)("p",null,"Hash Timer Locked Transfer (HTLT) is a new transaction type on BNB Beacon Chain , to serve as HTLC in the first step of Atomic Swap,"),(0,r.kt)("h4",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the asset is from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Receiver address, where the asset is to, if the proper condition meets."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of a random number and timestamp, based on SHA256. If left out, a random value will be generated"),(0,r.kt)("td",{parentName:"tr",align:null},"True")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"Supposed to be the time of sending transaction, counted by second. It should be identical to the one in swap contract. If left out, current timestamp will be used."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OutAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},"similar to the Coins in the original Transfer defined in BEP2, assets to swap out"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ExpectedIncome"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},'Expected income from swap counter party, example: "100:BNB" or "100:BNB,10000:BTCB-1DE" The amount needs to be bumped by e^8'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HeightSpan"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"number of blocks to wait before the asset may be returned to From if not claimed via Random. The number must be larger than or equal to 360 (>2 minutes), and smaller than 518400 (< 48 hours)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"CrossChain"),(0,r.kt)("td",{parentName:"tr",align:null},"bool"),(0,r.kt)("td",{parentName:"tr",align:null},"Specify if the HTLT is for cross chain atomic swap"),(0,r.kt)("td",{parentName:"tr",align:null},"True, the default value is False")))),(0,r.kt)("h4",{id:"outputs"},"Outputs"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number hash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Swap ID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"examples"},"Examples"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Swap between BEP2 tokens")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --recipient-addr --amount 100:BNB --expected-income --height-span --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }]\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400// height span\n const res = client.swap.HTLT(from, recipient, "", "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, false)\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example output:")),(0,r.kt)("p",null,"Please take a note of returned ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Random number: 927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b\nTimestamp: 1568792486\nRandom number hash: 5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1\nPassword to sign with 'guest':\nCommitted at block 39984169 (\ntx hash: B5A3DD92A40E98745BBE9F608944FE5511B81071B34E9947A754A04A5F378A85,\nresponse: {\n Code:0\n Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n Log:Msg 0: swapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n Info: GasWanted:0 GasUsed:0\n ...\n)\n")),(0,r.kt)("p",null,"Besides, the ",(0,r.kt)("inlineCode",{parentName:"p"},"Data")," field in the committed result is the byte array of ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n\nswapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Swap from BNB Beacon Chain to Ethereum")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Clients send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-addr --recipient-other-chain --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004"//client ethereum address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Swap from Ethereum to BNB Beacon Chain ")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Once cross-chain is true, --recipient-other-chain must not be empty")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Deputy send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-other-chain --sender-other-chain --recipient-addr --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0xfA5E36a04EeF3152092099F352DDbe88953bB540"//client ethereum address\n const senderOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004" //client ethereum address\n const randomNumberHash = "6632eda86c4f19190c8a986e188526eee865e1ce2758ba59c8bf45e20ffa3bb5" //deputy get this value from the event log of swap contract\n const timestamp = 1571383800 //deputy get this value from the event log of swap contract\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, senderOtherChain, randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("h3",{id:"deposit-htlt"},"Deposit HTLT"),(0,r.kt)("p",null,"Deposit Hash Timer Locked Transfer is to lock new BEP2 asset to an existed HTLT which is for single chain atomic swap."),(0,r.kt)("h4",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the assets are from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Amount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},'The swapped out amount BEP2 tokens, example: "100:BNB" or "100:BNB,10000:BTCB-1DE"'),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-1"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token deposit --swap-id --amount 10000:TEST-599 --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const amount = [{\n denom: "TEST-599",\n amount: 10000\n }]\n const res = client.swap.depositHTLT(from, swapID, amount)\n')),(0,r.kt)("p",null,"Example output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984686 (tx hash: AA118F7CFCB3FFF86EF5EED8D2B9ADEAC5D9F242497910DAA232BDE5F6A84C1E, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[100 101 112 111 115 105 116 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("p",null,"After the deposit, you may observe that the balance of sender is decreased. The amount in deposit transaction must be positive. Besides, you can query the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and the ",(0,r.kt)("inlineCode",{parentName:"p"},"in_amount")," must equal to the amount that you balance decreased."),(0,r.kt)("h3",{id:"claim-htlt"},"Claim HTLT"),(0,r.kt)("p",null,"Claim Hash Timer Locked Transfer is to claim the locked asset by showing the random number value that matches the hash. Each HTLT locked asset is guaranteed to be release once."),(0,r.kt)("h4",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumber"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"The random number to unlock the locked hash, 32 bytes, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-2"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token claim --swap-id --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3" // the random number generated in htlt\n const res = client.swap.claimHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984971 (tx hash: 15B8625E0247DE54700D3C5C110BE0CE279D33CC13A73845F3E0305758A40902, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 103 57 114 122 99 48 101 50 106 102 56 101 102 51 113 112 57 97 120 56 104 48 112 109 112 109 118 106 122 119 109 116 113 52 106 120 102 114] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[99 108 97 105 109 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("h3",{id:"refund-htlt"},"Refund HTLT"),(0,r.kt)("p",null,"Refund Hash Timer Locked Transfer is to refund the locked asset after timelock is expired."),(0,r.kt)("h4",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-3"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token refund --swap-id --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const res = client.swap.refundHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Common error:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Already complete")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'ERROR: {"codespace":8,"code":12,"abci_code":524300,"message":"Expected swap status is Open, actually it is Completed"}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Not expired")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'ERROR: {"codespace":8,"code":8,"abci_code":524296,"message":"Current block height is 40003412, the expire height (40013236) is still not reached"}\n')),(0,r.kt)("h3",{id:"query-atomic-swap"},"Query Atomic Swap"),(0,r.kt)("p",null,"Query atomic swap allows you to search swap information by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")),(0,r.kt)("h4",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-4"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Expected output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n "from": "tbnb1g9rzc0e2jf8ef3qp9ax8h0pmpmvjzwmtq4jxfr",\n "to": "tbnb1nkx994qvqmqgk57vguqh6zjlacqzxdkue5zjyx",\n "out_amount": [\n {\n "denom": "BNB",\n "amount": "100"\n }\n ],\n "in_amount": [\n {\n "denom": "TEST-599",\n "amount": "10000"\n }\n ],\n "expected_income": "10000:TEST-599",\n "recipient_other_chain": "",\n "random_number_hash": "5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1",\n "random_number": "927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b",\n "timestamp": "1568792486",\n "cross_chain": false,\n "expire_height": "39994169",\n "index": "53",\n "closed_time": "1568792927",\n "status": "Completed"\n}\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-recipient"},"Query Atomic Swap ID By Recipient"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an recipient. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap recipient address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-5"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-recipient --recipient-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd",\n "e7cc2e2eb025cc4617ff0bb84fcffc973d7ba34f15dbc51383fe3543ff143e9c"\n]\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-creator"},"Query Atomic Swap ID By Creator"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an initiator. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"creator-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap creator address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-6"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-creator --creator-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "7341d4ea0519af90d98f60fee45fdc7e385621875ea982bc8caf1fd7a49af8c3",\n "290664c1e8123966d8f9050fdc9d93e94b0e51b36e2e2a6978e492d3796423f1",\n "b260dad3cf63e558fe102a050afbe52d5dd2e30c7db76da33d02ce5f85d07fcf",\n "2b532bf9171c4d33d80fc4a8d6603581a86345b41552337482224d8476fcf5f7",\n "20d22bbfa579520f0ba79cd176fb2b06aa8dbe5b0a6ba8c9b761129f6a42a94c"\n]\n')),(0,r.kt)("h2",{id:"fees"},"Fees"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")))),(0,r.kt)("h2",{id:"workflows"},"Workflows"),(0,r.kt)("h3",{id:"preparations"},"Preparations"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Deploy smart-contract which supports Atomic Peg Swap (APS), there is already ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"one example")," for Ethereum"),(0,r.kt)("li",{parentName:"ol"},"Deploy ",(0,r.kt)("inlineCode",{parentName:"li"},"deputy")," process for handling swap activities by token owners, there is an existing open-source solution here: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"https://github.com/bnb-chain/bep3-deputy")),(0,r.kt)("li",{parentName:"ol"},"Issue and transfer enough tokens")),(0,r.kt)("h3",{id:"testnet-deployment"},"Testnet Deployment"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ERC20 contract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098")),(0,r.kt)("li",{parentName:"ul"},"Token Symbol: ",(0,r.kt)("strong",{parentName:"li"},"PPC")),(0,r.kt)("li",{parentName:"ul"},"SmartContract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad"},"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad")),(0,r.kt)("li",{parentName:"ul"},"Its corresponding address on testnet is: ",(0,r.kt)("inlineCode",{parentName:"li"},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"),"on BNB Beacon Chain and ",(0,r.kt)("inlineCode",{parentName:"li"},"0xD93395B2771914E1679155F3EA58C41d89D96098")," on Ethereum testnet")),(0,r.kt)("h3",{id:"swap-tokens-from-ethereum-to-bnb-beacon-chain"},"Swap Tokens from Ethereum to BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193751444",src:a(60214).Z,width:"874",height:"684"})),(0,r.kt)("h4",{id:"1--approve-swap-transaction"},"1. Approve Swap Transaction"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"this page")," and approve some amount of tokens."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"Approve")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_spender: address of smartcontract, which is ",(0,r.kt)("inlineCode",{parentName:"li"},"0x12DCBf79BE178479870A473A99d91f535ed960AD")),(0,r.kt)("li",{parentName:"ul"},"_value: approved amount, should be bumped by e^10")))),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Please approve more than 1token. In the following example, 100 PPC token was approved:")),(0,r.kt)("p",null,"Example of approve 100 PPC on ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xfa640b382d3842cf508ac347090d2550e35e2193804d2a9318fbbdcdd54c846b"},"ropsten testnet")),(0,r.kt)("h4",{id:"2-call-htlt-function-from-ethereum"},"2. Call ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," function From Ethereum"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"smartcontract")," and call ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," function"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"htlt")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_randomNumberHash: SHA256(randomNumber||timestamp), randomNumber is 32-length random byte array"),(0,r.kt)("li",{parentName:"ul"},"_timestamp: it should be about 10 mins span around current timestamp"),(0,r.kt)("li",{parentName:"ul"},"_heightSpan: it's a customized filed for deputy operator. it should be more than 200 for this deputy."),(0,r.kt)("li",{parentName:"ul"},"_recipientAddr: deputy address on Ethereum, it's ",(0,r.kt)("inlineCode",{parentName:"li"},"0x1C002969Fe201975eD8F054916b071672326858e")," for this one"),(0,r.kt)("li",{parentName:"ul"},"_bep2SenderAddr: omit this field with ",(0,r.kt)("inlineCode",{parentName:"li"},"0x0")),(0,r.kt)("li",{parentName:"ul"},"_bep2RecipientAddr: Decode your testnet address from bech32 encoded to hex, for example: 0xc41f2a85e1d3629637de1222017dce46c6c8e4b9"),(0,r.kt)("li",{parentName:"ul"},"_outAmount: approved amount, should be bumped by e^10"),(0,r.kt)("li",{parentName:"ul"},"_bep2Amount: _outAmount * exchange rate, the default rate is 1")))),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xa2444cc1e52e09027ec68bf8955e7084235255f9f18d9b837a12fd63e6f0145c"},"transaction")),(0,r.kt)("h4",{id:"3-deputy-call-htlt-on-bnb-beacon-chain"},"3. Deputy Call HTLT on BNB Beacon Chain"),(0,r.kt)("p",null,"Then, Deputy will send ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/tx/99CBC2896F0CF14DDAB0684BDA0A3E9FF2271056E68EC3559AB7FB24E0EE97DE"},"here")),(0,r.kt)("h4",{id:"4-claim-htlt-on-bnb-beacon-chain"},"4. Claim HTLT on BNB Beacon Chain"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Get the ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID")," on BNB Beacon Chain ")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'./tbnbcli token query-swapIDs-by-recipient --recipient-addr tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n[\n "12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128"\n]\n')),(0,r.kt)("p",null,"You can also get swapID by ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266"},"calculateSwapID in javascript-sdk"),". It requires three parameters:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash in client HTLT transaction on Ethereum"),(0,r.kt)("td",{parentName:"tr",align:null},"5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"deputy bep2 address"),(0,r.kt)("td",{parentName:"tr",align:null},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"senderOtherChain"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"client ethereum address"),(0,r.kt)("td",{parentName:"tr",align:null},"0x133d144f52705ceb3f5801b63b9ebccf4102f5ed")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Query the swap by ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "from": "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr",\n "to": "tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w",\n "out_amount": [\n {\n "denom": "PPC-00A",\n "amount": "9999999000"\n }\n ],\n "in_amount": null,\n "expected_income": "",\n "recipient_other_chain": "0x1C002969Fe201975eD8F054916b071672326858e",\n "random_number_hash": "5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82",\n "random_number": "",\n "timestamp": "1569497984",\n "cross_chain": true,\n "expire_height": "41380567",\n "index": "1947",\n "closed_time": "",\n "status": "Open"\n}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Verify parameters in the swap:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"random_number_hash")," must equal to the randomNumberHash in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"to")," must equals to client wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"timestamp")," must equal to the timestamp in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"out_amount")," should be reasonable. Please note that the decimals of bep2 tokens is 8, the out_amount should be something around 10000000000:PPC, deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"expire_height")," must not be passed and should be enough for send claim transaction"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Send claim transaction on BNB Beacon Chain "))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token claim --swap-id 12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128 --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," tx on ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/tx/6BA714E6D107F1D9634DDC159F560A1FB61393B8E15723EFD70B9EA8B0B1AA9A?format=json"},"testnet")),(0,r.kt)("h4",{id:"5-deputy-claim-erc20-token"},"5. Deputy Claim ERC20 Token"),(0,r.kt)("p",null,"Deputy will claim ERC20 tokens afterwards with ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x3a422bdb273d4eb4d112ae8e51e8acd3ad706b2af67af20a5f15a18e4acc70fc"},"claim transaction")),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-erc20-to-bep2"},"6. Demo for Client APP: swap erc20 to bep2"),(0,r.kt)("p",null,"This is a javascript implementation for client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," to ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/asset/PPC-00A"},"PPC-00A")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-0-s1.bnbchain.org:443", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 approve erc20 to swap contract address\n //--------------------------------------------\n const approveData = erc20Contract.methods.increaseAllowance(swapContractAddr, 10000000000).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: erc20ContractAddr,\n value: \'0x00\',\n data: approveData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n //----------------------------------------------------------------------------\n //Step2 call swap contract to send htlt transaction on Ethereum\n //----------------------------------------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 1000\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const amount = 10000000000 // 10000000000:PPC\uff0c decimal is 10\n const expectedIncome = 99999000 //"99999000:PPC-00A", decimal is 8, deputy will deduct swap fee, the swap fee is 1000:PPC-00A\n\n const htltData = swapContract.methods.htlt("0x"+randomNumberHash, timestamp, heightSpan, deputyEthWalletAddr, "0x0", hexEncodingClientBNBaddr, amount, expectedIncome).encodeABI()\n nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n gasPrice = await web3.eth.getGasPrice()\n gasLimit = 3000000\n rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: htltData\n }\n ethereumjs = require(\'ethereumjs-tx\')\n signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //Step3 query swap created by deputy on BNB Beacon Chain and verify swap parameters\n //----------------------------------------------------------------------------\n const swapID = calculateSwapID(randomNumberHash.replace("0x", ""), deputyBNBWalletAddr, clientEthWalletAddr).toString()\n console.log(swapID)\n let atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n while (atomicSwapList.result.atomicSwaps[0].swapId != swapID) {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n }\n const atomicSwap = await bnbClient.getSwapByID(swapID)\n console.log(atomicSwap)\n const status = await bnbRPC.status()\n expect(atomicSwap.result.toAddr).toBe(clientBnbWalletAddr)\n expect(atomicSwap.result.randomNumberHash).toBe(randomNumberHash.replace("0x", ""))\n expect(atomicSwap.result.timestamp).toBe(timestamp)\n expect(atomicSwap.result.outAmount).toBe("99999000:PPC-00A")\n expect(Number(atomicSwap.result.expireHeight)).toBeGreaterThan(Number(status.sync_info.latest_block_height)+100)\n\n //----------------------------------------------------------------------------\n //Step4 claim on BNB Beacon Chain \n //----------------------------------------------------------------------------\n const res = await bnbClient.swap.claimHTLT(clientBnbWalletAddr, swapID, randomNumber)\n console.log(res)\n\n //----------------------------------------------------------------------------\n //If step3 or step4 are failed and the expire height on Ethereum is passed, try to call refund method on Ethereum\n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-tokens-from-bnb-beacon-chain--to-ethereum"},"Swap Tokens from BNB Beacon Chain to Ethereum"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193910521",src:a(52273).Z,width:"778",height:"582"})),(0,r.kt)("h4",{id:"1-send-htlt-transaction-from-bnb-beacon-chain"},"1. Send ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," Transaction from BNB Beacon Chain"),(0,r.kt)("p",null,"Please read this ",(0,r.kt)("a",{parentName:"p",href:"#hash-timer-locked-transfer"},"section")," to generate a valid ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction. Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumber")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumberHash"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token HTLT --from atomic --recipient-addr tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr --chain-id Binance-Chain-Ganges --height-span 10000 --amount 9900000000:PPC-00A --expected-income 9900000000:PPC --recipient-other-chain 0x133D144F52705cEb3f5801B63b9EBcCF4102f5Ed --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\nRandom number: 4811959406ea3e69721d944d308880ec41323b7f89e51a78df3693348779315e\nTimestamp: 1569578936\nRandom number hash: b03f256c9efdb97b9815faa1417e1da4cca7672e0bb26e4e7d9bfc82d0f1f15e\nCommitted at block 634510 (\n tx hash: 9DEF124E12DE123BA1CC75AA6E68F20CC48EBBE9D7693CE4D0416267C6C0F159,\n response: {\n Code:0 Data:[229 50 241 60 76 91 112 146 93 68 100 222 83 84 180 133 181 151 241 174 93 125 132 82 245 198 5 66 0 123 32 113]\n Log:Msg 0: swapID: f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2\n ...\n)\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: the swap amount must be positive.")),(0,r.kt)("p",null,"Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"random number"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"random number hash"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"timestamp")," for next steps."),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/tx/9ECECE9E0F08EE78583CFA37FD4C3F03521289F0F229A612886B8B21B9C62D7F"},"here")),(0,r.kt)("p",null,"Then, you can query the the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"SwapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2 --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"You can use this ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," for refund if the deputy doesn't send htlt transaction on ethereum with proper parameters."),(0,r.kt)("h4",{id:"2--deputy-approve-tokens"},"2. Deputy Approve Tokens"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has approve enough amount of tokens for atomic swap."),(0,r.kt)("h4",{id:"3-deputy-send-htlt-on-ethereum"},"3. Deputy Send HTLT on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has sent the ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494"},"transaction")," afterwards"),(0,r.kt)("p",null,"To get the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum, you can check this ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"page"),"\n",(0,r.kt)("strong",{parentName:"p"},"0xd3bacf63906af5459ead39f27cae189e2f3e76fda34523714a4c61d76c79ee4e")," is the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum."),(0,r.kt)("h4",{id:"4-claim-erc20-tokens-on-ethereum"},"4. Claim ERC20 Tokens on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has already approved enough tokens and"),(0,r.kt)("p",null,"In its ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"event log"),", you should see the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),". Before calling ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function on ethereum, clients should verify the parameters in the ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," event."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_randomNumberHash")," must equal to the randomNumberHash in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_recipientAddr")," must equal to client ethereum wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_timestamp")," must equal to the timestamp in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_outAmount")," should be reasonable. Please note that the decimals erc20 contract and deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_expireHeight")," must not be passed and should be enough for send claim transaction")),(0,r.kt)("p",null,"Then, you can call the ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"claim")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_swapID: this is get from event, you can also calculate it from ",(0,r.kt)("inlineCode",{parentName:"li"},"calSwapID")," function in the contract. calSwapID(randomNumberHash, {deputy ethereum address}, {hex encoding client binance address})"),(0,r.kt)("li",{parentName:"ul"},"_randomNumber: reveal your randomNumber")))),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x9cf7cc7891b86987c4eef59e3b4950324d656e6937a38b91786894f52c76f41b"},"here")),(0,r.kt)("h4",{id:"5-deputy-claim-on-bnb-beacon-chain"},"5. Deputy Claim on BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Claim HTLT")," transaction from ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/tx/8C616DEFD2EAA41E13D2DC4844B218DFF8CFE24B4C7A693AAD700381B5FF7B48"},"sent")," afterwards:"),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-bep2-to-erc20"},"6. Demo for Client APP: swap bep2 to erc20"),(0,r.kt)("p",null,"This is a javascript implementation for client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/asset/PPC-00A"},"PPC-00A")," to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-0-s1.bnbchain.org:443", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 send htlt on BNB Beacon Chain \n //--------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 10000\n const amount = [{\n denom: "PPC-00A",\n amount: 100000000\n }]\n const expectedIncome = "9999990000:PPC" //"9999990000:PPC", decimal is 10, deputy will deduct swap fee, the swap fee is 10000:PPC\n\n bnbClient.swap.HTLT(clientBnbWalletAddr, deputyBNBWalletAddr, clientEthWalletAddr, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n await wait(1000)\n\n //----------------------------------------------------------------------------\n //Step2 query swap created by deputy on Ethereum and verify swap parameters\n //----------------------------------------------------------------------------\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const swapID = await swapContract.methods.calSwapID("0x"+randomNumberHash, deputyEthWalletAddr, hexEncodingClientBNBaddr).call()\n console.log(swapID)\n\n let openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n while (openSwap._randomNumberHash == \'0x0000000000000000000000000000000000000000000000000000000000000000\') {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n }\n let ethBlock = await web3.eth.getBlock(\'latest\')\n let ethLatestHeight = ethBlock.number\n expect(openSwap._randomNumberHash).toBe("0x"+randomNumberHash)\n expect(Number(openSwap._timestamp)).toBe(timestamp)\n expect(Number(openSwap._outAmount)).toBe(9999990000)\n expect(openSwap._recipient).toBe(clientEthWalletAddr)\n expect(Number(openSwap._expireHeight)).toBeGreaterThan(Number(ethLatestHeight)+20)\n\n //----------------------------------------------------------------------------\n //Step3 claim on Ethereum\n //----------------------------------------------------------------------------\n const claimData = swapContract.methods.claim(swapID, "0x"+randomNumber).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: claimData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //If step2 or step3 are failed and the expire height on BNB Beacon Chain is passed, try to send refundHTLT transaction on BNB Beacon Chain \n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens"},"Swap between Several BEP2 tokens"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193422062",src:a(65441).Z,width:"799",height:"374"})),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens-fails"},"Swap between Several BEP2 tokens fails"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193518929",src:a(13745).Z,width:"828",height:"375"})))}m.isMDXComponent=!0},52273:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/bnc2eth-1a89d1368f58b4690f8ab8feb1ce4e4d.png"},60214:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/eth2bnc-7027f7f9453612ac0464d597ca199c09.png"},65441:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/same-chain-aa9d070f81128cb38dfa878047491dbd.png"},13745:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/samechain-fail-5c962e9308de9851a27e1c62beb67e6e.png"}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[7560],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>b});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),o=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=o(a),c=r,b=u["".concat(p,".").concat(c)]||u[c]||m[c]||s;return a?n.createElement(b,l(l({ref:t},d),{},{components:a})):n.createElement(b,l({ref:t},d))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,l=new Array(s);l[0]=c;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[u]="string"==typeof e?e:r,l[1]=i;for(var o=2;o{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var n=a(83117),r=(a(67294),a(3905));const s={},l="Cross-chain Atomic Swaps",i={unversionedId:"beaconchain/learn/atomic-swaps",id:"beaconchain/learn/atomic-swaps",title:"Cross-chain Atomic Swaps",description:"Atomic Swap",source:"@site/docs/beaconchain/learn/atomic-swaps.md",sourceDirName:"beaconchain/learn",slug:"/beaconchain/learn/atomic-swaps",permalink:"/docs/beaconchain/learn/atomic-swaps",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/learn/atomic-swaps.md",tags:[],version:"current",frontMatter:{}},p={},o=[{value:"Atomic Swap",id:"atomic-swap",level:2},{value:"Hash Timer Locked Contract",id:"hash-timer-locked-contract",level:2},{value:"HTLC on BNB Beacon Chain",id:"htlc-on-bnb-beacon-chain",level:2},{value:"Hash Timer Locked Transfer",id:"hash-timer-locked-transfer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Outputs",id:"outputs",level:4},{value:"Examples",id:"examples",level:4},{value:"Deposit HTLT",id:"deposit-htlt",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Examples",id:"examples-1",level:4},{value:"Claim HTLT",id:"claim-htlt",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Examples",id:"examples-2",level:4},{value:"Refund HTLT",id:"refund-htlt",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Examples",id:"examples-3",level:4},{value:"Query Atomic Swap",id:"query-atomic-swap",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Examples",id:"examples-4",level:4},{value:"Query Atomic Swap ID By Recipient",id:"query-atomic-swap-id-by-recipient",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Examples",id:"examples-5",level:4},{value:"Query Atomic Swap ID By Creator",id:"query-atomic-swap-id-by-creator",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Examples",id:"examples-6",level:4},{value:"Fees",id:"fees",level:2},{value:"Workflows",id:"workflows",level:2},{value:"Preparations",id:"preparations",level:3},{value:"Testnet Deployment",id:"testnet-deployment",level:3},{value:"Swap Tokens from Ethereum to BNB Beacon Chain",id:"swap-tokens-from-ethereum-to-bnb-beacon-chain",level:3},{value:"1. Approve Swap Transaction",id:"1--approve-swap-transaction",level:4},{value:"2. Call HTLT function From Ethereum",id:"2-call-htlt-function-from-ethereum",level:4},{value:"3. Deputy Call HTLT on BNB Beacon Chain",id:"3-deputy-call-htlt-on-bnb-beacon-chain",level:4},{value:"4. Claim HTLT on BNB Beacon Chain",id:"4-claim-htlt-on-bnb-beacon-chain",level:4},{value:"5. Deputy Claim ERC20 Token",id:"5-deputy-claim-erc20-token",level:4},{value:"6. Demo for Client APP: swap erc20 to bep2",id:"6-demo-for-client-app-swap-erc20-to-bep2",level:4},{value:"Swap Tokens from BNB Beacon Chain to Ethereum",id:"swap-tokens-from-bnb-beacon-chain--to-ethereum",level:3},{value:"1. Send HTLT Transaction from BNB Beacon Chain",id:"1-send-htlt-transaction-from-bnb-beacon-chain",level:4},{value:"2. Deputy Approve Tokens",id:"2--deputy-approve-tokens",level:4},{value:"3. Deputy Send HTLT on Ethereum",id:"3-deputy-send-htlt-on-ethereum",level:4},{value:"4. Claim ERC20 Tokens on Ethereum",id:"4-claim-erc20-tokens-on-ethereum",level:4},{value:"5. Deputy Claim on BNB Beacon Chain",id:"5-deputy-claim-on-bnb-beacon-chain",level:4},{value:"6. Demo for Client APP: swap bep2 to erc20",id:"6-demo-for-client-app-swap-bep2-to-erc20",level:4},{value:"Swap between Several BEP2 tokens",id:"swap-between-several-bep2-tokens",level:3},{value:"Swap between Several BEP2 tokens fails",id:"swap-between-several-bep2-tokens-fails",level:3}],d={toc:o},u="wrapper";function m(e){let{components:t,...s}=e;return(0,r.kt)(u,(0,n.Z)({},d,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"cross-chain-atomic-swaps"},"Cross-chain Atomic Swaps"),(0,r.kt)("h2",{id:"atomic-swap"},"Atomic Swap"),(0,r.kt)("p",null,"The problem of an atomic swap is one where (at least) two parties, Alice and Bob, own coins, and want to exchange them without having to trust a third party (centralized exchange)."),(0,r.kt)("p",null,"A non-atomic trivial solution would have Alice send her coins to Bob, and then have Bob send other coins to Alice - but Bob has the option of going back on his end of the bargain and simply not following through with the protocol, ending up with both sets of coins."),(0,r.kt)("p",null,"Atomic swaps can be used for trading between BEP2 tokens, or for trading across different blockchains."),(0,r.kt)("h2",{id:"hash-timer-locked-contract"},"Hash Timer Locked Contract"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts"},"HTLC")," has been used for Atomic Swap and cross payment channel for a few years on Bitcoin and its variant blockchains, and also Ethereum. This BEP defines native transactions to support HTLC on BNB Beacon Chain , and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token, which is called ",(0,r.kt)("inlineCode",{parentName:"p"},"Atomic Peg"),"."),(0,r.kt)("h2",{id:"htlc-on-bnb-beacon-chain"},"HTLC on BNB Beacon Chain"),(0,r.kt)("p",null,"As explained in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3"),", Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on BNB Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token.\nDuring the swap process, the related fund will be locked to a purely-code-controlled escrow account.\nA purely-code-controlled escrow account is a kind of account which is derived from a hard-coded string in BNB Beacon Chain protocol. This kind of account has no its own private key and it's only controled by code in protocol. The code for calculating escrow account is the same as how it's done in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/cosmos/cosmos-sdk/blob/82a2c5d6d86ffd761f0162b93f0aaa57b7f66fe7/x/supply/internal/types/account.go#L40"},"cosmos-sdk"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'AtomicSwapCoinsAccAddr = sdk.AccAddress(crypto.AddressHash([]byte("BinanceChainAtomicSwapCoins")))\n')),(0,r.kt)("p",null,"The account for mainnet is: ",(0,r.kt)("strong",{parentName:"p"},"bnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4f8ge93u")," and the account for testnet is: ",(0,r.kt)("strong",{parentName:"p"},"tbnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4ffasp3d"),". Once the swap is claimed or refunded, the fund will be transferred from the purely-code-controlled escrow account to client accounts."),(0,r.kt)("h3",{id:"hash-timer-locked-transfer"},"Hash Timer Locked Transfer"),(0,r.kt)("p",null,"Hash Timer Locked Transfer (HTLT) is a new transaction type on BNB Beacon Chain , to serve as HTLC in the first step of Atomic Swap,"),(0,r.kt)("h4",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the asset is from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Receiver address, where the asset is to, if the proper condition meets."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of a random number and timestamp, based on SHA256. If left out, a random value will be generated"),(0,r.kt)("td",{parentName:"tr",align:null},"True")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"Supposed to be the time of sending transaction, counted by second. It should be identical to the one in swap contract. If left out, current timestamp will be used."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OutAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},"similar to the Coins in the original Transfer defined in BEP2, assets to swap out"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ExpectedIncome"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},'Expected income from swap counter party, example: "100:BNB" or "100:BNB,10000:BTCB-1DE" The amount needs to be bumped by e^8'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HeightSpan"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"number of blocks to wait before the asset may be returned to From if not claimed via Random. The number must be larger than or equal to 360 (>2 minutes), and smaller than 518400 (< 48 hours)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"CrossChain"),(0,r.kt)("td",{parentName:"tr",align:null},"bool"),(0,r.kt)("td",{parentName:"tr",align:null},"Specify if the HTLT is for cross chain atomic swap"),(0,r.kt)("td",{parentName:"tr",align:null},"True, the default value is False")))),(0,r.kt)("h4",{id:"outputs"},"Outputs"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number hash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Swap ID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"examples"},"Examples"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Swap between BEP2 tokens")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --recipient-addr --amount 100:BNB --expected-income --height-span --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }]\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400// height span\n const res = client.swap.HTLT(from, recipient, "", "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, false)\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example output:")),(0,r.kt)("p",null,"Please take a note of returned ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Random number: 927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b\nTimestamp: 1568792486\nRandom number hash: 5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1\nPassword to sign with 'guest':\nCommitted at block 39984169 (\ntx hash: B5A3DD92A40E98745BBE9F608944FE5511B81071B34E9947A754A04A5F378A85,\nresponse: {\n Code:0\n Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n Log:Msg 0: swapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n Info: GasWanted:0 GasUsed:0\n ...\n)\n")),(0,r.kt)("p",null,"Besides, the ",(0,r.kt)("inlineCode",{parentName:"p"},"Data")," field in the committed result is the byte array of ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n\nswapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Swap from BNB Beacon Chain to Ethereum")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Clients send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-addr --recipient-other-chain --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004"//client ethereum address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Swap from Ethereum to BNB Beacon Chain ")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Once cross-chain is true, --recipient-other-chain must not be empty")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Deputy send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-other-chain --sender-other-chain --recipient-addr --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0xfA5E36a04EeF3152092099F352DDbe88953bB540"//client ethereum address\n const senderOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004" //client ethereum address\n const randomNumberHash = "6632eda86c4f19190c8a986e188526eee865e1ce2758ba59c8bf45e20ffa3bb5" //deputy get this value from the event log of swap contract\n const timestamp = 1571383800 //deputy get this value from the event log of swap contract\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, senderOtherChain, randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("h3",{id:"deposit-htlt"},"Deposit HTLT"),(0,r.kt)("p",null,"Deposit Hash Timer Locked Transfer is to lock new BEP2 asset to an existed HTLT which is for single chain atomic swap."),(0,r.kt)("h4",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the assets are from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Amount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},'The swapped out amount BEP2 tokens, example: "100:BNB" or "100:BNB,10000:BTCB-1DE"'),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-1"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token deposit --swap-id --amount 10000:TEST-599 --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const amount = [{\n denom: "TEST-599",\n amount: 10000\n }]\n const res = client.swap.depositHTLT(from, swapID, amount)\n')),(0,r.kt)("p",null,"Example output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984686 (tx hash: AA118F7CFCB3FFF86EF5EED8D2B9ADEAC5D9F242497910DAA232BDE5F6A84C1E, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[100 101 112 111 115 105 116 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("p",null,"After the deposit, you may observe that the balance of sender is decreased. The amount in deposit transaction must be positive. Besides, you can query the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and the ",(0,r.kt)("inlineCode",{parentName:"p"},"in_amount")," must equal to the amount that you balance decreased."),(0,r.kt)("h3",{id:"claim-htlt"},"Claim HTLT"),(0,r.kt)("p",null,"Claim Hash Timer Locked Transfer is to claim the locked asset by showing the random number value that matches the hash. Each HTLT locked asset is guaranteed to be release once."),(0,r.kt)("h4",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumber"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"The random number to unlock the locked hash, 32 bytes, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-2"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token claim --swap-id --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3" // the random number generated in htlt\n const res = client.swap.claimHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984971 (tx hash: 15B8625E0247DE54700D3C5C110BE0CE279D33CC13A73845F3E0305758A40902, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 103 57 114 122 99 48 101 50 106 102 56 101 102 51 113 112 57 97 120 56 104 48 112 109 112 109 118 106 122 119 109 116 113 52 106 120 102 114] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[99 108 97 105 109 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("h3",{id:"refund-htlt"},"Refund HTLT"),(0,r.kt)("p",null,"Refund Hash Timer Locked Transfer is to refund the locked asset after timelock is expired."),(0,r.kt)("h4",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-3"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token refund --swap-id --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const res = client.swap.refundHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Common error:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Already complete")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'ERROR: {"codespace":8,"code":12,"abci_code":524300,"message":"Expected swap status is Open, actually it is Completed"}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Not expired")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'ERROR: {"codespace":8,"code":8,"abci_code":524296,"message":"Current block height is 40003412, the expire height (40013236) is still not reached"}\n')),(0,r.kt)("h3",{id:"query-atomic-swap"},"Query Atomic Swap"),(0,r.kt)("p",null,"Query atomic swap allows you to search swap information by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")),(0,r.kt)("h4",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-4"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Expected output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n "from": "tbnb1g9rzc0e2jf8ef3qp9ax8h0pmpmvjzwmtq4jxfr",\n "to": "tbnb1nkx994qvqmqgk57vguqh6zjlacqzxdkue5zjyx",\n "out_amount": [\n {\n "denom": "BNB",\n "amount": "100"\n }\n ],\n "in_amount": [\n {\n "denom": "TEST-599",\n "amount": "10000"\n }\n ],\n "expected_income": "10000:TEST-599",\n "recipient_other_chain": "",\n "random_number_hash": "5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1",\n "random_number": "927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b",\n "timestamp": "1568792486",\n "cross_chain": false,\n "expire_height": "39994169",\n "index": "53",\n "closed_time": "1568792927",\n "status": "Completed"\n}\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-recipient"},"Query Atomic Swap ID By Recipient"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an recipient. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap recipient address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-5"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-recipient --recipient-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd",\n "e7cc2e2eb025cc4617ff0bb84fcffc973d7ba34f15dbc51383fe3543ff143e9c"\n]\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-creator"},"Query Atomic Swap ID By Creator"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an initiator. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"creator-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap creator address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-6"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-creator --creator-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "7341d4ea0519af90d98f60fee45fdc7e385621875ea982bc8caf1fd7a49af8c3",\n "290664c1e8123966d8f9050fdc9d93e94b0e51b36e2e2a6978e492d3796423f1",\n "b260dad3cf63e558fe102a050afbe52d5dd2e30c7db76da33d02ce5f85d07fcf",\n "2b532bf9171c4d33d80fc4a8d6603581a86345b41552337482224d8476fcf5f7",\n "20d22bbfa579520f0ba79cd176fb2b06aa8dbe5b0a6ba8c9b761129f6a42a94c"\n]\n')),(0,r.kt)("h2",{id:"fees"},"Fees"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")))),(0,r.kt)("h2",{id:"workflows"},"Workflows"),(0,r.kt)("h3",{id:"preparations"},"Preparations"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Deploy smart-contract which supports Atomic Peg Swap (APS), there is already ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"one example")," for Ethereum"),(0,r.kt)("li",{parentName:"ol"},"Deploy ",(0,r.kt)("inlineCode",{parentName:"li"},"deputy")," process for handling swap activities by token owners, there is an existing open-source solution here: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"https://github.com/bnb-chain/bep3-deputy")),(0,r.kt)("li",{parentName:"ol"},"Issue and transfer enough tokens")),(0,r.kt)("h3",{id:"testnet-deployment"},"Testnet Deployment"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ERC20 contract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098")),(0,r.kt)("li",{parentName:"ul"},"Token Symbol: ",(0,r.kt)("strong",{parentName:"li"},"PPC")),(0,r.kt)("li",{parentName:"ul"},"SmartContract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad"},"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad")),(0,r.kt)("li",{parentName:"ul"},"Its corresponding address on testnet is: ",(0,r.kt)("inlineCode",{parentName:"li"},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"),"on BNB Beacon Chain and ",(0,r.kt)("inlineCode",{parentName:"li"},"0xD93395B2771914E1679155F3EA58C41d89D96098")," on Ethereum testnet")),(0,r.kt)("h3",{id:"swap-tokens-from-ethereum-to-bnb-beacon-chain"},"Swap Tokens from Ethereum to BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193751444",src:a(60214).Z,width:"874",height:"684"})),(0,r.kt)("h4",{id:"1--approve-swap-transaction"},"1. Approve Swap Transaction"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"this page")," and approve some amount of tokens."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"Approve")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_spender: address of smartcontract, which is ",(0,r.kt)("inlineCode",{parentName:"li"},"0x12DCBf79BE178479870A473A99d91f535ed960AD")),(0,r.kt)("li",{parentName:"ul"},"_value: approved amount, should be bumped by e^10")))),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Please approve more than 1token. In the following example, 100 PPC token was approved:")),(0,r.kt)("p",null,"Example of approve 100 PPC on ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xfa640b382d3842cf508ac347090d2550e35e2193804d2a9318fbbdcdd54c846b"},"ropsten testnet")),(0,r.kt)("h4",{id:"2-call-htlt-function-from-ethereum"},"2. Call ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," function From Ethereum"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"smartcontract")," and call ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," function"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"htlt")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_randomNumberHash: SHA256(randomNumber||timestamp), randomNumber is 32-length random byte array"),(0,r.kt)("li",{parentName:"ul"},"_timestamp: it should be about 10 mins span around current timestamp"),(0,r.kt)("li",{parentName:"ul"},"_heightSpan: it's a customized filed for deputy operator. it should be more than 200 for this deputy."),(0,r.kt)("li",{parentName:"ul"},"_recipientAddr: deputy address on Ethereum, it's ",(0,r.kt)("inlineCode",{parentName:"li"},"0x1C002969Fe201975eD8F054916b071672326858e")," for this one"),(0,r.kt)("li",{parentName:"ul"},"_bep2SenderAddr: omit this field with ",(0,r.kt)("inlineCode",{parentName:"li"},"0x0")),(0,r.kt)("li",{parentName:"ul"},"_bep2RecipientAddr: Decode your testnet address from bech32 encoded to hex, for example: 0xc41f2a85e1d3629637de1222017dce46c6c8e4b9"),(0,r.kt)("li",{parentName:"ul"},"_outAmount: approved amount, should be bumped by e^10"),(0,r.kt)("li",{parentName:"ul"},"_bep2Amount: _outAmount * exchange rate, the default rate is 1")))),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xa2444cc1e52e09027ec68bf8955e7084235255f9f18d9b837a12fd63e6f0145c"},"transaction")),(0,r.kt)("h4",{id:"3-deputy-call-htlt-on-bnb-beacon-chain"},"3. Deputy Call HTLT on BNB Beacon Chain"),(0,r.kt)("p",null,"Then, Deputy will send ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/tx/99CBC2896F0CF14DDAB0684BDA0A3E9FF2271056E68EC3559AB7FB24E0EE97DE"},"here")),(0,r.kt)("h4",{id:"4-claim-htlt-on-bnb-beacon-chain"},"4. Claim HTLT on BNB Beacon Chain"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Get the ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID")," on BNB Beacon Chain ")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'./tbnbcli token query-swapIDs-by-recipient --recipient-addr tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n[\n "12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128"\n]\n')),(0,r.kt)("p",null,"You can also get swapID by ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266"},"calculateSwapID in javascript-sdk"),". It requires three parameters:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash in client HTLT transaction on Ethereum"),(0,r.kt)("td",{parentName:"tr",align:null},"5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"deputy bep2 address"),(0,r.kt)("td",{parentName:"tr",align:null},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"senderOtherChain"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"client ethereum address"),(0,r.kt)("td",{parentName:"tr",align:null},"0x133d144f52705ceb3f5801b63b9ebccf4102f5ed")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Query the swap by ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "from": "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr",\n "to": "tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w",\n "out_amount": [\n {\n "denom": "PPC-00A",\n "amount": "9999999000"\n }\n ],\n "in_amount": null,\n "expected_income": "",\n "recipient_other_chain": "0x1C002969Fe201975eD8F054916b071672326858e",\n "random_number_hash": "5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82",\n "random_number": "",\n "timestamp": "1569497984",\n "cross_chain": true,\n "expire_height": "41380567",\n "index": "1947",\n "closed_time": "",\n "status": "Open"\n}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Verify parameters in the swap:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"random_number_hash")," must equal to the randomNumberHash in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"to")," must equals to client wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"timestamp")," must equal to the timestamp in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"out_amount")," should be reasonable. Please note that the decimals of bep2 tokens is 8, the out_amount should be something around 10000000000:PPC, deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"expire_height")," must not be passed and should be enough for send claim transaction"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Send claim transaction on BNB Beacon Chain "))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token claim --swap-id 12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128 --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," tx on ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/tx/6BA714E6D107F1D9634DDC159F560A1FB61393B8E15723EFD70B9EA8B0B1AA9A?format=json"},"testnet")),(0,r.kt)("h4",{id:"5-deputy-claim-erc20-token"},"5. Deputy Claim ERC20 Token"),(0,r.kt)("p",null,"Deputy will claim ERC20 tokens afterwards with ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x3a422bdb273d4eb4d112ae8e51e8acd3ad706b2af67af20a5f15a18e4acc70fc"},"claim transaction")),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-erc20-to-bep2"},"6. Demo for Client APP: swap erc20 to bep2"),(0,r.kt)("p",null,"This is a javascript implementation for client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," to ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/asset/PPC-00A"},"PPC-00A")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-0-s1.bnbchain.org:443", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 approve erc20 to swap contract address\n //--------------------------------------------\n const approveData = erc20Contract.methods.increaseAllowance(swapContractAddr, 10000000000).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: erc20ContractAddr,\n value: \'0x00\',\n data: approveData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n //----------------------------------------------------------------------------\n //Step2 call swap contract to send htlt transaction on Ethereum\n //----------------------------------------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 1000\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const amount = 10000000000 // 10000000000:PPC\uff0c decimal is 10\n const expectedIncome = 99999000 //"99999000:PPC-00A", decimal is 8, deputy will deduct swap fee, the swap fee is 1000:PPC-00A\n\n const htltData = swapContract.methods.htlt("0x"+randomNumberHash, timestamp, heightSpan, deputyEthWalletAddr, "0x0", hexEncodingClientBNBaddr, amount, expectedIncome).encodeABI()\n nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n gasPrice = await web3.eth.getGasPrice()\n gasLimit = 3000000\n rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: htltData\n }\n ethereumjs = require(\'ethereumjs-tx\')\n signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //Step3 query swap created by deputy on BNB Beacon Chain and verify swap parameters\n //----------------------------------------------------------------------------\n const swapID = calculateSwapID(randomNumberHash.replace("0x", ""), deputyBNBWalletAddr, clientEthWalletAddr).toString()\n console.log(swapID)\n let atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n while (atomicSwapList.result.atomicSwaps[0].swapId != swapID) {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n }\n const atomicSwap = await bnbClient.getSwapByID(swapID)\n console.log(atomicSwap)\n const status = await bnbRPC.status()\n expect(atomicSwap.result.toAddr).toBe(clientBnbWalletAddr)\n expect(atomicSwap.result.randomNumberHash).toBe(randomNumberHash.replace("0x", ""))\n expect(atomicSwap.result.timestamp).toBe(timestamp)\n expect(atomicSwap.result.outAmount).toBe("99999000:PPC-00A")\n expect(Number(atomicSwap.result.expireHeight)).toBeGreaterThan(Number(status.sync_info.latest_block_height)+100)\n\n //----------------------------------------------------------------------------\n //Step4 claim on BNB Beacon Chain \n //----------------------------------------------------------------------------\n const res = await bnbClient.swap.claimHTLT(clientBnbWalletAddr, swapID, randomNumber)\n console.log(res)\n\n //----------------------------------------------------------------------------\n //If step3 or step4 are failed and the expire height on Ethereum is passed, try to call refund method on Ethereum\n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-tokens-from-bnb-beacon-chain--to-ethereum"},"Swap Tokens from BNB Beacon Chain to Ethereum"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193910521",src:a(52273).Z,width:"778",height:"582"})),(0,r.kt)("h4",{id:"1-send-htlt-transaction-from-bnb-beacon-chain"},"1. Send ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," Transaction from BNB Beacon Chain"),(0,r.kt)("p",null,"Please read this ",(0,r.kt)("a",{parentName:"p",href:"#hash-timer-locked-transfer"},"section")," to generate a valid ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction. Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumber")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumberHash"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token HTLT --from atomic --recipient-addr tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr --chain-id Binance-Chain-Ganges --height-span 10000 --amount 9900000000:PPC-00A --expected-income 9900000000:PPC --recipient-other-chain 0x133D144F52705cEb3f5801B63b9EBcCF4102f5Ed --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\nRandom number: 4811959406ea3e69721d944d308880ec41323b7f89e51a78df3693348779315e\nTimestamp: 1569578936\nRandom number hash: b03f256c9efdb97b9815faa1417e1da4cca7672e0bb26e4e7d9bfc82d0f1f15e\nCommitted at block 634510 (\n tx hash: 9DEF124E12DE123BA1CC75AA6E68F20CC48EBBE9D7693CE4D0416267C6C0F159,\n response: {\n Code:0 Data:[229 50 241 60 76 91 112 146 93 68 100 222 83 84 180 133 181 151 241 174 93 125 132 82 245 198 5 66 0 123 32 113]\n Log:Msg 0: swapID: f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2\n ...\n)\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: the swap amount must be positive.")),(0,r.kt)("p",null,"Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"random number"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"random number hash"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"timestamp")," for next steps."),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/tx/9ECECE9E0F08EE78583CFA37FD4C3F03521289F0F229A612886B8B21B9C62D7F"},"here")),(0,r.kt)("p",null,"Then, you can query the the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"SwapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2 --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"You can use this ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," for refund if the deputy doesn't send htlt transaction on ethereum with proper parameters."),(0,r.kt)("h4",{id:"2--deputy-approve-tokens"},"2. Deputy Approve Tokens"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has approve enough amount of tokens for atomic swap."),(0,r.kt)("h4",{id:"3-deputy-send-htlt-on-ethereum"},"3. Deputy Send HTLT on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has sent the ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494"},"transaction")," afterwards"),(0,r.kt)("p",null,"To get the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum, you can check this ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"page"),"\n",(0,r.kt)("strong",{parentName:"p"},"0xd3bacf63906af5459ead39f27cae189e2f3e76fda34523714a4c61d76c79ee4e")," is the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum."),(0,r.kt)("h4",{id:"4-claim-erc20-tokens-on-ethereum"},"4. Claim ERC20 Tokens on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has already approved enough tokens and"),(0,r.kt)("p",null,"In its ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"event log"),", you should see the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),". Before calling ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function on ethereum, clients should verify the parameters in the ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," event."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_randomNumberHash")," must equal to the randomNumberHash in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_recipientAddr")," must equal to client ethereum wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_timestamp")," must equal to the timestamp in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_outAmount")," should be reasonable. Please note that the decimals erc20 contract and deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_expireHeight")," must not be passed and should be enough for send claim transaction")),(0,r.kt)("p",null,"Then, you can call the ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"claim")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_swapID: this is get from event, you can also calculate it from ",(0,r.kt)("inlineCode",{parentName:"li"},"calSwapID")," function in the contract. calSwapID(randomNumberHash, {deputy ethereum address}, {hex encoding client binance address})"),(0,r.kt)("li",{parentName:"ul"},"_randomNumber: reveal your randomNumber")))),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x9cf7cc7891b86987c4eef59e3b4950324d656e6937a38b91786894f52c76f41b"},"here")),(0,r.kt)("h4",{id:"5-deputy-claim-on-bnb-beacon-chain"},"5. Deputy Claim on BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Claim HTLT")," transaction from ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/tx/8C616DEFD2EAA41E13D2DC4844B218DFF8CFE24B4C7A693AAD700381B5FF7B48"},"sent")," afterwards:"),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-bep2-to-erc20"},"6. Demo for Client APP: swap bep2 to erc20"),(0,r.kt)("p",null,"This is a javascript implementation for client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/asset/PPC-00A"},"PPC-00A")," to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-0-s1.bnbchain.org:443", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 send htlt on BNB Beacon Chain \n //--------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 10000\n const amount = [{\n denom: "PPC-00A",\n amount: 100000000\n }]\n const expectedIncome = "9999990000:PPC" //"9999990000:PPC", decimal is 10, deputy will deduct swap fee, the swap fee is 10000:PPC\n\n bnbClient.swap.HTLT(clientBnbWalletAddr, deputyBNBWalletAddr, clientEthWalletAddr, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n await wait(1000)\n\n //----------------------------------------------------------------------------\n //Step2 query swap created by deputy on Ethereum and verify swap parameters\n //----------------------------------------------------------------------------\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const swapID = await swapContract.methods.calSwapID("0x"+randomNumberHash, deputyEthWalletAddr, hexEncodingClientBNBaddr).call()\n console.log(swapID)\n\n let openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n while (openSwap._randomNumberHash == \'0x0000000000000000000000000000000000000000000000000000000000000000\') {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n }\n let ethBlock = await web3.eth.getBlock(\'latest\')\n let ethLatestHeight = ethBlock.number\n expect(openSwap._randomNumberHash).toBe("0x"+randomNumberHash)\n expect(Number(openSwap._timestamp)).toBe(timestamp)\n expect(Number(openSwap._outAmount)).toBe(9999990000)\n expect(openSwap._recipient).toBe(clientEthWalletAddr)\n expect(Number(openSwap._expireHeight)).toBeGreaterThan(Number(ethLatestHeight)+20)\n\n //----------------------------------------------------------------------------\n //Step3 claim on Ethereum\n //----------------------------------------------------------------------------\n const claimData = swapContract.methods.claim(swapID, "0x"+randomNumber).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: claimData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //If step2 or step3 are failed and the expire height on BNB Beacon Chain is passed, try to send refundHTLT transaction on BNB Beacon Chain \n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens"},"Swap between Several BEP2 tokens"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193422062",src:a(65441).Z,width:"799",height:"374"})),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens-fails"},"Swap between Several BEP2 tokens fails"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193518929",src:a(13745).Z,width:"828",height:"375"})))}m.isMDXComponent=!0},52273:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/bnc2eth-1a89d1368f58b4690f8ab8feb1ce4e4d.png"},60214:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/eth2bnc-7027f7f9453612ac0464d597ca199c09.png"},65441:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/same-chain-aa9d070f81128cb38dfa878047491dbd.png"},13745:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/samechain-fail-5c962e9308de9851a27e1c62beb67e6e.png"}}]);
\ No newline at end of file
diff --git a/assets/js/7d79a86a.3997c67c.js b/assets/js/7d79a86a.3997c67c.js
deleted file mode 100644
index 2ee3d1de97..0000000000
--- a/assets/js/7d79a86a.3997c67c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[4835],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>b});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),o=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=o(a),c=r,b=u["".concat(p,".").concat(c)]||u[c]||m[c]||s;return a?n.createElement(b,l(l({ref:t},d),{},{components:a})):n.createElement(b,l({ref:t},d))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,l=new Array(s);l[0]=c;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[u]="string"==typeof e?e:r,l[1]=i;for(var o=2;o{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var n=a(83117),r=(a(67294),a(3905));const s={},l=void 0,i={unversionedId:"beaconchain/atomic-swap",id:"beaconchain/atomic-swap",title:"atomic-swap",description:"Introduction",source:"@site/docs/beaconchain/atomic-swap.md",sourceDirName:"beaconchain",slug:"/beaconchain/atomic-swap",permalink:"/docs/beaconchain/atomic-swap",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/atomic-swap.md",tags:[],version:"current",frontMatter:{}},p={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Commands",id:"commands",level:2},{value:"Hash Timer Locked Transfer",id:"hash-timer-locked-transfer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Outputs",id:"outputs",level:4},{value:"Examples",id:"examples",level:4},{value:"Deposit HTLT",id:"deposit-htlt",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Examples",id:"examples-1",level:4},{value:"Claim HTLT",id:"claim-htlt",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Examples",id:"examples-2",level:4},{value:"Refund HTLT",id:"refund-htlt",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Examples",id:"examples-3",level:4},{value:"Query Atomic Swap",id:"query-atomic-swap",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Examples",id:"examples-4",level:4},{value:"Query Atomic Swap ID By Recipient",id:"query-atomic-swap-id-by-recipient",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Examples",id:"examples-5",level:4},{value:"Query Atomic Swap ID By Creator",id:"query-atomic-swap-id-by-creator",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Examples",id:"examples-6",level:4},{value:"Fees",id:"fees",level:2},{value:"Workflows",id:"workflows",level:2},{value:"Preparations",id:"preparations",level:3},{value:"Testnet Deployment",id:"testnet-deployment",level:3},{value:"Swap Tokens from Ethereum to BNB Beacon Chain",id:"swap-tokens-from-ethereum-to-bnb-beacon-chain",level:3},{value:"1. Approve Swap Transaction",id:"1--approve-swap-transaction",level:4},{value:"2. Call HTLT function From Ethereum",id:"2-call-htlt-function-from-ethereum",level:4},{value:"3. Deputy Call HTLT on BNB Beacon Chain",id:"3-deputy-call-htlt-on-bnb-beacon-chain",level:4},{value:"4. Claim HTLT on BNB Beacon Chain",id:"4-claim-htlt-on-bnb-beacon-chain",level:4},{value:"5. Deputy Claim ERC20 Token",id:"5-deputy-claim-erc20-token",level:4},{value:"6. Demo for Client APP: swap erc20 to bep2",id:"6-demo-for-client-app-swap-erc20-to-bep2",level:4},{value:"Swap Tokens from BNB Beacon Chain to Ethereum",id:"swap-tokens-from-bnb-beacon-chain-to-ethereum",level:3},{value:"1. Send HTLT Transaction from BNB Beacon Chain",id:"1-send-htlt-transaction-from-bnb-beacon-chain",level:4},{value:"2. Deputy Approve Tokens",id:"2--deputy-approve-tokens",level:4},{value:"3. Deputy Send HTLT on Ethereum",id:"3-deputy-send-htlt-on-ethereum",level:4},{value:"4. Claim ERC20 Tokens on Ethereum",id:"4-claim-erc20-tokens-on-ethereum",level:4},{value:"5. Deputy Claim on BNB Beacon Chain",id:"5-deputy-claim-on-bnb-beacon-chain",level:4},{value:"6. Demo for Client APP: swap bep2 to erc20",id:"6-demo-for-client-app-swap-bep2-to-erc20",level:4},{value:"Swap between Several BEP2 tokens",id:"swap-between-several-bep2-tokens",level:3},{value:"Swap between Several BEP2 tokens fails",id:"swap-between-several-bep2-tokens-fails",level:3}],d={toc:o},u="wrapper";function m(e){let{components:t,...s}=e;return(0,r.kt)(u,(0,n.Z)({},d,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"introduction"},"Introduction"),(0,r.kt)("p",null,"As explained in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3"),", Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on BNB Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token.\nDuring the swap process, the related fund will be locked to a purely-code-controlled escrow account.\nA purely-code-controlled escrow account is a kind of account which is derived from a hard-coded string in BNB Beacon Chain protocol. This kind of account doesn't have its own private key and it's only controlled by code of the protocol. The code for calculating escrow account is the same that is used in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/cosmos/cosmos-sdk/blob/82a2c5d6d86ffd761f0162b93f0aaa57b7f66fe7/x/supply/internal/types/account.go#L40"},"cosmos-sdk"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'AtomicSwapCoinsAccAddr = sdk.AccAddress(crypto.AddressHash([]byte("BinanceChainAtomicSwapCoins")))\n')),(0,r.kt)("p",null,"The account for mainnet is: ",(0,r.kt)("strong",{parentName:"p"},"bnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4f8ge93u")," and the account for testnet is: ",(0,r.kt)("strong",{parentName:"p"},"tbnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4ffasp3d"),". Once the swap is claimed or refunded, the fund will be transferred from the purely-code-controlled escrow account to client accounts."),(0,r.kt)("h2",{id:"commands"},"Commands"),(0,r.kt)("h3",{id:"hash-timer-locked-transfer"},"Hash Timer Locked Transfer"),(0,r.kt)("p",null,"Hash Timer Locked Transfer (HTLT) is a new transaction type on BNB Beacon Chain, to serve as HTLC in the first step of Atomic Swap,"),(0,r.kt)("h4",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the asset is from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Receiver address, where the asset is to, if the proper condition meets."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of a random number and timestamp, based on SHA256. If left out, a random value will be generated"),(0,r.kt)("td",{parentName:"tr",align:null},"True")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"Supposed to be the time of sending transaction, counted by second. It should be identical to the one in swap contract. If left out, current timestamp will be used."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OutAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},"similar to the Coins in the original Transfer defined in BEP2, assets to swap out"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ExpectedIncome"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},'Expected income from swap counter party, example: "100:BNB" or "100:BNB,10000:BTCB-1DE" The amount needs to be bumped by e^8'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HeightSpan"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"number of blocks to wait before the asset may be returned to From if not claimed via Random. The number must be larger than or equal to 360 (>2 minutes), and smaller than 518400 (< 48 hours)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"CrossChain"),(0,r.kt)("td",{parentName:"tr",align:null},"bool"),(0,r.kt)("td",{parentName:"tr",align:null},"Specify if the HTLT is for cross chain atomic swap"),(0,r.kt)("td",{parentName:"tr",align:null},"True, the default value is False")))),(0,r.kt)("h4",{id:"outputs"},"Outputs"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number hash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Swap ID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"examples"},"Examples"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Swap between BEP2 tokens")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --recipient-addr --amount 100:BNB --expected-income --height-span --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }]\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400// height span\n const res = client.swap.HTLT(from, recipient, "", "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, false)\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example output:")),(0,r.kt)("p",null,"Please take a note of returned ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Random number: 927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b\nTimestamp: 1568792486\nRandom number hash: 5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1\nPassword to sign with 'guest':\nCommitted at block 39984169 (\ntx hash: B5A3DD92A40E98745BBE9F608944FE5511B81071B34E9947A754A04A5F378A85,\nresponse: {\n Code:0\n Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n Log:Msg 0: swapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n Info: GasWanted:0 GasUsed:0\n ...\n)\n")),(0,r.kt)("p",null,"Besides, the ",(0,r.kt)("inlineCode",{parentName:"p"},"Data")," field in the committed result is the byte array of ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n\nswapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Swap from BNB Beacon Chain to Ethereum")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Clients send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-addr --recipient-other-chain --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004"//client ethereum address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Swap from Ethereum to BNB Beacon Chain ")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Once cross-chain is true, --recipient-other-chain must not be empty")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Deputy send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-other-chain --sender-other-chain --recipient-addr --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0xfA5E36a04EeF3152092099F352DDbe88953bB540"//client ethereum address\n const senderOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004" //client ethereum address\n const randomNumberHash = "6632eda86c4f19190c8a986e188526eee865e1ce2758ba59c8bf45e20ffa3bb5" //deputy get this value from the event log of swap contract\n const timestamp = 1571383800 //deputy get this value from the event log of swap contract\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, senderOtherChain, randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("h3",{id:"deposit-htlt"},"Deposit HTLT"),(0,r.kt)("p",null,"Deposit Hash Timer Locked Transfer is to lock new BEP2 asset to an existed HTLT which is for single chain atomic swap."),(0,r.kt)("h4",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the assets are from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Amount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},'The swapped out amount BEP2 tokens, example: "100:BNB" or "100:BNB,10000:BTCB-1DE"'),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-1"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token deposit --swap-id --amount 10000:TEST-599 --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const amount = [{\n denom: "TEST-599",\n amount: 10000\n }]\n const res = client.swap.depositHTLT(from, swapID, amount)\n')),(0,r.kt)("p",null,"Example output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984686 (tx hash: AA118F7CFCB3FFF86EF5EED8D2B9ADEAC5D9F242497910DAA232BDE5F6A84C1E, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[100 101 112 111 115 105 116 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("p",null,"After the deposit, you may observe that the balance of sender is decreased. The amount in deposit transaction must be positive. Besides, you can query the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and the ",(0,r.kt)("inlineCode",{parentName:"p"},"in_amount")," must equal to the amount that you balance decreased."),(0,r.kt)("h3",{id:"claim-htlt"},"Claim HTLT"),(0,r.kt)("p",null,"Claim Hash Timer Locked Transfer is to claim the locked asset by showing the random number value that matches the hash. Each HTLT locked asset is guaranteed to be release once."),(0,r.kt)("h4",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumber"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"The random number to unlock the locked hash, 32 bytes, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-2"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token claim --swap-id --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3" // the random number generated in htlt\n const res = client.swap.claimHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984971 (tx hash: 15B8625E0247DE54700D3C5C110BE0CE279D33CC13A73845F3E0305758A40902, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 103 57 114 122 99 48 101 50 106 102 56 101 102 51 113 112 57 97 120 56 104 48 112 109 112 109 118 106 122 119 109 116 113 52 106 120 102 114] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[99 108 97 105 109 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("h3",{id:"refund-htlt"},"Refund HTLT"),(0,r.kt)("p",null,"Refund Hash Timer Locked Transfer is to refund the locked asset after timelock is expired."),(0,r.kt)("h4",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-3"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token refund --swap-id --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const res = client.swap.refundHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Common error:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Already complete")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'ERROR: {"codespace":8,"code":12,"abci_code":524300,"message":"Expected swap status is Open, actually it is Completed"}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Not expired")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'ERROR: {"codespace":8,"code":8,"abci_code":524296,"message":"Current block height is 40003412, the expire height (40013236) is still not reached"}\n')),(0,r.kt)("h3",{id:"query-atomic-swap"},"Query Atomic Swap"),(0,r.kt)("p",null,"Query atomic swap allows you to search swap information by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")),(0,r.kt)("h4",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-4"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Expected output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n "from": "tbnb1g9rzc0e2jf8ef3qp9ax8h0pmpmvjzwmtq4jxfr",\n "to": "tbnb1nkx994qvqmqgk57vguqh6zjlacqzxdkue5zjyx",\n "out_amount": [\n {\n "denom": "BNB",\n "amount": "100"\n }\n ],\n "in_amount": [\n {\n "denom": "TEST-599",\n "amount": "10000"\n }\n ],\n "expected_income": "10000:TEST-599",\n "recipient_other_chain": "",\n "random_number_hash": "5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1",\n "random_number": "927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b",\n "timestamp": "1568792486",\n "cross_chain": false,\n "expire_height": "39994169",\n "index": "53",\n "closed_time": "1568792927",\n "status": "Completed"\n}\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-recipient"},"Query Atomic Swap ID By Recipient"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an recipient. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap recipient address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-5"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-recipient --recipient-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd",\n "e7cc2e2eb025cc4617ff0bb84fcffc973d7ba34f15dbc51383fe3543ff143e9c"\n]\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-creator"},"Query Atomic Swap ID By Creator"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an initiator. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"creator-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap creator address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-6"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-creator --creator-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "7341d4ea0519af90d98f60fee45fdc7e385621875ea982bc8caf1fd7a49af8c3",\n "290664c1e8123966d8f9050fdc9d93e94b0e51b36e2e2a6978e492d3796423f1",\n "b260dad3cf63e558fe102a050afbe52d5dd2e30c7db76da33d02ce5f85d07fcf",\n "2b532bf9171c4d33d80fc4a8d6603581a86345b41552337482224d8476fcf5f7",\n "20d22bbfa579520f0ba79cd176fb2b06aa8dbe5b0a6ba8c9b761129f6a42a94c"\n]\n')),(0,r.kt)("h2",{id:"fees"},"Fees"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")))),(0,r.kt)("h2",{id:"workflows"},"Workflows"),(0,r.kt)("h3",{id:"preparations"},"Preparations"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Deploy smart-contract which supports Atomic Peg Swap (APS), there is already ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"one example")," for Ethereum"),(0,r.kt)("li",{parentName:"ol"},"Deploy ",(0,r.kt)("inlineCode",{parentName:"li"},"deputy")," process for handling swap activities by token owners, there is an existing open-source solution here: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"https://github.com/bnb-chain/bep3-deputy")),(0,r.kt)("li",{parentName:"ol"},"Issue and transfer enough tokens")),(0,r.kt)("h3",{id:"testnet-deployment"},"Testnet Deployment"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ERC20 contract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098")),(0,r.kt)("li",{parentName:"ul"},"Token Symbol: ",(0,r.kt)("strong",{parentName:"li"},"PPC")),(0,r.kt)("li",{parentName:"ul"},"SmartContract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad"},"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad")),(0,r.kt)("li",{parentName:"ul"},"Its corresponding address on testnet is: ",(0,r.kt)("inlineCode",{parentName:"li"},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"),"on BNB Beacon Chain and ",(0,r.kt)("inlineCode",{parentName:"li"},"0xD93395B2771914E1679155F3EA58C41d89D96098")," on Ethereum testnet")),(0,r.kt)("h3",{id:"swap-tokens-from-ethereum-to-bnb-beacon-chain"},"Swap Tokens from Ethereum to BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193751444",src:a(60214).Z,width:"874",height:"684"})),(0,r.kt)("h4",{id:"1--approve-swap-transaction"},"1. Approve Swap Transaction"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"this page")," and approve some amount of tokens."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"Approve")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_spender: address of the smartcontract, which is ",(0,r.kt)("inlineCode",{parentName:"li"},"0x12DCBf79BE178479870A473A99d91f535ed960AD")),(0,r.kt)("li",{parentName:"ul"},"_value: approved amount, should be bumped by e^10")))),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Please approve more than 1 token. In the following example, 100 PPC token was approved:")),(0,r.kt)("p",null,"Example of approve 100 PPC on ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xfa640b382d3842cf508ac347090d2550e35e2193804d2a9318fbbdcdd54c846b"},"ropsten testnet")),(0,r.kt)("h4",{id:"2-call-htlt-function-from-ethereum"},"2. Call ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," function From Ethereum"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"smartcontract")," and call ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," function"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"htlt")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_randomNumberHash: SHA256(randomNumber||timestamp), randomNumber is 32-length random byte array"),(0,r.kt)("li",{parentName:"ul"},"_timestamp: it should be about 10 mins span around current timestamp"),(0,r.kt)("li",{parentName:"ul"},"_heightSpan: it's a customized filed for deputy operator. it should be more than 200 for this deputy."),(0,r.kt)("li",{parentName:"ul"},"_recipientAddr: deputy address on Ethereum, it's ",(0,r.kt)("inlineCode",{parentName:"li"},"0x1C002969Fe201975eD8F054916b071672326858e")," for this one"),(0,r.kt)("li",{parentName:"ul"},"_bep2SenderAddr: omit this field with ",(0,r.kt)("inlineCode",{parentName:"li"},"0x0")),(0,r.kt)("li",{parentName:"ul"},"_bep2RecipientAddr: Decode your testnet address from bech32 encoded to hex, for example: 0xc41f2a85e1d3629637de1222017dce46c6c8e4b9"),(0,r.kt)("li",{parentName:"ul"},"_outAmount: approved amount, should be bumped by e^10"),(0,r.kt)("li",{parentName:"ul"},"_bep2Amount: _outAmount * exchange rate, the default rate is 1")))),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xa2444cc1e52e09027ec68bf8955e7084235255f9f18d9b837a12fd63e6f0145c"},"transaction")),(0,r.kt)("h4",{id:"3-deputy-call-htlt-on-bnb-beacon-chain"},"3. Deputy Call HTLT on BNB Beacon Chain"),(0,r.kt)("p",null,"Then, Deputy will send ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/tx/99CBC2896F0CF14DDAB0684BDA0A3E9FF2271056E68EC3559AB7FB24E0EE97DE"},"here")),(0,r.kt)("h4",{id:"4-claim-htlt-on-bnb-beacon-chain"},"4. Claim HTLT on BNB Beacon Chain"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Get the ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID")," on BNB Beacon Chain ")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'./tbnbcli token query-swapIDs-by-recipient --recipient-addr tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n[\n "12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128"\n]\n')),(0,r.kt)("p",null,"You can also get swapID by ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266"},"calculateSwapID in javascript-sdk"),". It requires three parameters:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash in client HTLT transaction on Ethereum"),(0,r.kt)("td",{parentName:"tr",align:null},"5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"deputy bep2 address"),(0,r.kt)("td",{parentName:"tr",align:null},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"senderOtherChain"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"client ethereum address"),(0,r.kt)("td",{parentName:"tr",align:null},"0x133d144f52705ceb3f5801b63b9ebccf4102f5ed")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Query the swap by ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "from": "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr",\n "to": "tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w",\n "out_amount": [\n {\n "denom": "PPC-00A",\n "amount": "9999999000"\n }\n ],\n "in_amount": null,\n "expected_income": "",\n "recipient_other_chain": "0x1C002969Fe201975eD8F054916b071672326858e",\n "random_number_hash": "5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82",\n "random_number": "",\n "timestamp": "1569497984",\n "cross_chain": true,\n "expire_height": "41380567",\n "index": "1947",\n "closed_time": "",\n "status": "Open"\n}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Verify parameters in the swap:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"random_number_hash")," must equal to the randomNumberHash in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"to")," must equals to client wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"timestamp")," must equal to the timestamp in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"out_amount")," should be reasonable. Please note that the decimals of bep2 tokens is 8, the out_amount should be something around 10000000000:PPC, deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"expire_height")," must not be passed and should be enough for send claim transaction"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Send claim transaction on BNB Beacon Chain "))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token claim --swap-id 12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128 --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," tx on ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/tx/6BA714E6D107F1D9634DDC159F560A1FB61393B8E15723EFD70B9EA8B0B1AA9A?format=json"},"testnet")),(0,r.kt)("h4",{id:"5-deputy-claim-erc20-token"},"5. Deputy Claim ERC20 Token"),(0,r.kt)("p",null,"Deputy will claim ERC20 tokens afterwards with ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x3a422bdb273d4eb4d112ae8e51e8acd3ad706b2af67af20a5f15a18e4acc70fc"},"claim transaction")),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-erc20-to-bep2"},"6. Demo for Client APP: swap erc20 to bep2"),(0,r.kt)("p",null,"This is a javascript implementation for client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," to ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/asset/PPC-00A"},"PPC-00A")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-2-s1.bnbchain.org/", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 approve erc20 to swap contract address\n //--------------------------------------------\n const approveData = erc20Contract.methods.increaseAllowance(swapContractAddr, 10000000000).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: erc20ContractAddr,\n value: \'0x00\',\n data: approveData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n //----------------------------------------------------------------------------\n //Step2 call swap contract to send htlt transaction on Ethereum\n //----------------------------------------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 1000\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const amount = 10000000000 // 10000000000:PPC\uff0c decimal is 10\n const expectedIncome = 99999000 //"99999000:PPC-00A", decimal is 8, deputy will deduct swap fee, the swap fee is 1000:PPC-00A\n\n const htltData = swapContract.methods.htlt("0x"+randomNumberHash, timestamp, heightSpan, deputyEthWalletAddr, "0x0", hexEncodingClientBNBaddr, amount, expectedIncome).encodeABI()\n nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n gasPrice = await web3.eth.getGasPrice()\n gasLimit = 3000000\n rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: htltData\n }\n ethereumjs = require(\'ethereumjs-tx\')\n signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //Step3 query swap created by deputy on BNB Beacon Chain and verify swap parameters\n //----------------------------------------------------------------------------\n const swapID = calculateSwapID(randomNumberHash.replace("0x", ""), deputyBNBWalletAddr, clientEthWalletAddr).toString()\n console.log(swapID)\n let atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n while (atomicSwapList.result.atomicSwaps[0].swapId != swapID) {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n }\n const atomicSwap = await bnbClient.getSwapByID(swapID)\n console.log(atomicSwap)\n const status = await bnbRPC.status()\n expect(atomicSwap.result.toAddr).toBe(clientBnbWalletAddr)\n expect(atomicSwap.result.randomNumberHash).toBe(randomNumberHash.replace("0x", ""))\n expect(atomicSwap.result.timestamp).toBe(timestamp)\n expect(atomicSwap.result.outAmount).toBe("99999000:PPC-00A")\n expect(Number(atomicSwap.result.expireHeight)).toBeGreaterThan(Number(status.sync_info.latest_block_height)+100)\n\n //----------------------------------------------------------------------------\n //Step4 claim on BNB Beacon Chain \n //----------------------------------------------------------------------------\n const res = await bnbClient.swap.claimHTLT(clientBnbWalletAddr, swapID, randomNumber)\n console.log(res)\n\n //----------------------------------------------------------------------------\n //If step3 or step4 are failed and the expire height on Ethereum is passed, try to call refund method on Ethereum\n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-tokens-from-bnb-beacon-chain-to-ethereum"},"Swap Tokens from BNB Beacon Chain to Ethereum"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193910521",src:a(52273).Z,width:"778",height:"582"})),(0,r.kt)("h4",{id:"1-send-htlt-transaction-from-bnb-beacon-chain"},"1. Send ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," Transaction from BNB Beacon Chain"),(0,r.kt)("p",null,"Please read this ",(0,r.kt)("a",{parentName:"p",href:"#hash-timer-locked-transfer"},"section")," to generate a valid ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction. Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumber")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumberHash"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token HTLT --from atomic --recipient-addr tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr --chain-id Binance-Chain-Ganges --height-span 10000 --amount 9900000000:PPC-00A --expected-income 9900000000:PPC --recipient-other-chain 0x133D144F52705cEb3f5801B63b9EBcCF4102f5Ed --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\nRandom number: 4811959406ea3e69721d944d308880ec41323b7f89e51a78df3693348779315e\nTimestamp: 1569578936\nRandom number hash: b03f256c9efdb97b9815faa1417e1da4cca7672e0bb26e4e7d9bfc82d0f1f15e\nCommitted at block 634510 (\n tx hash: 9DEF124E12DE123BA1CC75AA6E68F20CC48EBBE9D7693CE4D0416267C6C0F159,\n response: {\n Code:0 Data:[229 50 241 60 76 91 112 146 93 68 100 222 83 84 180 133 181 151 241 174 93 125 132 82 245 198 5 66 0 123 32 113]\n Log:Msg 0: swapID: f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2\n ...\n)\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: the swap amount must be positive.")),(0,r.kt)("p",null,"Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"random number"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"random number hash"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"timestamp")," for next steps."),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/tx/9ECECE9E0F08EE78583CFA37FD4C3F03521289F0F229A612886B8B21B9C62D7F"},"here")),(0,r.kt)("p",null,"Then, you can query the the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"SwapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2 --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"You can use this ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," for refund if the deputy doesn't send htlt transaction on ethereum with proper parameters."),(0,r.kt)("h4",{id:"2--deputy-approve-tokens"},"2. Deputy Approve Tokens"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has approve enough amount of tokens for atomic swap."),(0,r.kt)("h4",{id:"3-deputy-send-htlt-on-ethereum"},"3. Deputy Send HTLT on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has sent the ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494"},"transaction")," afterwards"),(0,r.kt)("p",null,"To get the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum, you can check this ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"page"),"\n",(0,r.kt)("strong",{parentName:"p"},"0xd3bacf63906af5459ead39f27cae189e2f3e76fda34523714a4c61d76c79ee4e")," is the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum."),(0,r.kt)("h4",{id:"4-claim-erc20-tokens-on-ethereum"},"4. Claim ERC20 Tokens on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has already approved enough tokens and"),(0,r.kt)("p",null,"In its ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"event log"),", you should see the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),". Before calling ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function on ethereum, clients should verify the parameters in the ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," event."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_randomNumberHash")," must equal to the randomNumberHash in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_recipientAddr")," must equal to client ethereum wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_timestamp")," must equal to the timestamp in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_outAmount")," should be reasonable. Please note that the decimals erc20 contract and deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_expireHeight")," must not be passed and should be enough for send claim transaction")),(0,r.kt)("p",null,"Then, you can call the ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"claim")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_swapID: this has been obtained from event, you can also calculate it from ",(0,r.kt)("inlineCode",{parentName:"li"},"calSwapID")," function in the contract. calSwapID(randomNumberHash, {deputy ethereum address}, {hex encoding client binance address})"),(0,r.kt)("li",{parentName:"ul"},"_randomNumber: reveal your randomNumber")))),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x9cf7cc7891b86987c4eef59e3b4950324d656e6937a38b91786894f52c76f41b"},"here")),(0,r.kt)("h4",{id:"5-deputy-claim-on-bnb-beacon-chain"},"5. Deputy Claim on BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Claim HTLT")," transaction from ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/tx/8C616DEFD2EAA41E13D2DC4844B218DFF8CFE24B4C7A693AAD700381B5FF7B48"},"sent")," afterwards:"),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-bep2-to-erc20"},"6. Demo for Client APP: swap bep2 to erc20"),(0,r.kt)("p",null,"This is a javascript implementation of client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.binance.org/asset/PPC-00A"},"PPC-00A")," to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-2-s1.bnbchain.org/", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 send htlt on BNB Beacon Chain \n //--------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 10000\n const amount = [{\n denom: "PPC-00A",\n amount: 100000000\n }]\n const expectedIncome = "9999990000:PPC" //"9999990000:PPC", decimal is 10, deputy will deduct swap fee, the swap fee is 10000:PPC\n\n bnbClient.swap.HTLT(clientBnbWalletAddr, deputyBNBWalletAddr, clientEthWalletAddr, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n await wait(1000)\n\n //----------------------------------------------------------------------------\n //Step2 query swap created by deputy on Ethereum and verify swap parameters\n //----------------------------------------------------------------------------\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const swapID = await swapContract.methods.calSwapID("0x"+randomNumberHash, deputyEthWalletAddr, hexEncodingClientBNBaddr).call()\n console.log(swapID)\n\n let openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n while (openSwap._randomNumberHash == \'0x0000000000000000000000000000000000000000000000000000000000000000\') {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n }\n let ethBlock = await web3.eth.getBlock(\'latest\')\n let ethLatestHeight = ethBlock.number\n expect(openSwap._randomNumberHash).toBe("0x"+randomNumberHash)\n expect(Number(openSwap._timestamp)).toBe(timestamp)\n expect(Number(openSwap._outAmount)).toBe(9999990000)\n expect(openSwap._recipient).toBe(clientEthWalletAddr)\n expect(Number(openSwap._expireHeight)).toBeGreaterThan(Number(ethLatestHeight)+20)\n\n //----------------------------------------------------------------------------\n //Step3 claim on Ethereum\n //----------------------------------------------------------------------------\n const claimData = swapContract.methods.claim(swapID, "0x"+randomNumber).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: claimData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //If step2 or step3 are failed and the expire height on BNB Beacon Chain is passed, try to send refundHTLT transaction on BNB Beacon Chain \n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens"},"Swap between Several BEP2 tokens"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193422062",src:a(65441).Z,width:"799",height:"374"})),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens-fails"},"Swap between Several BEP2 tokens fails"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193518929",src:a(13745).Z,width:"828",height:"375"})))}m.isMDXComponent=!0},52273:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/bnc2eth-1a89d1368f58b4690f8ab8feb1ce4e4d.png"},60214:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/eth2bnc-7027f7f9453612ac0464d597ca199c09.png"},65441:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/same-chain-aa9d070f81128cb38dfa878047491dbd.png"},13745:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/samechain-fail-5c962e9308de9851a27e1c62beb67e6e.png"}}]);
\ No newline at end of file
diff --git a/assets/js/7d79a86a.b59d4d77.js b/assets/js/7d79a86a.b59d4d77.js
new file mode 100644
index 0000000000..664f167897
--- /dev/null
+++ b/assets/js/7d79a86a.b59d4d77.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[4835],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>b});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),o=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=o(a),c=r,b=u["".concat(p,".").concat(c)]||u[c]||m[c]||s;return a?n.createElement(b,l(l({ref:t},d),{},{components:a})):n.createElement(b,l({ref:t},d))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,l=new Array(s);l[0]=c;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[u]="string"==typeof e?e:r,l[1]=i;for(var o=2;o{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var n=a(83117),r=(a(67294),a(3905));const s={},l=void 0,i={unversionedId:"beaconchain/atomic-swap",id:"beaconchain/atomic-swap",title:"atomic-swap",description:"Introduction",source:"@site/docs/beaconchain/atomic-swap.md",sourceDirName:"beaconchain",slug:"/beaconchain/atomic-swap",permalink:"/docs/beaconchain/atomic-swap",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/atomic-swap.md",tags:[],version:"current",frontMatter:{}},p={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Commands",id:"commands",level:2},{value:"Hash Timer Locked Transfer",id:"hash-timer-locked-transfer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Outputs",id:"outputs",level:4},{value:"Examples",id:"examples",level:4},{value:"Deposit HTLT",id:"deposit-htlt",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Examples",id:"examples-1",level:4},{value:"Claim HTLT",id:"claim-htlt",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Examples",id:"examples-2",level:4},{value:"Refund HTLT",id:"refund-htlt",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Examples",id:"examples-3",level:4},{value:"Query Atomic Swap",id:"query-atomic-swap",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Examples",id:"examples-4",level:4},{value:"Query Atomic Swap ID By Recipient",id:"query-atomic-swap-id-by-recipient",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Examples",id:"examples-5",level:4},{value:"Query Atomic Swap ID By Creator",id:"query-atomic-swap-id-by-creator",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Examples",id:"examples-6",level:4},{value:"Fees",id:"fees",level:2},{value:"Workflows",id:"workflows",level:2},{value:"Preparations",id:"preparations",level:3},{value:"Testnet Deployment",id:"testnet-deployment",level:3},{value:"Swap Tokens from Ethereum to BNB Beacon Chain",id:"swap-tokens-from-ethereum-to-bnb-beacon-chain",level:3},{value:"1. Approve Swap Transaction",id:"1--approve-swap-transaction",level:4},{value:"2. Call HTLT function From Ethereum",id:"2-call-htlt-function-from-ethereum",level:4},{value:"3. Deputy Call HTLT on BNB Beacon Chain",id:"3-deputy-call-htlt-on-bnb-beacon-chain",level:4},{value:"4. Claim HTLT on BNB Beacon Chain",id:"4-claim-htlt-on-bnb-beacon-chain",level:4},{value:"5. Deputy Claim ERC20 Token",id:"5-deputy-claim-erc20-token",level:4},{value:"6. Demo for Client APP: swap erc20 to bep2",id:"6-demo-for-client-app-swap-erc20-to-bep2",level:4},{value:"Swap Tokens from BNB Beacon Chain to Ethereum",id:"swap-tokens-from-bnb-beacon-chain-to-ethereum",level:3},{value:"1. Send HTLT Transaction from BNB Beacon Chain",id:"1-send-htlt-transaction-from-bnb-beacon-chain",level:4},{value:"2. Deputy Approve Tokens",id:"2--deputy-approve-tokens",level:4},{value:"3. Deputy Send HTLT on Ethereum",id:"3-deputy-send-htlt-on-ethereum",level:4},{value:"4. Claim ERC20 Tokens on Ethereum",id:"4-claim-erc20-tokens-on-ethereum",level:4},{value:"5. Deputy Claim on BNB Beacon Chain",id:"5-deputy-claim-on-bnb-beacon-chain",level:4},{value:"6. Demo for Client APP: swap bep2 to erc20",id:"6-demo-for-client-app-swap-bep2-to-erc20",level:4},{value:"Swap between Several BEP2 tokens",id:"swap-between-several-bep2-tokens",level:3},{value:"Swap between Several BEP2 tokens fails",id:"swap-between-several-bep2-tokens-fails",level:3}],d={toc:o},u="wrapper";function m(e){let{components:t,...s}=e;return(0,r.kt)(u,(0,n.Z)({},d,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"introduction"},"Introduction"),(0,r.kt)("p",null,"As explained in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3"),", Hash Timer Locked Contract(HTLC) has been used for Atomic Swap and cross payment channels between different blockchains. BEP3 defines native transactions to support HTLC on BNB Beacon Chain and also proposes the standard infrastructure and procedure to use HTLC for inter-chain atomic swap to easily create and use pegged token.\nDuring the swap process, the related fund will be locked to a purely-code-controlled escrow account.\nA purely-code-controlled escrow account is a kind of account which is derived from a hard-coded string in BNB Beacon Chain protocol. This kind of account doesn't have its own private key and it's only controlled by code of the protocol. The code for calculating escrow account is the same that is used in ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/cosmos/cosmos-sdk/blob/82a2c5d6d86ffd761f0162b93f0aaa57b7f66fe7/x/supply/internal/types/account.go#L40"},"cosmos-sdk"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'AtomicSwapCoinsAccAddr = sdk.AccAddress(crypto.AddressHash([]byte("BinanceChainAtomicSwapCoins")))\n')),(0,r.kt)("p",null,"The account for mainnet is: ",(0,r.kt)("strong",{parentName:"p"},"bnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4f8ge93u")," and the account for testnet is: ",(0,r.kt)("strong",{parentName:"p"},"tbnb1wxeplyw7x8aahy93w96yhwm7xcq3ke4ffasp3d"),". Once the swap is claimed or refunded, the fund will be transferred from the purely-code-controlled escrow account to client accounts."),(0,r.kt)("h2",{id:"commands"},"Commands"),(0,r.kt)("h3",{id:"hash-timer-locked-transfer"},"Hash Timer Locked Transfer"),(0,r.kt)("p",null,"Hash Timer Locked Transfer (HTLT) is a new transaction type on BNB Beacon Chain, to serve as HTLC in the first step of Atomic Swap,"),(0,r.kt)("h4",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the asset is from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Receiver address, where the asset is to, if the proper condition meets."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender-other-chain"),(0,r.kt)("td",{parentName:"tr",align:null},"bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"a byte array, maximum 32 bytes, in any proper encoding. leave it empty for single chain swap"),(0,r.kt)("td",{parentName:"tr",align:null},"Yes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"hash of a random number and timestamp, based on SHA256. If left out, a random value will be generated"),(0,r.kt)("td",{parentName:"tr",align:null},"True")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"Supposed to be the time of sending transaction, counted by second. It should be identical to the one in swap contract. If left out, current timestamp will be used."),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OutAmount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},"similar to the Coins in the original Transfer defined in BEP2, assets to swap out"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ExpectedIncome"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},'Expected income from swap counter party, example: "100:BNB" or "100:BNB,10000:BTCB-1DE" The amount needs to be bumped by e^8'),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HeightSpan"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null},"number of blocks to wait before the asset may be returned to From if not claimed via Random. The number must be larger than or equal to 360 (>2 minutes), and smaller than 518400 (< 48 hours)"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"CrossChain"),(0,r.kt)("td",{parentName:"tr",align:null},"bool"),(0,r.kt)("td",{parentName:"tr",align:null},"Specify if the HTLT is for cross chain atomic swap"),(0,r.kt)("td",{parentName:"tr",align:null},"True, the default value is False")))),(0,r.kt)("h4",{id:"outputs"},"Outputs"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"int64"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Random number hash"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Swap ID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"examples"},"Examples"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Swap between BEP2 tokens")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --recipient-addr --amount 100:BNB --expected-income --height-span --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }]\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400// height span\n const res = client.swap.HTLT(from, recipient, "", "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, false)\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Example output:")),(0,r.kt)("p",null,"Please take a note of returned ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Random number: 927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b\nTimestamp: 1568792486\nRandom number hash: 5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1\nPassword to sign with 'guest':\nCommitted at block 39984169 (\ntx hash: B5A3DD92A40E98745BBE9F608944FE5511B81071B34E9947A754A04A5F378A85,\nresponse: {\n Code:0\n Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n Log:Msg 0: swapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n Info: GasWanted:0 GasUsed:0\n ...\n)\n")),(0,r.kt)("p",null,"Besides, the ",(0,r.kt)("inlineCode",{parentName:"p"},"Data")," field in the committed result is the byte array of ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Data:[77 137 139 200 85 141 170 77 129 116 134 215 169 59 119 178 200 47 206 194 18 58 191 74 30 183 210 82 18 55 236 205]\n\nswapID: 4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Swap from BNB Beacon Chain to Ethereum")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Clients send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-addr --recipient-other-chain --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004"//client ethereum address\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"// 32 bytes random number\n const timestamp = Math.floor(Date.now()/1000)// take the current timestamp\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp)\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Swap from Ethereum to BNB Beacon Chain ")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Once cross-chain is true, --recipient-other-chain must not be empty")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Deputy send HTLT on BNB Beacon Chain on ",(0,r.kt)("em",{parentName:"li"},"testnet"),":")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token HTLT --from --chain-id Binance-Chain-Ganges --height-span --amount --expected-income --recipient-other-chain --sender-other-chain --recipient-addr --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const recipient = "tbnb1prrujx8kkukrcrppklggadhuvegfnx8pemsq77"// recipient address\n const recipientOtherChain="0xfA5E36a04EeF3152092099F352DDbe88953bB540"//client ethereum address\n const senderOtherChain="0x37B8516a0F88E65D677229b402ec6C1e0E333004" //client ethereum address\n const randomNumberHash = "6632eda86c4f19190c8a986e188526eee865e1ce2758ba59c8bf45e20ffa3bb5" //deputy get this value from the event log of swap contract\n const timestamp = 1571383800 //deputy get this value from the event log of swap contract\n const amount = [{\n denom: "BNB",\n amount: 100\n }] // swap out token amount\n const expectedIncome = "100:BNB"// expected income\n const heightSpan = 400 // height span\n const res = client.swap.HTLT(from, recipient, recipientOtherChain, senderOtherChain, randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n')),(0,r.kt)("h3",{id:"deposit-htlt"},"Deposit HTLT"),(0,r.kt)("p",null,"Deposit Hash Timer Locked Transfer is to lock new BEP2 asset to an existed HTLT which is for single chain atomic swap."),(0,r.kt)("h4",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address, where the assets are from"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Amount"),(0,r.kt)("td",{parentName:"tr",align:null},"Coins"),(0,r.kt)("td",{parentName:"tr",align:null},'The swapped out amount BEP2 tokens, example: "100:BNB" or "100:BNB,10000:BTCB-1DE"'),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-1"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token deposit --swap-id --amount 10000:TEST-599 --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const from = "tbnb1hgm0p7khfk85zpz5v0j8wnej3a90w709zzlffd"// sender address\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const amount = [{\n denom: "TEST-599",\n amount: 10000\n }]\n const res = client.swap.depositHTLT(from, swapID, amount)\n')),(0,r.kt)("p",null,"Example output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984686 (tx hash: AA118F7CFCB3FFF86EF5EED8D2B9ADEAC5D9F242497910DAA232BDE5F6A84C1E, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[100 101 112 111 115 105 116 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("p",null,"After the deposit, you may observe that the balance of sender is decreased. The amount in deposit transaction must be positive. Besides, you can query the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and the ",(0,r.kt)("inlineCode",{parentName:"p"},"in_amount")," must equal to the amount that you balance decreased."),(0,r.kt)("h3",{id:"claim-htlt"},"Claim HTLT"),(0,r.kt)("p",null,"Claim Hash Timer Locked Transfer is to claim the locked asset by showing the random number value that matches the hash. Each HTLT locked asset is guaranteed to be release once."),(0,r.kt)("h4",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"RandomNumber"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"The random number to unlock the locked hash, 32 bytes, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-2"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token claim --swap-id --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3" // the random number generated in htlt\n const res = client.swap.claimHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Committed at block 39984971 (tx hash: 15B8625E0247DE54700D3C5C110BE0CE279D33CC13A73845F3E0305758A40902, response: {Code:0 Data:[] Log:Msg 0: Info: GasWanted:0 GasUsed:0 Tags:[{Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 110 107 120 57 57 52 113 118 113 109 113 103 107 53 55 118 103 117 113 104 54 122 106 108 97 99 113 122 120 100 107 117 101 53 122 106 121 120] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[115 101 110 100 101 114] Value:[116 98 110 98 49 119 120 101 112 108 121 119 55 120 56 97 97 104 121 57 51 119 57 54 121 104 119 109 55 120 99 113 51 107 101 52 102 102 97 115 112 51 100] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[114 101 99 105 112 105 101 110 116] Value:[116 98 110 98 49 103 57 114 122 99 48 101 50 106 102 56 101 102 51 113 112 57 97 120 56 104 48 112 109 112 109 118 106 122 119 109 116 113 52 106 120 102 114] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0} {Key:[97 99 116 105 111 110] Value:[99 108 97 105 109 72 84 76 84] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})\n")),(0,r.kt)("h3",{id:"refund-htlt"},"Refund HTLT"),(0,r.kt)("p",null,"Refund Hash Timer Locked Transfer is to refund the locked asset after timelock is expired."),(0,r.kt)("h4",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"From"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Sender address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-3"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("p",null,"Command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"./tbnbcli token refund --swap-id --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Javascript:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const client = new BncClient("https://testnet-dex.binance.org")\n const privateKey = crypto.getPrivateKeyFromMnemonic(mnemonic)\n client.setPrivateKey(privateKey)\n const swapID = "61daf59e977c5f718f5aaedeaf69ccbea1c376db5274a84bca88848696164ffe" // the ID of an existing swap\n const res = client.swap.refundHTLT(from, swapID, randomNumber)\n')),(0,r.kt)("p",null,"Common error:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Already complete")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},'ERROR: {"codespace":8,"code":12,"abci_code":524300,"message":"Expected swap status is Open, actually it is Completed"}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Not expired")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'ERROR: {"codespace":8,"code":8,"abci_code":524296,"message":"Current block height is 40003412, the expire height (40013236) is still not reached"}\n')),(0,r.kt)("h3",{id:"query-atomic-swap"},"Query Atomic Swap"),(0,r.kt)("p",null,"Query atomic swap allows you to search swap information by ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")),(0,r.kt)("h4",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SwapID"),(0,r.kt)("td",{parentName:"tr",align:null},"32 bytes"),(0,r.kt)("td",{parentName:"tr",align:null},"ID of previously created swap, hex encoding"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-4"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Expected output"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json"},'{\n "from": "tbnb1g9rzc0e2jf8ef3qp9ax8h0pmpmvjzwmtq4jxfr",\n "to": "tbnb1nkx994qvqmqgk57vguqh6zjlacqzxdkue5zjyx",\n "out_amount": [\n {\n "denom": "BNB",\n "amount": "100"\n }\n ],\n "in_amount": [\n {\n "denom": "TEST-599",\n "amount": "10000"\n }\n ],\n "expected_income": "10000:TEST-599",\n "recipient_other_chain": "",\n "random_number_hash": "5768702259ee55983378d7b8207890c666648264524b9dada551386f832ba6b1",\n "random_number": "927c1ac33100bdbb001de19c626a05a7c3c11304fc825f5eabb22e741507711b",\n "timestamp": "1568792486",\n "cross_chain": false,\n "expire_height": "39994169",\n "index": "53",\n "closed_time": "1568792927",\n "status": "Completed"\n}\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-recipient"},"Query Atomic Swap ID By Recipient"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an recipient. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"recipient-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap recipient address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-5"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-recipient --recipient-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "4d898bc8558daa4d817486d7a93b77b2c82fcec2123abf4a1eb7d2521237eccd",\n "e7cc2e2eb025cc4617ff0bb84fcffc973d7ba34f15dbc51383fe3543ff143e9c"\n]\n')),(0,r.kt)("h3",{id:"query-atomic-swap-id-by-creator"},"Query Atomic Swap ID By Creator"),(0,r.kt)("p",null,"Query atomic swap ID allows you to search swap history of an initiator. As this is a heavy query interface, some public nodes might close this query interface."),(0,r.kt)("h4",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"creator-addr"),(0,r.kt)("td",{parentName:"tr",align:null},"Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Swap creator address"),(0,r.kt)("td",{parentName:"tr",align:null},"No")))),(0,r.kt)("h4",{id:"examples-6"},"Examples"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"On testnet:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swapIDs-by-creator --creator-addr --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'[\n "7341d4ea0519af90d98f60fee45fdc7e385621875ea982bc8caf1fd7a49af8c3",\n "290664c1e8123966d8f9050fdc9d93e94b0e51b36e2e2a6978e492d3796423f1",\n "b260dad3cf63e558fe102a050afbe52d5dd2e30c7db76da33d02ce5f85d07fcf",\n "2b532bf9171c4d33d80fc4a8d6603581a86345b41552337482224d8476fcf5f7",\n "20d22bbfa579520f0ba79cd176fb2b06aa8dbe5b0a6ba8c9b761129f6a42a94c"\n]\n')),(0,r.kt)("h2",{id:"fees"},"Fees"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000375 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")))),(0,r.kt)("h2",{id:"workflows"},"Workflows"),(0,r.kt)("h3",{id:"preparations"},"Preparations"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Deploy smart-contract which supports Atomic Peg Swap (APS), there is already ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"one example")," for Ethereum"),(0,r.kt)("li",{parentName:"ol"},"Deploy ",(0,r.kt)("inlineCode",{parentName:"li"},"deputy")," process for handling swap activities by token owners, there is an existing open-source solution here: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"https://github.com/bnb-chain/bep3-deputy")),(0,r.kt)("li",{parentName:"ol"},"Issue and transfer enough tokens")),(0,r.kt)("h3",{id:"testnet-deployment"},"Testnet Deployment"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ERC20 contract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098")),(0,r.kt)("li",{parentName:"ul"},"Token Symbol: ",(0,r.kt)("strong",{parentName:"li"},"PPC")),(0,r.kt)("li",{parentName:"ul"},"SmartContract has been deployed here: ",(0,r.kt)("a",{parentName:"li",href:"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad"},"https://ropsten.etherscan.io/address/0x12dcbf79be178479870a473a99d91f535ed960ad")),(0,r.kt)("li",{parentName:"ul"},"Its corresponding address on testnet is: ",(0,r.kt)("inlineCode",{parentName:"li"},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"),"on BNB Beacon Chain and ",(0,r.kt)("inlineCode",{parentName:"li"},"0xD93395B2771914E1679155F3EA58C41d89D96098")," on Ethereum testnet")),(0,r.kt)("h3",{id:"swap-tokens-from-ethereum-to-bnb-beacon-chain"},"Swap Tokens from Ethereum to BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193751444",src:a(60214).Z,width:"874",height:"684"})),(0,r.kt)("h4",{id:"1--approve-swap-transaction"},"1. Approve Swap Transaction"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"this page")," and approve some amount of tokens."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"Approve")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_spender: address of the smartcontract, which is ",(0,r.kt)("inlineCode",{parentName:"li"},"0x12DCBf79BE178479870A473A99d91f535ed960AD")),(0,r.kt)("li",{parentName:"ul"},"_value: approved amount, should be bumped by e^10")))),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: Please approve more than 1 token. In the following example, 100 PPC token was approved:")),(0,r.kt)("p",null,"Example of approve 100 PPC on ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xfa640b382d3842cf508ac347090d2550e35e2193804d2a9318fbbdcdd54c846b"},"ropsten testnet")),(0,r.kt)("h4",{id:"2-call-htlt-function-from-ethereum"},"2. Call ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," function From Ethereum"),(0,r.kt)("p",null,"Go to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098#writeContract"},"smartcontract")," and call ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," function"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"htlt")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_randomNumberHash: SHA256(randomNumber||timestamp), randomNumber is 32-length random byte array"),(0,r.kt)("li",{parentName:"ul"},"_timestamp: it should be about 10 mins span around current timestamp"),(0,r.kt)("li",{parentName:"ul"},"_heightSpan: it's a customized filed for deputy operator. it should be more than 200 for this deputy."),(0,r.kt)("li",{parentName:"ul"},"_recipientAddr: deputy address on Ethereum, it's ",(0,r.kt)("inlineCode",{parentName:"li"},"0x1C002969Fe201975eD8F054916b071672326858e")," for this one"),(0,r.kt)("li",{parentName:"ul"},"_bep2SenderAddr: omit this field with ",(0,r.kt)("inlineCode",{parentName:"li"},"0x0")),(0,r.kt)("li",{parentName:"ul"},"_bep2RecipientAddr: Decode your testnet address from bech32 encoded to hex, for example: 0xc41f2a85e1d3629637de1222017dce46c6c8e4b9"),(0,r.kt)("li",{parentName:"ul"},"_outAmount: approved amount, should be bumped by e^10"),(0,r.kt)("li",{parentName:"ul"},"_bep2Amount: _outAmount * exchange rate, the default rate is 1")))),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0xa2444cc1e52e09027ec68bf8955e7084235255f9f18d9b837a12fd63e6f0145c"},"transaction")),(0,r.kt)("h4",{id:"3-deputy-call-htlt-on-bnb-beacon-chain"},"3. Deputy Call HTLT on BNB Beacon Chain"),(0,r.kt)("p",null,"Then, Deputy will send ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/tx/99CBC2896F0CF14DDAB0684BDA0A3E9FF2271056E68EC3559AB7FB24E0EE97DE"},"here")),(0,r.kt)("h4",{id:"4-claim-htlt-on-bnb-beacon-chain"},"4. Claim HTLT on BNB Beacon Chain"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Get the ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID")," on BNB Beacon Chain ")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'./tbnbcli token query-swapIDs-by-recipient --recipient-addr tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n[\n "12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128"\n]\n')),(0,r.kt)("p",null,"You can also get swapID by ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/javascript-sdk/blob/91b4d39e96e6433c16a3a1288931f84923075543/src/utils/index.js#L266"},"calculateSwapID in javascript-sdk"),". It requires three parameters:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"randomNumberHash in client HTLT transaction on Ethereum"),(0,r.kt)("td",{parentName:"tr",align:null},"5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"sender"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"deputy bep2 address"),(0,r.kt)("td",{parentName:"tr",align:null},"tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"senderOtherChain"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"client ethereum address"),(0,r.kt)("td",{parentName:"tr",align:null},"0x133d144f52705ceb3f5801b63b9ebccf4102f5ed")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Query the swap by ",(0,r.kt)("inlineCode",{parentName:"li"},"swapID"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'{\n "from": "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr",\n "to": "tbnb1cs0j4p0p6d3fvd77zg3qzlwwgmrv3e9e63423w",\n "out_amount": [\n {\n "denom": "PPC-00A",\n "amount": "9999999000"\n }\n ],\n "in_amount": null,\n "expected_income": "",\n "recipient_other_chain": "0x1C002969Fe201975eD8F054916b071672326858e",\n "random_number_hash": "5a3728a8f4ecb8b4cb0b983a9441b7d69f95229c4aa531e6e3827d7c19beac82",\n "random_number": "",\n "timestamp": "1569497984",\n "cross_chain": true,\n "expire_height": "41380567",\n "index": "1947",\n "closed_time": "",\n "status": "Open"\n}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Verify parameters in the swap:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"random_number_hash")," must equal to the randomNumberHash in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"to")," must equals to client wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"timestamp")," must equal to the timestamp in client HTLT transaction on ethereum"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"out_amount")," should be reasonable. Please note that the decimals of bep2 tokens is 8, the out_amount should be something around 10000000000:PPC, deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"expire_height")," must not be passed and should be enough for send claim transaction"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Send claim transaction on BNB Beacon Chain "))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token claim --swap-id 12aacc3bdc2cef97e8e45cc9b409796df57904a4e9c76863ad8420ff75f13128 --random-number --from --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"Example of ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," tx on ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-dex.binance.org/api/v1/tx/6BA714E6D107F1D9634DDC159F560A1FB61393B8E15723EFD70B9EA8B0B1AA9A?format=json"},"testnet")),(0,r.kt)("h4",{id:"5-deputy-claim-erc20-token"},"5. Deputy Claim ERC20 Token"),(0,r.kt)("p",null,"Deputy will claim ERC20 tokens afterwards with ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x3a422bdb273d4eb4d112ae8e51e8acd3ad706b2af67af20a5f15a18e4acc70fc"},"claim transaction")),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-erc20-to-bep2"},"6. Demo for Client APP: swap erc20 to bep2"),(0,r.kt)("p",null,"This is a javascript implementation for client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," to ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/asset/PPC-00A"},"PPC-00A")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-2-s1.bnbchain.org/", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 approve erc20 to swap contract address\n //--------------------------------------------\n const approveData = erc20Contract.methods.increaseAllowance(swapContractAddr, 10000000000).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: erc20ContractAddr,\n value: \'0x00\',\n data: approveData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n //----------------------------------------------------------------------------\n //Step2 call swap contract to send htlt transaction on Ethereum\n //----------------------------------------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 1000\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const amount = 10000000000 // 10000000000:PPC\uff0c decimal is 10\n const expectedIncome = 99999000 //"99999000:PPC-00A", decimal is 8, deputy will deduct swap fee, the swap fee is 1000:PPC-00A\n\n const htltData = swapContract.methods.htlt("0x"+randomNumberHash, timestamp, heightSpan, deputyEthWalletAddr, "0x0", hexEncodingClientBNBaddr, amount, expectedIncome).encodeABI()\n nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n gasPrice = await web3.eth.getGasPrice()\n gasLimit = 3000000\n rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: htltData\n }\n ethereumjs = require(\'ethereumjs-tx\')\n signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //Step3 query swap created by deputy on BNB Beacon Chain and verify swap parameters\n //----------------------------------------------------------------------------\n const swapID = calculateSwapID(randomNumberHash.replace("0x", ""), deputyBNBWalletAddr, clientEthWalletAddr).toString()\n console.log(swapID)\n let atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n while (atomicSwapList.result.atomicSwaps[0].swapId != swapID) {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n atomicSwapList = await bnbClient.getSwapByRecipient(clientBnbWalletAddr,1000, 0)\n }\n const atomicSwap = await bnbClient.getSwapByID(swapID)\n console.log(atomicSwap)\n const status = await bnbRPC.status()\n expect(atomicSwap.result.toAddr).toBe(clientBnbWalletAddr)\n expect(atomicSwap.result.randomNumberHash).toBe(randomNumberHash.replace("0x", ""))\n expect(atomicSwap.result.timestamp).toBe(timestamp)\n expect(atomicSwap.result.outAmount).toBe("99999000:PPC-00A")\n expect(Number(atomicSwap.result.expireHeight)).toBeGreaterThan(Number(status.sync_info.latest_block_height)+100)\n\n //----------------------------------------------------------------------------\n //Step4 claim on BNB Beacon Chain \n //----------------------------------------------------------------------------\n const res = await bnbClient.swap.claimHTLT(clientBnbWalletAddr, swapID, randomNumber)\n console.log(res)\n\n //----------------------------------------------------------------------------\n //If step3 or step4 are failed and the expire height on Ethereum is passed, try to call refund method on Ethereum\n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-tokens-from-bnb-beacon-chain-to-ethereum"},"Swap Tokens from BNB Beacon Chain to Ethereum"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193910521",src:a(52273).Z,width:"778",height:"582"})),(0,r.kt)("h4",{id:"1-send-htlt-transaction-from-bnb-beacon-chain"},"1. Send ",(0,r.kt)("inlineCode",{parentName:"h4"},"HTLT")," Transaction from BNB Beacon Chain"),(0,r.kt)("p",null,"Please read this ",(0,r.kt)("a",{parentName:"p",href:"#hash-timer-locked-transfer"},"section")," to generate a valid ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," transaction. Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumber")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"randomNumberHash"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token HTLT --from atomic --recipient-addr tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr --chain-id Binance-Chain-Ganges --height-span 10000 --amount 9900000000:PPC-00A --expected-income 9900000000:PPC --recipient-other-chain 0x133D144F52705cEb3f5801B63b9EBcCF4102f5Ed --cross-chain --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\nRandom number: 4811959406ea3e69721d944d308880ec41323b7f89e51a78df3693348779315e\nTimestamp: 1569578936\nRandom number hash: b03f256c9efdb97b9815faa1417e1da4cca7672e0bb26e4e7d9bfc82d0f1f15e\nCommitted at block 634510 (\n tx hash: 9DEF124E12DE123BA1CC75AA6E68F20CC48EBBE9D7693CE4D0416267C6C0F159,\n response: {\n Code:0 Data:[229 50 241 60 76 91 112 146 93 68 100 222 83 84 180 133 181 151 241 174 93 125 132 82 245 198 5 66 0 123 32 113]\n Log:Msg 0: swapID: f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2\n ...\n)\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Note: the swap amount must be positive.")),(0,r.kt)("p",null,"Please write down the ",(0,r.kt)("inlineCode",{parentName:"p"},"random number"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"random number hash"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"timestamp")," for next steps."),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/tx/9ECECE9E0F08EE78583CFA37FD4C3F03521289F0F229A612886B8B21B9C62D7F"},"here")),(0,r.kt)("p",null,"Then, you can query the the swap by ",(0,r.kt)("inlineCode",{parentName:"p"},"SwapID"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"./tbnbcli token query-swap --swap-id f85dd907df0a5897927b949c0f9e2563d453ba698ff9941fed1ce91f8057afc2 --chain-id Binance-Chain-Ganges --trust-node --node http://data-seed-pre-0-s3.bnbchain.org:80\n")),(0,r.kt)("p",null,"You can use this ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," for refund if the deputy doesn't send htlt transaction on ethereum with proper parameters."),(0,r.kt)("h4",{id:"2--deputy-approve-tokens"},"2. Deputy Approve Tokens"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has approve enough amount of tokens for atomic swap."),(0,r.kt)("h4",{id:"3-deputy-send-htlt-on-ethereum"},"3. Deputy Send HTLT on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has sent the ",(0,r.kt)("inlineCode",{parentName:"p"},"htlt")," ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494"},"transaction")," afterwards"),(0,r.kt)("p",null,"To get the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum, you can check this ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"page"),"\n",(0,r.kt)("strong",{parentName:"p"},"0xd3bacf63906af5459ead39f27cae189e2f3e76fda34523714a4c61d76c79ee4e")," is the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID")," on Ethereum."),(0,r.kt)("h4",{id:"4-claim-erc20-tokens-on-ethereum"},"4. Claim ERC20 Tokens on Ethereum"),(0,r.kt)("p",null,"You should see that ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," has already approved enough tokens and"),(0,r.kt)("p",null,"In its ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x142fb8db7eb66feb241ca710a028678e36595fc8aea03858672288fcac8e4494#eventlog"},"event log"),", you should see the ",(0,r.kt)("inlineCode",{parentName:"p"},"swapID"),". Before calling ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function on ethereum, clients should verify the parameters in the ",(0,r.kt)("inlineCode",{parentName:"p"},"HTLT")," event."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_randomNumberHash")," must equal to the randomNumberHash in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_recipientAddr")," must equal to client ethereum wallet address"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_timestamp")," must equal to the timestamp in client HTLT transaction on BNB Beacon Chain "),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_outAmount")," should be reasonable. Please note that the decimals erc20 contract and deputy will deduct some fees."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"_expireHeight")," must not be passed and should be enough for send claim transaction")),(0,r.kt)("p",null,"Then, you can call the ",(0,r.kt)("inlineCode",{parentName:"p"},"claim")," function:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Function: ",(0,r.kt)("em",{parentName:"li"},"claim")),(0,r.kt)("li",{parentName:"ul"},"Parameters:",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"_swapID: this has been obtained from event, you can also calculate it from ",(0,r.kt)("inlineCode",{parentName:"li"},"calSwapID")," function in the contract. calSwapID(randomNumberHash, {deputy ethereum address}, {hex encoding client binance address})"),(0,r.kt)("li",{parentName:"ul"},"_randomNumber: reveal your randomNumber")))),(0,r.kt)("p",null,"Example is ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/tx/0x9cf7cc7891b86987c4eef59e3b4950324d656e6937a38b91786894f52c76f41b"},"here")),(0,r.kt)("h4",{id:"5-deputy-claim-on-bnb-beacon-chain"},"5. Deputy Claim on BNB Beacon Chain"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Claim HTLT")," transaction from ",(0,r.kt)("strong",{parentName:"p"},"Deputy")," is ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/tx/8C616DEFD2EAA41E13D2DC4844B218DFF8CFE24B4C7A693AAD700381B5FF7B48"},"sent")," afterwards:"),(0,r.kt)("h4",{id:"6-demo-for-client-app-swap-bep2-to-erc20"},"6. Demo for Client APP: swap bep2 to erc20"),(0,r.kt)("p",null,"This is a javascript implementation of client app to swap ",(0,r.kt)("a",{parentName:"p",href:"https://testnet-explorer.bnbchain.org/asset/PPC-00A"},"PPC-00A")," to ",(0,r.kt)("a",{parentName:"p",href:"https://ropsten.etherscan.io/address/0xd93395b2771914e1679155f3ea58c41d89d96098"},"PPC")," with deputy."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},' const erc20ContractAddr = "0xd93395b2771914e1679155f3ea58c41d89d96098"\n const swapContractAddr = "0x12DCBf79BE178479870A473A99d91f535ed960AD"\n\n const deputyEthWalletAddr = "0x1C002969Fe201975eD8F054916b071672326858e"\n const deputyBNBWalletAddr = "tbnb1pk45lc2k7lmf0pnfa59l0uhwrvpk8shsema7gr"\n\n const clientEthWalletAddr = "0xfA5E36a04EeF3152092099F352DDbe88953bB540"\n const clientEthWalletKey = new Buffer("89A0F0E0732ACAA7AD37C9E6D7A9798ECCE6940C63FF0290A58B1C1C1697486A", "hex")\n\n const clientBnbWalletAddr = "tbnb17vwyu8npjj5pywh3keq2lm7d4v76n434pwd8av"\n const clientBnbWalletMnemonic = "lawsuit margin siege phrase fabric matrix like picnic day thrive correct velvet stool type broom upon flee fee ten senior install wrestle soap sick"\n\n const web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/1c5b38a27f92410cb5feb13b6efb2e14"))\n const bnbClient = new BncClient("https://testnet-dex.binance.org")\n await bnbClient.initChain()\n bnbClient.setPrivateKey(crypto.getPrivateKeyFromMnemonic(clientBnbWalletMnemonic))\n bnbClient.useDefaultSigningDelegate()\n bnbClient.useDefaultBroadcastDelegate()\n const bnbRPC = new rpcClient("https://data-seed-pre-2-s1.bnbchain.org/", "testnet")\n\n const erc20Contract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}],erc20ContractAddr)\n const swapContract = new web3.eth.Contract([{"constant":true,"inputs":[],"name":"ERC20ContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"isSwapExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_swapSender","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"}],"name":"calSwapID","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_swapID","type":"bytes32"},{"name":"_randomNumber","type":"bytes32"}],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_heightSpan","type":"uint256"},{"name":"_recipientAddr","type":"address"},{"name":"_bep2SenderAddr","type":"bytes20"},{"name":"_bep2RecipientAddr","type":"bytes20"},{"name":"_outAmount","type":"uint256"},{"name":"_bep2Amount","type":"uint256"}],"name":"htlt","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"claimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"refundable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_swapID","type":"bytes32"}],"name":"queryOpenSwap","outputs":[{"name":"_randomNumberHash","type":"bytes32"},{"name":"_timestamp","type":"uint64"},{"name":"_expireHeight","type":"uint256"},{"name":"_outAmount","type":"uint256"},{"name":"_sender","type":"address"},{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_erc20Contract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_timestamp","type":"uint64"},{"indexed":false,"name":"_bep2Addr","type":"bytes20"},{"indexed":false,"name":"_expireHeight","type":"uint256"},{"indexed":false,"name":"_outAmount","type":"uint256"},{"indexed":false,"name":"_bep2Amount","type":"uint256"}],"name":"HTLT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_msgSender","type":"address"},{"indexed":true,"name":"_recipientAddr","type":"address"},{"indexed":true,"name":"_swapID","type":"bytes32"},{"indexed":false,"name":"_randomNumberHash","type":"bytes32"},{"indexed":false,"name":"_randomNumber","type":"bytes32"}],"name":"Claimed","type":"event"}], swapContractAddr)\n\n //--------------------------------------------\n //Step1 send htlt on BNB Beacon Chain \n //--------------------------------------------\n const randomNumber = "e8eae926261ab77d018202434791a335249b470246a7b02e28c3b2fb6ffad8f3"\n const timestamp = Math.floor(Date.now()/1000)\n const randomNumberHash = calculateRandomNumberHash(randomNumber, timestamp).toString("hex")\n const heightSpan = 10000\n const amount = [{\n denom: "PPC-00A",\n amount: 100000000\n }]\n const expectedIncome = "9999990000:PPC" //"9999990000:PPC", decimal is 10, deputy will deduct swap fee, the swap fee is 10000:PPC\n\n bnbClient.swap.HTLT(clientBnbWalletAddr, deputyBNBWalletAddr, clientEthWalletAddr, "", randomNumberHash, timestamp, amount, expectedIncome, heightSpan, true)\n await wait(1000)\n\n //----------------------------------------------------------------------------\n //Step2 query swap created by deputy on Ethereum and verify swap parameters\n //----------------------------------------------------------------------------\n const hexEncodingClientBNBaddr = \'0x\'+crypto.decodeAddress(clientBnbWalletAddr).toString("hex")\n const swapID = await swapContract.methods.calSwapID("0x"+randomNumberHash, deputyEthWalletAddr, hexEncodingClientBNBaddr).call()\n console.log(swapID)\n\n let openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n while (openSwap._randomNumberHash == \'0x0000000000000000000000000000000000000000000000000000000000000000\') {\n console.log("Waiting for the atomic swap created by deputy")\n await wait(5000)\n openSwap = await swapContract.methods.queryOpenSwap(swapID).call()\n }\n let ethBlock = await web3.eth.getBlock(\'latest\')\n let ethLatestHeight = ethBlock.number\n expect(openSwap._randomNumberHash).toBe("0x"+randomNumberHash)\n expect(Number(openSwap._timestamp)).toBe(timestamp)\n expect(Number(openSwap._outAmount)).toBe(9999990000)\n expect(openSwap._recipient).toBe(clientEthWalletAddr)\n expect(Number(openSwap._expireHeight)).toBeGreaterThan(Number(ethLatestHeight)+20)\n\n //----------------------------------------------------------------------------\n //Step3 claim on Ethereum\n //----------------------------------------------------------------------------\n const claimData = swapContract.methods.claim(swapID, "0x"+randomNumber).encodeABI()\n let nonce = await web3.eth.getTransactionCount(clientEthWalletAddr, \'pending\')\n let gasPrice = await web3.eth.getGasPrice()\n let gasLimit = 3000000\n let rawTx = {\n nonce: web3.utils.toHex(nonce),\n gasPrice: web3.utils.toHex(gasPrice),\n gasLimit: web3.utils.toHex(gasLimit),\n to: swapContractAddr,\n value: \'0x00\',\n data: claimData\n }\n var ethereumjs = require(\'ethereumjs-tx\')\n var signTx = new ethereumjs(rawTx)\n signTx.sign(clientEthWalletKey)\n var serializedTx = signTx.serialize();\n web3.eth.sendSignedTransaction(\'0x\' + serializedTx.toString(\'hex\')).on(\'receipt\', console.log)\n await wait(20000)\n\n //----------------------------------------------------------------------------\n //If step2 or step3 are failed and the expire height on BNB Beacon Chain is passed, try to send refundHTLT transaction on BNB Beacon Chain \n //----------------------------------------------------------------------------\n')),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens"},"Swap between Several BEP2 tokens"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193422062",src:a(65441).Z,width:"799",height:"374"})),(0,r.kt)("h3",{id:"swap-between-several-bep2-tokens-fails"},"Swap between Several BEP2 tokens fails"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image-20190918193518929",src:a(13745).Z,width:"828",height:"375"})))}m.isMDXComponent=!0},52273:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/bnc2eth-1a89d1368f58b4690f8ab8feb1ce4e4d.png"},60214:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/eth2bnc-7027f7f9453612ac0464d597ca199c09.png"},65441:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/same-chain-aa9d070f81128cb38dfa878047491dbd.png"},13745:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/samechain-fail-5c962e9308de9851a27e1c62beb67e6e.png"}}]);
\ No newline at end of file
diff --git a/assets/js/820a1e19.da91ab7a.js b/assets/js/820a1e19.e11012f2.js
similarity index 94%
rename from assets/js/820a1e19.da91ab7a.js
rename to assets/js/820a1e19.e11012f2.js
index c3c8bab358..259ad97848 100644
--- a/assets/js/820a1e19.da91ab7a.js
+++ b/assets/js/820a1e19.e11012f2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[3479],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>k});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var d=n.createContext({}),N=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},s=function(t){var e=N(t.components);return n.createElement(d.Provider,{value:e},t.children)},p="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,s=o(t,["components","mdxType","originalType","parentName"]),p=N(a),m=r,k=p["".concat(d,".").concat(m)]||p[m]||u[m]||l;return a?n.createElement(k,i(i({ref:e},s),{},{components:a})):n.createElement(k,i({ref:e},s))}));function k(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var d in e)hasOwnProperty.call(e,d)&&(o[d]=e[d]);o.originalType=t,o[p]="string"==typeof t?t:r,i[1]=o;for(var N=2;N{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>N});var n=a(83117),r=(a(67294),a(3905));const l={},i="BNB Beacon Chain FAQ",o={unversionedId:"beaconchain/faq/faq",id:"beaconchain/faq/faq",title:"BNB Beacon Chain FAQ",description:"What is BNB Beacon Chain and Binance DEX?",source:"@site/docs/beaconchain/faq/faq.md",sourceDirName:"beaconchain/faq",slug:"/beaconchain/faq/",permalink:"/docs/beaconchain/faq/",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/faq/faq.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"Binance Extension Wallet FAQs",permalink:"/docs/faq"},next:{title:"How to Contribute",permalink:"/docs/contribute"}},d={},N=[{value:"What is BNB Beacon Chain and Binance DEX?",id:"what-is-bnb-beacon-chain-and-binance-dex",level:2},{value:"What is the design principle of BNB Beacon Chain?",id:"what-is-the-design-principle-of-bnb-beacon-chain",level:2},{value:"What can you do on BNB Beacon Chain?",id:"what-can-you-do-on-bnb-beacon-chain",level:2},{value:"Will BNB Beacon Chain introduce more features and transaction types in the future?",id:"will-bnb-beacon-chain-introduce-more-features-and-transaction-types-in-the-future",level:2},{value:"What is the native coin on BNB Beacon Chain?",id:"what-is-the-native-coin-on-bnb-beacon-chain",level:2},{value:"What is the current Fee Table on BNB Beacon Chain Mainnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain-mainnet",level:2},{value:"What is the current Fee Table on BNB Beacon Chain Testnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain-testnet",level:2},{value:"Can I see balances of others or can other people see my balances?",id:"can-i-see-balances-of-others-or-can-other-people-see-my-balances",level:2},{value:"Information provided through API and their usage",id:"information-provided-through-api-and-their-usage",level:2},{value:"Is there any limit to using the API to send orders or check market data?",id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data",level:3},{value:"What does Wallet and API cost to use?",id:"what-does-wallet-and-api-cost-to-use",level:3},{value:"I forgot the private key for my address, how can I get it back?",id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back",level:2},{value:"My private key got stolen by hackers, how can I recover my assets?",id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets",level:2},{value:"What is the Accelerated Node?",id:"what-is-the-accelerated-node",level:2},{value:"How can I issue an asset?",id:"how-can-i-issue-an-asset",level:2},{value:"What is the consensus algorithm used on BNB Beacon Chain?",id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain",level:2},{value:"Can I run a full node for BNB Beacon Chain?",id:"can-i-run-a-full-node-for-bnb-beacon-chain",level:2},{value:"Does BNB Beacon Chain support Smart Contracts?",id:"does-bnb-beacon-chain-support-smart-contracts",level:2},{value:"How can I transfer tokens, such as Bitcoin, from other blockchains onto BNB Beacon Chain?",id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-blockchains-onto-bnb-beacon-chain",level:2},{value:"How would a third-party integrate with BNB Beacon Chain and Binance DEX?",id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex",level:2}],s={toc:N},p="wrapper";function u(t){let{components:e,...a}=t;return(0,r.kt)(p,(0,n.Z)({},s,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-faq"},"BNB Beacon Chain FAQ"),(0,r.kt)("h2",{id:"what-is-bnb-beacon-chain-and-binance-dex"},"What is BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"BNB Beacon Chain is the blockchain initially developed by Binance and community. Binance DEX, which is disabled now, is the\ndecentralized exchange module developed on top of the BNB Beacon Chain blockchain."),(0,r.kt)("h2",{id:"what-is-the-design-principle-of-bnb-beacon-chain"},"What is the design principle of BNB Beacon Chain?"),(0,r.kt)("p",null,"The main focuses for the design of BNB Beacon Chain are:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"No custody of funds:")," traders maintain control of their private keys and funds."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"High performance:")," low latency, high throughput for a large user base, and high liquidity trading.\nWe target to achieve 1 second block times, with 1 confirmation finality."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Low cost:")," in both fees and liquidity cost."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Easy user experience:")," super user friendly UI for a better experience."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Fair trading:")," minimize front-running, to the extent possible."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Evolvable:")," able to develop with forever-improving technology stack, architecture, and ideas.")),(0,r.kt)("h2",{id:"what-can-you-do-on-bnb-beacon-chain"},"What can you do on BNB Beacon Chain?"),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send and receive BNB"),(0,r.kt)("li",{parentName:"ul"},"Issue new tokens"),(0,r.kt)("li",{parentName:"ul"},"Send, receive, burn/mint and freeze/unfreeze tokens")),(0,r.kt)("h2",{id:"will-bnb-beacon-chain-introduce-more-features-and-transaction-types-in-the-future"},"Will BNB Beacon Chain introduce more features and transaction types in the future?"),(0,r.kt)("p",null,"Yes, BNB Beacon Chain team and community would cherish the technology advancements and recommended trends and strive to make circulation of assets and value easier and easier."),(0,r.kt)("h2",{id:"what-is-the-native-coin-on-bnb-beacon-chain"},"What is the native coin on BNB Beacon Chain?"),(0,r.kt)("p",null,"BNB is the native asset on BNB Beacon Chain. There are 200M BNB coins in total. There will be no mining. The existing coin burns and freezes will still be in effect on the new BNB Beacon Chain blockchain."),(0,r.kt)("p",null,"The exact number of BNB coins will be destroyed based on the same number of BNB ERC20 tokens that have already been destroyed."),(0,r.kt)("p",null,"Since BNB Beacon Chain is live, all BNB ERC20 tokens will be swapped for BNB Beacon Chain coins. All users who hold BNB ERC20 tokens can deposit them to Binance.com, and upon withdrawal, the new\nBNB Beacon Chain native coins will be sent to their new wallets."),(0,r.kt)("h2",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain-mainnet"},"What is the current Fee Table on BNB Beacon Chain Mainnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for ",(0,r.kt)("strong",{parentName:"p"},"Mainnet")," as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-21")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h2",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain-testnet"},"What is the current Fee Table on BNB Beacon Chain Testnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for Testnet as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-17")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h2",{id:"can-i-see-balances-of-others-or-can-other-people-see-my-balances"},"Can I see balances of others or can other people see my balances?"),(0,r.kt)("p",null,"Yes, anyone can see anyone's balances if they know the corresponding addresses.\nBNB Beacon Chain is 100% transparent for transactions and balances."),(0,r.kt)("h2",{id:"information-provided-through-api-and-their-usage"},"Information provided through API and their usage"),(0,r.kt)("h3",{id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data"},"Is there any limit to using the API to send orders or check market data?"),(0,r.kt)("p",null,"Yes, there are rate limits to ensure there is no waste or abuse of the network infrastructure.",(0,r.kt)("br",null),"\nPlease check the API documentation."),(0,r.kt)("h3",{id:"what-does-wallet-and-api-cost-to-use"},"What does Wallet and API cost to use?"),(0,r.kt)("p",null,"No fee or commission at all (free to use)."),(0,r.kt)("h2",{id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back"},"I forgot the private key for my address, how can I get it back?"),(0,r.kt)("p",null,"Sorry, you cannot. Owner of the address takes full responsibility for the private key protection.\nBNB Beacon Chain and official wallets do not have your private key."),(0,r.kt)("h2",{id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets"},"My private key got stolen by hackers, how can I recover my assets?"),(0,r.kt)("p",null,"Sorry, you take full responsibility of your private key ownership and protection. BNB Beacon Chain\nand official wallets will not record, or transfer out your private key."),(0,r.kt)("h2",{id:"what-is-the-accelerated-node"},"What is the Accelerated Node?"),(0,r.kt)("p",null,"While users can submit transactions and most of the queries via normal, self-run full nodes.",(0,r.kt)("br",null),"\nAccelerated Node provides more secure and faster lines to access BNB Beacon Chain."),(0,r.kt)("p",null,"Accelerated Node is special infrastructure built around Validator to facilitate accelerated transaction\nrouting and provide richer, faster user interfaces. There are always several Accelerated Nodes running\nat the same time around the world (owned by different organizations) and you are encouraged to choose\none of them to use, or allow your Wallet choose one randomly.",(0,r.kt)("br",null),"\nFor rapid API access, you'd better stay with one Accelerated Node to get better performance."),(0,r.kt)("h2",{id:"how-can-i-issue-an-asset"},"How can I issue an asset?"),(0,r.kt)("p",null,"Anyone can pay a fee and issue an asset as Token on BNB Beacon Chain, as long as they provide\nproper information for the fields below, and then execute the command through the command line or http interfaces."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Name: a description string of less than 21 characters"),(0,r.kt)("li",{parentName:"ul"},"Symbol: an identifier string less than 9 characters, which must be composed of ","[0-9A-Z]"),(0,r.kt)("li",{parentName:"ul"},"Total Supply: a positive number less than or equal to 90 billions"),(0,r.kt)("li",{parentName:"ul"},"Mint-able: whether the token can increase Total Supply in later time or not")),(0,r.kt)("h2",{id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain"},"What is the consensus algorithm used on BNB Beacon Chain?"),(0,r.kt)("p",null,"BNB Beacon Chain uses BFT and PoS (upcoming) based consensus mechanism to produce blocks among\na series of qualified Validators. This is similar to the architectures of several existing\npopular blockchain platforms such as EOS and NEO.\nThe process for setting up validators among different entities on BNB Beacon Chain is currently being defined. More details will be shared at a later date."),(0,r.kt)("h2",{id:"can-i-run-a-full-node-for-bnb-beacon-chain"},"Can I run a full node for BNB Beacon Chain?"),(0,r.kt)("p",null,"Yes, you can. A full node contains all the information and application logic for BNB Beacon Chain.\nIt can receive and broadcast blocks and transactions with other full nodes and even validators.\nThe only exception is it will not participate in the consensus if the full node is not a Validator."),(0,r.kt)("h2",{id:"does-bnb-beacon-chain-support-smart-contracts"},"Does BNB Beacon Chain support Smart Contracts?"),(0,r.kt)("p",null,"No. This was an intentional design decision to improve the performance of the system and eliminate\nhaving to support unnecessary features."),(0,r.kt)("p",null,"If you have certain must-have feature-s, it might be added as a native implementation instead of using smart contract.",(0,r.kt)("br",null),"\nFeel free to talk to BNB Chain community."),(0,r.kt)("h2",{id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-blockchains-onto-bnb-beacon-chain"},"How can I transfer tokens, such as Bitcoin, from other blockchains onto BNB Beacon Chain?"),(0,r.kt)("p",null,"Right now, there are 2 ways to transfer tokens cross-chain:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"via interoperability among different chains. After the latest \u201cArchimedes\u201d upgrade, ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3")," was introduced and it defines native transactions to support ",(0,r.kt)("a",{parentName:"li",href:"https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts"},"Hash Timelock Contract (HTLC)")," on BNB Beacon Chain and it also to defines the infrastructure standard and procedure to use HTLC for inter-chain ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.vision/blockchain/atomic-swaps-explained"},"atomic swap")," to easily swap tokens on different chains. BNB Beacon Chain development community has finished implementing its solution for BEP3 with BEP2 and ERC20 tokens and decided to open-source all of the key components, including\uff1a")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"smart-contract solution")," that supports Atomic Peg Swap (APS) for Ethereum. Please note that this solution is already audited by 3rd party."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"deputy process")," written in GoLang that handles swap activities")),(0,r.kt)("p",null,"Any developer is welcome to test the solutions in testnet and then use them in mainnet."),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"via Binance.com. ",(0,r.kt)("a",{parentName:"li",href:"https://wwww.binance.com"},"Binance"),",the largest cryptocurrency exchange, has issued a number of crypto-pegged tokens on BNB Beacon Chain (BEP2 token format): ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/BCH-1FD"},"BEP2 BCH"),",",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/XRP-BF2"},"BEP2 XRP"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/LTC-F07"},"BEP2 LTC"),". Pegged tokens such as ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", are 100% backed by the native coin in ",(0,r.kt)("a",{parentName:"li",href:"https://btc.com/3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb"},"reserve"),". The reserve addresses are published for anyone to audit. Read this ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.com/en/blog/347360878904684544/Introducing-BitcoinPegged-Token-on-Binance-Chain"},"blog")," to learn about the reserved address. Users are free to convert between native and BEP2 Bitcoin via deposit/withdrawal. This has a higher degree of ease-of-use for most traders. More swap channels will be provided on partner wallets soon.")),(0,r.kt)("p",null,"Atomic swap and this centralized approach are not exclusive to other decentralized approaches, which can also be implemented in parallel. There are many cross-chain solutions being developed and we are very interested in them."),(0,r.kt)("p",null,"Please do ",(0,r.kt)("strong",{parentName:"p"},"NOT")," try to transfer anything on existing network to BNB Beacon Chain testnet, you may experience loss by doing so, because testnet doesn't run with real coins."),(0,r.kt)("h2",{id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex"},"How would a third-party integrate with BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"A wallet provider may choose to support the feature set of BNB Beacon Chain, which would cover wallets, addresses, balances, transfers and etc.",(0,r.kt)("br",null)))}u.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[3479],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>k});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var d=n.createContext({}),N=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},s=function(t){var e=N(t.components);return n.createElement(d.Provider,{value:e},t.children)},p="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,s=o(t,["components","mdxType","originalType","parentName"]),p=N(a),m=r,k=p["".concat(d,".").concat(m)]||p[m]||u[m]||l;return a?n.createElement(k,i(i({ref:e},s),{},{components:a})):n.createElement(k,i({ref:e},s))}));function k(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var d in e)hasOwnProperty.call(e,d)&&(o[d]=e[d]);o.originalType=t,o[p]="string"==typeof t?t:r,i[1]=o;for(var N=2;N{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>N});var n=a(83117),r=(a(67294),a(3905));const l={},i="BNB Beacon Chain FAQ",o={unversionedId:"beaconchain/faq/faq",id:"beaconchain/faq/faq",title:"BNB Beacon Chain FAQ",description:"What is BNB Beacon Chain and Binance DEX?",source:"@site/docs/beaconchain/faq/faq.md",sourceDirName:"beaconchain/faq",slug:"/beaconchain/faq/",permalink:"/docs/beaconchain/faq/",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/faq/faq.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"Binance Extension Wallet FAQs",permalink:"/docs/faq"},next:{title:"How to Contribute",permalink:"/docs/contribute"}},d={},N=[{value:"What is BNB Beacon Chain and Binance DEX?",id:"what-is-bnb-beacon-chain-and-binance-dex",level:2},{value:"What is the design principle of BNB Beacon Chain?",id:"what-is-the-design-principle-of-bnb-beacon-chain",level:2},{value:"What can you do on BNB Beacon Chain?",id:"what-can-you-do-on-bnb-beacon-chain",level:2},{value:"Will BNB Beacon Chain introduce more features and transaction types in the future?",id:"will-bnb-beacon-chain-introduce-more-features-and-transaction-types-in-the-future",level:2},{value:"What is the native coin on BNB Beacon Chain?",id:"what-is-the-native-coin-on-bnb-beacon-chain",level:2},{value:"What is the current Fee Table on BNB Beacon Chain Mainnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain-mainnet",level:2},{value:"What is the current Fee Table on BNB Beacon Chain Testnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain-testnet",level:2},{value:"Can I see balances of others or can other people see my balances?",id:"can-i-see-balances-of-others-or-can-other-people-see-my-balances",level:2},{value:"Information provided through API and their usage",id:"information-provided-through-api-and-their-usage",level:2},{value:"Is there any limit to using the API to send orders or check market data?",id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data",level:3},{value:"What does Wallet and API cost to use?",id:"what-does-wallet-and-api-cost-to-use",level:3},{value:"I forgot the private key for my address, how can I get it back?",id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back",level:2},{value:"My private key got stolen by hackers, how can I recover my assets?",id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets",level:2},{value:"What is the Accelerated Node?",id:"what-is-the-accelerated-node",level:2},{value:"How can I issue an asset?",id:"how-can-i-issue-an-asset",level:2},{value:"What is the consensus algorithm used on BNB Beacon Chain?",id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain",level:2},{value:"Can I run a full node for BNB Beacon Chain?",id:"can-i-run-a-full-node-for-bnb-beacon-chain",level:2},{value:"Does BNB Beacon Chain support Smart Contracts?",id:"does-bnb-beacon-chain-support-smart-contracts",level:2},{value:"How can I transfer tokens, such as Bitcoin, from other blockchains onto BNB Beacon Chain?",id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-blockchains-onto-bnb-beacon-chain",level:2},{value:"How would a third-party integrate with BNB Beacon Chain and Binance DEX?",id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex",level:2}],s={toc:N},p="wrapper";function u(t){let{components:e,...a}=t;return(0,r.kt)(p,(0,n.Z)({},s,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-faq"},"BNB Beacon Chain FAQ"),(0,r.kt)("h2",{id:"what-is-bnb-beacon-chain-and-binance-dex"},"What is BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"BNB Beacon Chain is the blockchain initially developed by Binance and community. Binance DEX, which is disabled now, is the\ndecentralized exchange module developed on top of the BNB Beacon Chain blockchain."),(0,r.kt)("h2",{id:"what-is-the-design-principle-of-bnb-beacon-chain"},"What is the design principle of BNB Beacon Chain?"),(0,r.kt)("p",null,"The main focuses for the design of BNB Beacon Chain are:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"No custody of funds:")," traders maintain control of their private keys and funds."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"High performance:")," low latency, high throughput for a large user base, and high liquidity trading.\nWe target to achieve 1 second block times, with 1 confirmation finality."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Low cost:")," in both fees and liquidity cost."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Easy user experience:")," super user friendly UI for a better experience."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Fair trading:")," minimize front-running, to the extent possible."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Evolvable:")," able to develop with forever-improving technology stack, architecture, and ideas.")),(0,r.kt)("h2",{id:"what-can-you-do-on-bnb-beacon-chain"},"What can you do on BNB Beacon Chain?"),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send and receive BNB"),(0,r.kt)("li",{parentName:"ul"},"Issue new tokens"),(0,r.kt)("li",{parentName:"ul"},"Send, receive, burn/mint and freeze/unfreeze tokens")),(0,r.kt)("h2",{id:"will-bnb-beacon-chain-introduce-more-features-and-transaction-types-in-the-future"},"Will BNB Beacon Chain introduce more features and transaction types in the future?"),(0,r.kt)("p",null,"Yes, BNB Beacon Chain team and community would cherish the technology advancements and recommended trends and strive to make circulation of assets and value easier and easier."),(0,r.kt)("h2",{id:"what-is-the-native-coin-on-bnb-beacon-chain"},"What is the native coin on BNB Beacon Chain?"),(0,r.kt)("p",null,"BNB is the native asset on BNB Beacon Chain. There are 200M BNB coins in total. There will be no mining. The existing coin burns and freezes will still be in effect on the new BNB Beacon Chain blockchain."),(0,r.kt)("p",null,"The exact number of BNB coins will be destroyed based on the same number of BNB ERC20 tokens that have already been destroyed."),(0,r.kt)("p",null,"Since BNB Beacon Chain is live, all BNB ERC20 tokens will be swapped for BNB Beacon Chain coins. All users who hold BNB ERC20 tokens can deposit them to Binance.com, and upon withdrawal, the new\nBNB Beacon Chain native coins will be sent to their new wallets."),(0,r.kt)("h2",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain-mainnet"},"What is the current Fee Table on BNB Beacon Chain Mainnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for ",(0,r.kt)("strong",{parentName:"p"},"Mainnet")," as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-21")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h2",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain-testnet"},"What is the current Fee Table on BNB Beacon Chain Testnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for Testnet as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-17")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h2",{id:"can-i-see-balances-of-others-or-can-other-people-see-my-balances"},"Can I see balances of others or can other people see my balances?"),(0,r.kt)("p",null,"Yes, anyone can see anyone's balances if they know the corresponding addresses.\nBNB Beacon Chain is 100% transparent for transactions and balances."),(0,r.kt)("h2",{id:"information-provided-through-api-and-their-usage"},"Information provided through API and their usage"),(0,r.kt)("h3",{id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data"},"Is there any limit to using the API to send orders or check market data?"),(0,r.kt)("p",null,"Yes, there are rate limits to ensure there is no waste or abuse of the network infrastructure.",(0,r.kt)("br",null),"\nPlease check the API documentation."),(0,r.kt)("h3",{id:"what-does-wallet-and-api-cost-to-use"},"What does Wallet and API cost to use?"),(0,r.kt)("p",null,"No fee or commission at all (free to use)."),(0,r.kt)("h2",{id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back"},"I forgot the private key for my address, how can I get it back?"),(0,r.kt)("p",null,"Sorry, you cannot. Owner of the address takes full responsibility for the private key protection.\nBNB Beacon Chain and official wallets do not have your private key."),(0,r.kt)("h2",{id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets"},"My private key got stolen by hackers, how can I recover my assets?"),(0,r.kt)("p",null,"Sorry, you take full responsibility of your private key ownership and protection. BNB Beacon Chain\nand official wallets will not record, or transfer out your private key."),(0,r.kt)("h2",{id:"what-is-the-accelerated-node"},"What is the Accelerated Node?"),(0,r.kt)("p",null,"While users can submit transactions and most of the queries via normal, self-run full nodes.",(0,r.kt)("br",null),"\nAccelerated Node provides more secure and faster lines to access BNB Beacon Chain."),(0,r.kt)("p",null,"Accelerated Node is special infrastructure built around Validator to facilitate accelerated transaction\nrouting and provide richer, faster user interfaces. There are always several Accelerated Nodes running\nat the same time around the world (owned by different organizations) and you are encouraged to choose\none of them to use, or allow your Wallet choose one randomly.",(0,r.kt)("br",null),"\nFor rapid API access, you'd better stay with one Accelerated Node to get better performance."),(0,r.kt)("h2",{id:"how-can-i-issue-an-asset"},"How can I issue an asset?"),(0,r.kt)("p",null,"Anyone can pay a fee and issue an asset as Token on BNB Beacon Chain, as long as they provide\nproper information for the fields below, and then execute the command through the command line or http interfaces."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Name: a description string of less than 21 characters"),(0,r.kt)("li",{parentName:"ul"},"Symbol: an identifier string less than 9 characters, which must be composed of ","[0-9A-Z]"),(0,r.kt)("li",{parentName:"ul"},"Total Supply: a positive number less than or equal to 90 billions"),(0,r.kt)("li",{parentName:"ul"},"Mint-able: whether the token can increase Total Supply in later time or not")),(0,r.kt)("h2",{id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain"},"What is the consensus algorithm used on BNB Beacon Chain?"),(0,r.kt)("p",null,"BNB Beacon Chain uses BFT and PoS (upcoming) based consensus mechanism to produce blocks among\na series of qualified Validators. This is similar to the architectures of several existing\npopular blockchain platforms such as EOS and NEO.\nThe process for setting up validators among different entities on BNB Beacon Chain is currently being defined. More details will be shared at a later date."),(0,r.kt)("h2",{id:"can-i-run-a-full-node-for-bnb-beacon-chain"},"Can I run a full node for BNB Beacon Chain?"),(0,r.kt)("p",null,"Yes, you can. A full node contains all the information and application logic for BNB Beacon Chain.\nIt can receive and broadcast blocks and transactions with other full nodes and even validators.\nThe only exception is it will not participate in the consensus if the full node is not a Validator."),(0,r.kt)("h2",{id:"does-bnb-beacon-chain-support-smart-contracts"},"Does BNB Beacon Chain support Smart Contracts?"),(0,r.kt)("p",null,"No. This was an intentional design decision to improve the performance of the system and eliminate\nhaving to support unnecessary features."),(0,r.kt)("p",null,"If you have certain must-have feature-s, it might be added as a native implementation instead of using smart contract.",(0,r.kt)("br",null),"\nFeel free to talk to BNB Chain community."),(0,r.kt)("h2",{id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-blockchains-onto-bnb-beacon-chain"},"How can I transfer tokens, such as Bitcoin, from other blockchains onto BNB Beacon Chain?"),(0,r.kt)("p",null,"Right now, there are 2 ways to transfer tokens cross-chain:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"via interoperability among different chains. After the latest \u201cArchimedes\u201d upgrade, ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3")," was introduced and it defines native transactions to support ",(0,r.kt)("a",{parentName:"li",href:"https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts"},"Hash Timelock Contract (HTLC)")," on BNB Beacon Chain and it also to defines the infrastructure standard and procedure to use HTLC for inter-chain ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.vision/blockchain/atomic-swaps-explained"},"atomic swap")," to easily swap tokens on different chains. BNB Beacon Chain development community has finished implementing its solution for BEP3 with BEP2 and ERC20 tokens and decided to open-source all of the key components, including\uff1a")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"smart-contract solution")," that supports Atomic Peg Swap (APS) for Ethereum. Please note that this solution is already audited by 3rd party."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"deputy process")," written in GoLang that handles swap activities")),(0,r.kt)("p",null,"Any developer is welcome to test the solutions in testnet and then use them in mainnet."),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"via Binance.com. ",(0,r.kt)("a",{parentName:"li",href:"https://wwww.binance.com"},"Binance"),",the largest cryptocurrency exchange, has issued a number of crypto-pegged tokens on BNB Beacon Chain (BEP2 token format): ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/BCH-1FD"},"BEP2 BCH"),",",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/XRP-BF2"},"BEP2 XRP"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/LTC-F07"},"BEP2 LTC"),". Pegged tokens such as ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", are 100% backed by the native coin in ",(0,r.kt)("a",{parentName:"li",href:"https://btc.com/3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb"},"reserve"),". The reserve addresses are published for anyone to audit. Read this ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.com/en/blog/347360878904684544/Introducing-BitcoinPegged-Token-on-Binance-Chain"},"blog")," to learn about the reserved address. Users are free to convert between native and BEP2 Bitcoin via deposit/withdrawal. This has a higher degree of ease-of-use for most traders. More swap channels will be provided on partner wallets soon.")),(0,r.kt)("p",null,"Atomic swap and this centralized approach are not exclusive to other decentralized approaches, which can also be implemented in parallel. There are many cross-chain solutions being developed and we are very interested in them."),(0,r.kt)("p",null,"Please do ",(0,r.kt)("strong",{parentName:"p"},"NOT")," try to transfer anything on existing network to BNB Beacon Chain testnet, you may experience loss by doing so, because testnet doesn't run with real coins."),(0,r.kt)("h2",{id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex"},"How would a third-party integrate with BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"A wallet provider may choose to support the feature set of BNB Beacon Chain, which would cover wallets, addresses, balances, transfers and etc.",(0,r.kt)("br",null)))}u.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/864b21f2.33d27170.js b/assets/js/864b21f2.33d27170.js
new file mode 100644
index 0000000000..7fbc92d5b9
--- /dev/null
+++ b/assets/js/864b21f2.33d27170.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[6266],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),s=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(d.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=s(a),h=r,m=c["".concat(d,".").concat(h)]||c[h]||u[h]||l;return a?n.createElement(m,i(i({ref:t},p),{},{components:a})):n.createElement(m,i({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=h;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var s=2;s{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=a(83117),r=(a(67294),a(3905));const l={sidebar_label:"BC FAQs",sidebar_position:2,hide_table_of_contents:!0},i="BNB Beacon Chain FAQs",o={unversionedId:"BC-FAQs",id:"BC-FAQs",title:"BNB Beacon Chain FAQs",description:"What is BNB Beacon Chain and Binance DEX?",source:"@site/docs/BC-FAQs.md",sourceDirName:".",slug:"/BC-FAQs",permalink:"/docs/BC-FAQs",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/BC-FAQs.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"BC FAQs",sidebar_position:2,hide_table_of_contents:!0}},d={},s=[{value:"What is BNB Beacon Chain and Binance DEX?",id:"what-is-bnb-beacon-chain-and-binance-dex",level:3},{value:"What is the design principle of BNB Beacon Chain ?",id:"what-is-the-design-principle-of-bnb-beacon-chain-",level:3},{value:"What can you do on BNB Beacon Chain ?",id:"what-can-you-do-on-bnb-beacon-chain-",level:3},{value:"Will BNB Beacon Chain introduce more features and transaction types in the future?",id:"will-bnb-beacon-chain--introduce-more-features-and-transaction-types-in-the-future",level:3},{value:"What is the native coin on BNB Beacon Chain ?",id:"what-is-the-native-coin-on-bnb-beacon-chain-",level:3},{value:"How can I register on BNB Beacon Chain /DEX and start trading?",id:"how-can-i-register-on-bnb-beacon-chain-dex-and-start-trading",level:3},{value:"How can I send orders on Binance DEX?",id:"how-can-i-send-orders-on-binance-dex",level:3},{value:"Order",id:"order",level:4},{value:"What is Immediate Or Cancel order?",id:"what-is-immediate-or-cancel-order",level:4},{value:"Match",id:"match",level:4},{value:"Trade",id:"trade",level:4},{value:"What is Order Expire?",id:"what-is-order-expire",level:4},{value:"Where can I see my assets and trades?",id:"where-can-i-see-my-assets-and-trades",level:4},{value:"When can I see my order on the blockchain after I send it?",id:"when-can-i-see-my-order-on-the-blockchain-after-i-send-it",level:4},{value:"What is the Fee Structure?",id:"what-is-the-fee-structure",level:4},{value:"What is the current Fee Table on BNB Beacon Chain Mainnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain--mainnet",level:3},{value:"What is the current Fee Table on BNB Beacon Chain Testnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain--testnet",level:3},{value:"Can I see orders/balances of others or can other people see my orders/balances?",id:"can-i-see-ordersbalances-of-others-or-can-other-people-see-my-ordersbalances",level:3},{value:"Information provided through API and their usage",id:"information-provided-through-api-and-their-usage",level:3},{value:"Is there any limit to using the API to send orders or check market data?",id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data",level:4},{value:"What does Wallet and API cost to use?",id:"what-does-wallet-and-api-cost-to-use",level:4},{value:"What Market Data can I get?",id:"what-market-data-can-i-get",level:4},{value:"What are the tick size and lot size? Are they fixed?",id:"what-are-the-tick-size-and-lot-size-are-they-fixed",level:4},{value:"Are there limits on notional value of an order?",id:"are-there-limits-on-notional-value-of-an-order",level:4},{value:"What is the decimal precision for prices and quantities on BNB Beacon Chain /DEX?",id:"what-is-the-decimal-precision-for-prices-and-quantities-on-bnb-beacon-chain-dex",level:3},{value:"I forgot the private key for my address, how can I get it back?",id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back",level:3},{value:"My private key got stolen by hackers, how can I recover my assets?",id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets",level:3},{value:"What is the Accelerated Node?",id:"what-is-the-accelerated-node",level:3},{value:"How can I issue an asset?",id:"how-can-i-issue-an-asset",level:3},{value:"What is the consensus algorithm used on BNB Beacon Chain ?",id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain-",level:3},{value:"Can I run a full node for BNB Beacon Chain ?",id:"can-i-run-a-full-node-for-bnb-beacon-chain-",level:3},{value:"Does BNB Beacon Chain support Smart Contracts?",id:"does-bnb-beacon-chain-support-smart-contracts",level:3},{value:"How can I transfer tokens, such as Bitcoin, from other block chains onto BNB Beacon Chain ?",id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-block-chains-onto-bnb-beacon-chain-",level:3},{value:"How is a trading pair created on Binance DEX?",id:"how-is-a-trading-pair-created-on-binance-dex",level:3},{value:"How would a third-party integrate with BNB Beacon Chain and Binance DEX?",id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex",level:3}],p={toc:s},c="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-faqs"},"BNB Beacon Chain FAQs"),(0,r.kt)("h3",{id:"what-is-bnb-beacon-chain-and-binance-dex"},"What is BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"BNB Beacon Chain is the blockchain initially developed by Binance and community. Binance DEX is the decentralized exchange module developed on top of the BNB Beacon Chain blockchain."),(0,r.kt)("h3",{id:"what-is-the-design-principle-of-bnb-beacon-chain-"},"What is the design principle of BNB Beacon Chain ?"),(0,r.kt)("p",null,"The main focuses for the design of BNB Beacon Chain are:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"No custody of funds: traders maintain control of their private keys and funds."),(0,r.kt)("li",{parentName:"ul"},"High performance: low latency, high throughput for a large user base, and high liquidity trading.\nWe target to achieve 1 second block times, with 1 confirmation finality."),(0,r.kt)("li",{parentName:"ul"},"Low cost: in both fees and liquidity cost."),(0,r.kt)("li",{parentName:"ul"},"Easy user experience"),(0,r.kt)("li",{parentName:"ul"},"Fair trading: minimize front-running, to the extent possible."),(0,r.kt)("li",{parentName:"ul"},"Evolvable: able to develop with forever-improving technology stack, architecture, and ideas.")),(0,r.kt)("h3",{id:"what-can-you-do-on-bnb-beacon-chain-"},"What can you do on BNB Beacon Chain ?"),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send and receive BNB"),(0,r.kt)("li",{parentName:"ul"},"Issue new tokens"),(0,r.kt)("li",{parentName:"ul"},"Send, receive, burn/mint and freeze/unfreeze tokens"),(0,r.kt)("li",{parentName:"ul"},"Propose to create trading pairs between two different tokens"),(0,r.kt)("li",{parentName:"ul"},"Send orders to buy or sell assets through trading pairs created on the chain")),(0,r.kt)("h3",{id:"will-bnb-beacon-chain--introduce-more-features-and-transaction-types-in-the-future"},"Will BNB Beacon Chain introduce more features and transaction types in the future?"),(0,r.kt)("p",null,"Yes, BNB Beacon Chain team and community would cherish the technology advancements and recommended trends and strive to make circulation of assets and value easier and easier."),(0,r.kt)("h3",{id:"what-is-the-native-coin-on-bnb-beacon-chain-"},"What is the native coin on BNB Beacon Chain ?"),(0,r.kt)("p",null,"The Build N Build Coin, BNB, is the native asset on BNB Beacon Chain . There are 200MM BNB coins in total.\nThere will be no mining. The existing coin burns and freezes will still be in effect on the new\nBNB Beacon Chain blockchain."),(0,r.kt)("p",null,"The exact number of BNB coins will be destroyed based on the same number of BNB ERC20 tokens\nthat have already been destroyed."),(0,r.kt)("p",null,"Since BNB Beacon Chain is live, all BNB ERC20 tokens will be swapped for BNB Beacon Chain coins. All\nusers who hold BNB ERC20 tokens can deposit them to Binance.com, and upon withdrawal, the new\nBNB Beacon Chain native coins will be sent to their new wallets."),(0,r.kt)("h3",{id:"how-can-i-register-on-bnb-beacon-chain-dex-and-start-trading"},"How can I register on BNB Beacon Chain /DEX and start trading?"),(0,r.kt)("p",null,"There is no need to register. All you need is a BNB Beacon Chain address, which can be generated with\nany ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/wallets.md"},"wallet")," that supports BNB Beacon Chain . Then you can trade BNB or other assets stored on that address."),(0,r.kt)("h3",{id:"how-can-i-send-orders-on-binance-dex"},"How can I send orders on Binance DEX?"),(0,r.kt)("h4",{id:"order"},"Order"),(0,r.kt)("p",null,'On Binance DEX, you can send "new order" messages to buy or sell certain assets. You can also\nsend "cancel" messages to cancel existing open orders.'),(0,r.kt)("p",null,"You can use a wallet to send new orders and cancels. Binance DEX also provides API for automated trading."),(0,r.kt)("p",null,"In Binance DEX v1.0, the order message contains:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Symbol: trading pair on the chain"),(0,r.kt)("li",{parentName:"ul"},"Side: buy or sell"),(0,r.kt)("li",{parentName:"ul"},"Price: only limit price orders are supported in BNB Beacon Chain v1.0"),(0,r.kt)("li",{parentName:"ul"},"Amount"),(0,r.kt)("li",{parentName:"ul"},"Time In Force: Binance DEX supports ",(0,r.kt)("inlineCode",{parentName:"li"},"Immediate Or Cancel")," (IOC) and ",(0,r.kt)("inlineCode",{parentName:"li"},"Good Till Expiry"),' (GTE)\norders. GTE orders can quote on the exchange until they are filled by the opposite orders satisfying\nthe limit price, or canceled by client themselves, or expire after 72 hours after 00:00 (UTC).\nCheck the "What is ',(0,r.kt)("inlineCode",{parentName:"li"},"Order Expire"),'" section of the FAQ for more information.')),(0,r.kt)("p",null,"Network nodes examine orders to ensure they are valid. Once the orders are accepted, they are\nbooked on the next block, and get matched accordingly."),(0,r.kt)("h4",{id:"what-is-immediate-or-cancel-order"},"What is ",(0,r.kt)("inlineCode",{parentName:"h4"},"Immediate Or Cancel order"),"?"),(0,r.kt)("p",null,"Immediate Or Cancel is a special order type. Once the order is accepted into a block, Immediate Or\nCancel orders only exist in this block round. The order may get filled to zero, or partially or fully\nfilled by other orders, and then will become expired and removed from the order book right away.\nAs a result, it will not be tradable in the next round of matching. A small fee will be charged\nfor the network usage, if there is no fill at all for the order (deemed as no intention to trade)."),(0,r.kt)("h4",{id:"match"},"Match"),(0,r.kt)("p",null,"Binance DEX does all of its matching on the blockchain, i.e. all nodes perform the matches and\nexpect the same result. This is to ensure the maximum transparency and to mitigate the chance\nfor front-running, even from the block producers. The matching infrastructure is expected to\nevolve and grow in capacity as time progresses."),(0,r.kt)("p",null,"Binance DEX doesn't do continuous matching as most centralized exchanges do. Instead, it matches\nusing periodic auction matching for all the existing open orders received in the past and the\nlatest blocks. The match logic is explained in more detail later."),(0,r.kt)("h4",{id:"trade"},"Trade"),(0,r.kt)("p",null,"Once the orders are filled, the corresponding assets will be automatically moved into buyers'\naddresses. The confirmation is instant and no need to wait for further blocks (i.e. T+0 block).\nBuyers can use the bought asset right away, either send it to another address or trade it again."),(0,r.kt)("h4",{id:"what-is-order-expire"},"What is ",(0,r.kt)("inlineCode",{parentName:"h4"},"Order Expire"),"?"),(0,r.kt)("p",null,"Orders accepted by Binance DEX will either get filled with other orders or remain in the order book,\nbut they will not stay on the order book forever. These orders will expire and be removed from the\norder book after the 1st midnight (UTC) after 72 hours once the order gets accepted. A small fee\nwill be charged for the network usage, if there is no fill at all for the order (deemed as no intention to trade)."),(0,r.kt)("h4",{id:"where-can-i-see-my-assets-and-trades"},"Where can I see my assets and trades?"),(0,r.kt)("p",null,"You can always use wallets that support BNB Beacon Chain to check your asset balances, open orders,\nand (optionally) order/trade history. BNB Beacon Chain Explorer is another tool to check balances\nand transactions."),(0,r.kt)("h4",{id:"when-can-i-see-my-order-on-the-blockchain-after-i-send-it"},"When can I see my order on the blockchain after I send it?"),(0,r.kt)("p",null,"It depends. Normally, if you connect to one of the Accelerated Nodes, your orders should get\naccepted and booked into a block in 1-3 seconds. If the order price is marketable, the order\nwill be filled and trades will come back in about similar time. If you send the order from far-way\n(self-setup full node), or there is heavy network traffic, the order may take longer to reach\na Validator (block producer)."),(0,r.kt)("h4",{id:"what-is-the-fee-structure"},"What is the Fee Structure?"),(0,r.kt)("p",null,"Fees are charged and shared among the block producers (i.e. Validators) to run the network,\nin order to pay for the network usage and prevent abuse and attack. Since all user transactions,\ninclude transfer, new order, cancel etc, they are all recorded in blocks and chain state, the fee will be\nshared among different transactions. New orders are exempt from fees to encourage usage and larger\ntrades will be charged more for their benefits from the liquidity provided in the network.\nOrder Expire and Cancel are also charged with a fee if they fail to provide any liquidity. The current fee table is ",(0,r.kt)("a",{parentName:"p",href:"/docs/trading-spec"},"here")),(0,r.kt)("p",null,"Besides the fees, ",(0,r.kt)("strong",{parentName:"p"},"no other gas will be charged.")),(0,r.kt)("p",null,"Fees can be paid in any asset, but the network will charge BNB first and apply a discount if the\naddress has BNB balance."),(0,r.kt)("p",null,"The fee is subject to periodical review and adjustment, after agreement from validators, via a\nproposal-vote procedure. See a fee-change proposal ",(0,r.kt)("a",{parentName:"p",href:"https://explorer.bnbchain.org/tx/B1E78D8275598CB0538C716997EEDD2F1198B82F4D73959C5BF69CBAF4281240"},"here")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Trade fee is calculated based on trade notional value, while fees for other transactions are fixed."),(0,r.kt)("li",{parentName:"ul"},"It is free to send a new GET order, cancel a partially filled order, or expire a partially filled order."),(0,r.kt)("li",{parentName:"ul"},"Non-Trade related transactions will be charged with a fee when the transactions happen, and can\nonly be paid in BNB. The transaction will be rejected if the address does not have enough BNB."),(0,r.kt)("li",{parentName:"ul"},"Trade-related transactions will be charged with a fee when an order is filled, or\ncanceled/expired/IOC-expired with no fills. If there is enough BNB to pay, BNB fee structure will\nbe used, otherwise, non-BNB fee structure will be used instead."),(0,r.kt)("li",{parentName:"ul"},"If the whole order value and free balance for the receiving asset are not enough to pay the fee,\nall the receiving asset and its residual balance will be charged.")),(0,r.kt)("h3",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain--mainnet"},"What is the current Fee Table on BNB Beacon Chain Mainnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for ",(0,r.kt)("strong",{parentName:"p"},"Mainnet")," as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-21")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h3",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain--testnet"},"What is the current Fee Table on BNB Beacon Chain Testnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for Testnet as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-17")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h3",{id:"can-i-see-ordersbalances-of-others-or-can-other-people-see-my-ordersbalances"},"Can I see orders/balances of others or can other people see my orders/balances?"),(0,r.kt)("p",null,"Yes, anyone can see anyone's orders and balances if they know the corresponding addresses.\nBNB Beacon Chain is 100% transparent for transactions and balances."),(0,r.kt)("h3",{id:"information-provided-through-api-and-their-usage"},"Information provided through API and their usage"),(0,r.kt)("h4",{id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data"},"Is there any limit to using the API to send orders or check market data?"),(0,r.kt)("p",null,"Yes, there are rate limits to ensure there is no waste or abuse of the network infrastructure.",(0,r.kt)("br",null),"\nPlease check the API documentation."),(0,r.kt)("h4",{id:"what-does-wallet-and-api-cost-to-use"},"What does Wallet and API cost to use?"),(0,r.kt)("p",null,"No fee or commission at all (free to use)."),(0,r.kt)("h4",{id:"what-market-data-can-i-get"},"What Market Data can I get?"),(0,r.kt)("p",null,"The market data provided via Wallet and API are similar to Binance.com, including ticker data, order book,\ntrade and Kline. They can be seen in the Wallet and read from REST or WebSocket API.",(0,r.kt)("br",null),"\nPlease check the API documentation for details."),(0,r.kt)("h4",{id:"what-are-the-tick-size-and-lot-size-are-they-fixed"},"What are the tick size and lot size? Are they fixed?"),(0,r.kt)("p",null,"Tick size is the minimum unit to increase or decrease for the price (in quote asset) of an order,\nwhile lot size is the minimum unit to increase or decrease for the quantity (in base asset) of an order.",(0,r.kt)("br",null),"\nThey are not the same as on Binance.com. They can be queried from API or checked from Wallet UI."),(0,r.kt)("p",null,"Tick Size and lot size are not fixed. BNB Beacon Chain will automatically/periodically review the values to make\nsure proper order size and notional is applied."),(0,r.kt)("h4",{id:"are-there-limits-on-notional-value-of-an-order"},"Are there limits on notional value of an order?"),(0,r.kt)("p",null,"The smallest order you can send for a trading pair is 1 lot size quantity at 1 tick size price. No other limits."),(0,r.kt)("h3",{id:"what-is-the-decimal-precision-for-prices-and-quantities-on-bnb-beacon-chain-dex"},"What is the decimal precision for prices and quantities on BNB Beacon Chain /DEX?"),(0,r.kt)("p",null,"Amounts are represented as integers, and all coins have a fixed scale of 8.",(0,r.kt)("br",null),"\nThis means that if a balance of 100000000 were to be exposed to a wallet integrator, this will represent a balance of 1 coin."),(0,r.kt)("h3",{id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back"},"I forgot the private key for my address, how can I get it back?"),(0,r.kt)("p",null,"Sorry, you cannot. Owner of the address takes full responsibility for the private key protection.\nBNB Beacon Chain and official wallets do not have your private key."),(0,r.kt)("h3",{id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets"},"My private key got stolen by hackers, how can I recover my assets?"),(0,r.kt)("p",null,"Sorry, you take full responsibility of your private key ownership and protection. BNB Beacon Chain\nand official wallets will not record, or transfer out your private key."),(0,r.kt)("h3",{id:"what-is-the-accelerated-node"},"What is the Accelerated Node?"),(0,r.kt)("p",null,"While users can submit transactions and most of the queries via normal, self-run full nodes.",(0,r.kt)("br",null),"\nAccelerated Node provides more secure and faster lines to access BNB Beacon Chain ."),(0,r.kt)("p",null,"Accelerated Node is special infrastructure built around Validator to facilitate accelerated transaction\nrouting and provide richer, faster user interfaces. There are always several Accelerated Nodes running\nat the same time around the world (owned by different organizations) and you are encouraged to choose\none of them to use, or allow your Wallet choose one randomly.",(0,r.kt)("br",null),"\nFor rapid API access, you'd better stay with one Accelerated Node to get better performance."),(0,r.kt)("h3",{id:"how-can-i-issue-an-asset"},"How can I issue an asset?"),(0,r.kt)("p",null,"Anyone can pay a fee and issue an asset as Token on BNB Beacon Chain , as long as they provide\nproper information for the fields below, and then execute the command through the command line or http interfaces."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Name: a description string of less than 21 characters"),(0,r.kt)("li",{parentName:"ul"},"Symbol: an identifier string less than 9 characters, which must be composed of ","[0-9A-Z]"),(0,r.kt)("li",{parentName:"ul"},"Total Supply: a positive number less than or equal to 90 billions"),(0,r.kt)("li",{parentName:"ul"},"Mint-able: whether the token can increase Total Supply in later time or not")),(0,r.kt)("h3",{id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain-"},"What is the consensus algorithm used on BNB Beacon Chain ?"),(0,r.kt)("p",null,"BNB Beacon Chain uses BFT and PoS (upcoming) based consensus mechanism to produce blocks among\na series of qualified Validators. This is similar to the architectures of several existing\npopular blockchain platforms such as EOS and NEO.\nThe process for setting up validators among different entities on BNB Beacon Chain is currently being defined. More details will be shared at a later date."),(0,r.kt)("h3",{id:"can-i-run-a-full-node-for-bnb-beacon-chain-"},"Can I run a full node for BNB Beacon Chain ?"),(0,r.kt)("p",null,"Yes, you can. A full node contains all the information and application logic for BNB Beacon Chain .\nIt can receive and broadcast blocks and transactions with other full nodes and even validators.\nThe only exception is it will not participate in the consensus if the full node is not a Validator."),(0,r.kt)("h3",{id:"does-bnb-beacon-chain-support-smart-contracts"},"Does BNB Beacon Chain support Smart Contracts?"),(0,r.kt)("p",null,"No. This was an intentional design decision to improve the performance of the system and eliminate having to support unnecessary features."),(0,r.kt)("p",null,"If you have certain must-have features, it might be added as a native implementation instead of using smart contract.",(0,r.kt)("br",null),"\nFeel free to talk to ",(0,r.kt)("a",{parentName:"p",href:"https://forum.bnbchain.org/"},"BNB Chain Community"),"."),(0,r.kt)("h3",{id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-block-chains-onto-bnb-beacon-chain-"},"How can I transfer tokens, such as Bitcoin, from other block chains onto BNB Beacon Chain ?"),(0,r.kt)("p",null,"Right now, there are 2 ways to transfer tokens cross-chain:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"via interoperability among different chains. After the latest \u201cArchimedes\u201d upgrade, ",(0,r.kt)("a",{parentName:"li",href:"https://https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3")," was introduced and it defines native transactions to support ",(0,r.kt)("a",{parentName:"li",href:"https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts"},"Hash Timelock Contract (HTLC)")," on BNB Beacon Chain and it also to defines the infrastructure standard and procedure to use HTLC for inter-chain ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.vision/blockchain/atomic-swaps-explained"},"atomic swap")," to easily swap tokens on different chains. BNB Beacon Chain development community has finished implementing its solution for BEP3 with BEP2 and ERC20 tokens and decided to open-source all of the key components, including\uff1a")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"smart-contract solution")," that supports Atomic Peg Swap (APS) for Ethereum. Please note that this solution is already audited by 3rd party."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"deputy process")," written in GoLang that handles swap activities")),(0,r.kt)("p",null,"Any developer is welcome to test the solutions in testnet and then use them in mainnet."),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"via Binance.com. ",(0,r.kt)("a",{parentName:"li",href:"https://wwww.binance.com"},"Binance"),",the largest cryptocurrency exchange, has issued a number of crypto-pegged tokens on BNB Beacon Chain (BEP2 token format): ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/BCH-1FD"},"BEP2 BCH"),",",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/XRP-BF2"},"BEP2 XRP"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/LTC-F07"},"BEP2 LTC"),". Pegged tokens such as ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.bnbchain.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", are 100% backed by the native coin in ",(0,r.kt)("a",{parentName:"li",href:"https://btc.com/3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb"},"reserve"),". The reserve addresses are published for anyone to audit. Read this ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.com/en/blog/347360878904684544/Introducing-BitcoinPegged-Token-on-Binance-Chain"},"blog")," to learn about the reserved address. Users are free to convert between native and BEP2 Bitcoin via deposit/withdrawal. This has a higher degree of ease-of-use for most traders. More swap channels will be provided on partner wallets soon.")),(0,r.kt)("p",null,"Atomic swap and this centralized approach are not exclusive to other decentralized approaches, which can also be implemented in parallel. There are many cross-chain solutions being developed and we are very interested in them."),(0,r.kt)("p",null,"Please do ",(0,r.kt)("strong",{parentName:"p"},"NOT")," try to transfer anything on existing network to BNB Beacon Chain testnet, you may experience loss by doing so, because testnet doesn't run with real coins."),(0,r.kt)("h3",{id:"how-is-a-trading-pair-created-on-binance-dex"},"How is a trading pair created on Binance DEX?"),(0,r.kt)("p",null,"The design philosophy of Binance DEX adheres to the idea that the most efficient and low cost way to perform trading and\nprice-discovery is still to use single order book. This single order book is managed and replicated across all\nfull nodes with the same, deterministic matching logic."),(0,r.kt)("p",null,"Simply allowing trading between two assets seems easy enough, however it is expensive for not only the network\nbut also its users in long term (and liquidity costs can be much larger). In order to efficiently use the\nnetwork, BNB Beacon Chain only list assets against BNB and other widely accepted market quote assets."),(0,r.kt)("p",null,'After an asset is issued, which costs a small fee,\nanyone can "propose" to all validators to list it against particular quote assets.\nValidators then vote to accept the proposal.\nA deposit is taken to prevent network abuse.\nOnce the proposal is accepted, the owner of the base asset can list the trading pair.'),(0,r.kt)("p",null,"For more information about this process please check the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/list.md"},"listing guide"),"."),(0,r.kt)("h3",{id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex"},"How would a third-party integrate with BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"A wallet provider may choose to only support the feature set of BNB Beacon Chain , which would just\ncover wallets, addresses, balances and transfers.",(0,r.kt)("br",null),"\nTo improve their implementation further, they could choose to integrate Binance DEX which would add trading (order placement and cancellation), historical order and trade views, charts, etc."))}u.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/864b21f2.65d3e2f2.js b/assets/js/864b21f2.65d3e2f2.js
deleted file mode 100644
index 223de43b3f..0000000000
--- a/assets/js/864b21f2.65d3e2f2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[6266],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),s=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(d.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=s(a),h=r,m=c["".concat(d,".").concat(h)]||c[h]||u[h]||l;return a?n.createElement(m,i(i({ref:t},p),{},{components:a})):n.createElement(m,i({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=h;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var s=2;s{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=a(83117),r=(a(67294),a(3905));const l={sidebar_label:"BC FAQs",sidebar_position:2,hide_table_of_contents:!0},i="BNB Beacon Chain FAQs",o={unversionedId:"BC-FAQs",id:"BC-FAQs",title:"BNB Beacon Chain FAQs",description:"What is BNB Beacon Chain and Binance DEX?",source:"@site/docs/BC-FAQs.md",sourceDirName:".",slug:"/BC-FAQs",permalink:"/docs/BC-FAQs",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/BC-FAQs.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"BC FAQs",sidebar_position:2,hide_table_of_contents:!0}},d={},s=[{value:"What is BNB Beacon Chain and Binance DEX?",id:"what-is-bnb-beacon-chain-and-binance-dex",level:3},{value:"What is the design principle of BNB Beacon Chain ?",id:"what-is-the-design-principle-of-bnb-beacon-chain-",level:3},{value:"What can you do on BNB Beacon Chain ?",id:"what-can-you-do-on-bnb-beacon-chain-",level:3},{value:"Will BNB Beacon Chain introduce more features and transaction types in the future?",id:"will-bnb-beacon-chain--introduce-more-features-and-transaction-types-in-the-future",level:3},{value:"What is the native coin on BNB Beacon Chain ?",id:"what-is-the-native-coin-on-bnb-beacon-chain-",level:3},{value:"How can I register on BNB Beacon Chain /DEX and start trading?",id:"how-can-i-register-on-bnb-beacon-chain-dex-and-start-trading",level:3},{value:"How can I send orders on Binance DEX?",id:"how-can-i-send-orders-on-binance-dex",level:3},{value:"Order",id:"order",level:4},{value:"What is Immediate Or Cancel order?",id:"what-is-immediate-or-cancel-order",level:4},{value:"Match",id:"match",level:4},{value:"Trade",id:"trade",level:4},{value:"What is Order Expire?",id:"what-is-order-expire",level:4},{value:"Where can I see my assets and trades?",id:"where-can-i-see-my-assets-and-trades",level:4},{value:"When can I see my order on the blockchain after I send it?",id:"when-can-i-see-my-order-on-the-blockchain-after-i-send-it",level:4},{value:"What is the Fee Structure?",id:"what-is-the-fee-structure",level:4},{value:"What is the current Fee Table on BNB Beacon Chain Mainnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain--mainnet",level:3},{value:"What is the current Fee Table on BNB Beacon Chain Testnet?",id:"what-is-the-current-fee-table-on-bnb-beacon-chain--testnet",level:3},{value:"Can I see orders/balances of others or can other people see my orders/balances?",id:"can-i-see-ordersbalances-of-others-or-can-other-people-see-my-ordersbalances",level:3},{value:"Information provided through API and their usage",id:"information-provided-through-api-and-their-usage",level:3},{value:"Is there any limit to using the API to send orders or check market data?",id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data",level:4},{value:"What does Wallet and API cost to use?",id:"what-does-wallet-and-api-cost-to-use",level:4},{value:"What Market Data can I get?",id:"what-market-data-can-i-get",level:4},{value:"What are the tick size and lot size? Are they fixed?",id:"what-are-the-tick-size-and-lot-size-are-they-fixed",level:4},{value:"Are there limits on notional value of an order?",id:"are-there-limits-on-notional-value-of-an-order",level:4},{value:"What is the decimal precision for prices and quantities on BNB Beacon Chain /DEX?",id:"what-is-the-decimal-precision-for-prices-and-quantities-on-bnb-beacon-chain-dex",level:3},{value:"I forgot the private key for my address, how can I get it back?",id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back",level:3},{value:"My private key got stolen by hackers, how can I recover my assets?",id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets",level:3},{value:"What is the Accelerated Node?",id:"what-is-the-accelerated-node",level:3},{value:"How can I issue an asset?",id:"how-can-i-issue-an-asset",level:3},{value:"What is the consensus algorithm used on BNB Beacon Chain ?",id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain-",level:3},{value:"Can I run a full node for BNB Beacon Chain ?",id:"can-i-run-a-full-node-for-bnb-beacon-chain-",level:3},{value:"Does BNB Beacon Chain support Smart Contracts?",id:"does-bnb-beacon-chain-support-smart-contracts",level:3},{value:"How can I transfer tokens, such as Bitcoin, from other block chains onto BNB Beacon Chain ?",id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-block-chains-onto-bnb-beacon-chain-",level:3},{value:"How is a trading pair created on Binance DEX?",id:"how-is-a-trading-pair-created-on-binance-dex",level:3},{value:"How would a third-party integrate with BNB Beacon Chain and Binance DEX?",id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex",level:3}],p={toc:s},c="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bnb-beacon-chain-faqs"},"BNB Beacon Chain FAQs"),(0,r.kt)("h3",{id:"what-is-bnb-beacon-chain-and-binance-dex"},"What is BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"BNB Beacon Chain is the blockchain initially developed by Binance and community. Binance DEX is the decentralized exchange module developed on top of the BNB Beacon Chain blockchain."),(0,r.kt)("h3",{id:"what-is-the-design-principle-of-bnb-beacon-chain-"},"What is the design principle of BNB Beacon Chain ?"),(0,r.kt)("p",null,"The main focuses for the design of BNB Beacon Chain are:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"No custody of funds: traders maintain control of their private keys and funds."),(0,r.kt)("li",{parentName:"ul"},"High performance: low latency, high throughput for a large user base, and high liquidity trading.\nWe target to achieve 1 second block times, with 1 confirmation finality."),(0,r.kt)("li",{parentName:"ul"},"Low cost: in both fees and liquidity cost."),(0,r.kt)("li",{parentName:"ul"},"Easy user experience"),(0,r.kt)("li",{parentName:"ul"},"Fair trading: minimize front-running, to the extent possible."),(0,r.kt)("li",{parentName:"ul"},"Evolvable: able to develop with forever-improving technology stack, architecture, and ideas.")),(0,r.kt)("h3",{id:"what-can-you-do-on-bnb-beacon-chain-"},"What can you do on BNB Beacon Chain ?"),(0,r.kt)("p",null,"You can:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send and receive BNB"),(0,r.kt)("li",{parentName:"ul"},"Issue new tokens"),(0,r.kt)("li",{parentName:"ul"},"Send, receive, burn/mint and freeze/unfreeze tokens"),(0,r.kt)("li",{parentName:"ul"},"Propose to create trading pairs between two different tokens"),(0,r.kt)("li",{parentName:"ul"},"Send orders to buy or sell assets through trading pairs created on the chain")),(0,r.kt)("h3",{id:"will-bnb-beacon-chain--introduce-more-features-and-transaction-types-in-the-future"},"Will BNB Beacon Chain introduce more features and transaction types in the future?"),(0,r.kt)("p",null,"Yes, BNB Beacon Chain team and community would cherish the technology advancements and recommended trends and strive to make circulation of assets and value easier and easier."),(0,r.kt)("h3",{id:"what-is-the-native-coin-on-bnb-beacon-chain-"},"What is the native coin on BNB Beacon Chain ?"),(0,r.kt)("p",null,"The Build N Build Coin, BNB, is the native asset on BNB Beacon Chain . There are 200MM BNB coins in total.\nThere will be no mining. The existing coin burns and freezes will still be in effect on the new\nBNB Beacon Chain blockchain."),(0,r.kt)("p",null,"The exact number of BNB coins will be destroyed based on the same number of BNB ERC20 tokens\nthat have already been destroyed."),(0,r.kt)("p",null,"Since BNB Beacon Chain is live, all BNB ERC20 tokens will be swapped for BNB Beacon Chain coins. All\nusers who hold BNB ERC20 tokens can deposit them to Binance.com, and upon withdrawal, the new\nBNB Beacon Chain native coins will be sent to their new wallets."),(0,r.kt)("h3",{id:"how-can-i-register-on-bnb-beacon-chain-dex-and-start-trading"},"How can I register on BNB Beacon Chain /DEX and start trading?"),(0,r.kt)("p",null,"There is no need to register. All you need is a BNB Beacon Chain address, which can be generated with\nany ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/wallets.md"},"wallet")," that supports BNB Beacon Chain . Then you can trade BNB or other assets stored on that address."),(0,r.kt)("h3",{id:"how-can-i-send-orders-on-binance-dex"},"How can I send orders on Binance DEX?"),(0,r.kt)("h4",{id:"order"},"Order"),(0,r.kt)("p",null,'On Binance DEX, you can send "new order" messages to buy or sell certain assets. You can also\nsend "cancel" messages to cancel existing open orders.'),(0,r.kt)("p",null,"You can use a wallet to send new orders and cancels. Binance DEX also provides API for automated trading."),(0,r.kt)("p",null,"In Binance DEX v1.0, the order message contains:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Symbol: trading pair on the chain"),(0,r.kt)("li",{parentName:"ul"},"Side: buy or sell"),(0,r.kt)("li",{parentName:"ul"},"Price: only limit price orders are supported in BNB Beacon Chain v1.0"),(0,r.kt)("li",{parentName:"ul"},"Amount"),(0,r.kt)("li",{parentName:"ul"},"Time In Force: Binance DEX supports ",(0,r.kt)("inlineCode",{parentName:"li"},"Immediate Or Cancel")," (IOC) and ",(0,r.kt)("inlineCode",{parentName:"li"},"Good Till Expiry"),' (GTE)\norders. GTE orders can quote on the exchange until they are filled by the opposite orders satisfying\nthe limit price, or canceled by client themselves, or expire after 72 hours after 00:00 (UTC).\nCheck the "What is ',(0,r.kt)("inlineCode",{parentName:"li"},"Order Expire"),'" section of the FAQ for more information.')),(0,r.kt)("p",null,"Network nodes examine orders to ensure they are valid. Once the orders are accepted, they are\nbooked on the next block, and get matched accordingly."),(0,r.kt)("h4",{id:"what-is-immediate-or-cancel-order"},"What is ",(0,r.kt)("inlineCode",{parentName:"h4"},"Immediate Or Cancel order"),"?"),(0,r.kt)("p",null,"Immediate Or Cancel is a special order type. Once the order is accepted into a block, Immediate Or\nCancel orders only exist in this block round. The order may get filled to zero, or partially or fully\nfilled by other orders, and then will become expired and removed from the order book right away.\nAs a result, it will not be tradable in the next round of matching. A small fee will be charged\nfor the network usage, if there is no fill at all for the order (deemed as no intention to trade)."),(0,r.kt)("h4",{id:"match"},"Match"),(0,r.kt)("p",null,"Binance DEX does all of its matching on the blockchain, i.e. all nodes perform the matches and\nexpect the same result. This is to ensure the maximum transparency and to mitigate the chance\nfor front-running, even from the block producers. The matching infrastructure is expected to\nevolve and grow in capacity as time progresses."),(0,r.kt)("p",null,"Binance DEX doesn't do continuous matching as most centralized exchanges do. Instead, it matches\nusing periodic auction matching for all the existing open orders received in the past and the\nlatest blocks. The match logic is explained in more detail later."),(0,r.kt)("h4",{id:"trade"},"Trade"),(0,r.kt)("p",null,"Once the orders are filled, the corresponding assets will be automatically moved into buyers'\naddresses. The confirmation is instant and no need to wait for further blocks (i.e. T+0 block).\nBuyers can use the bought asset right away, either send it to another address or trade it again."),(0,r.kt)("h4",{id:"what-is-order-expire"},"What is ",(0,r.kt)("inlineCode",{parentName:"h4"},"Order Expire"),"?"),(0,r.kt)("p",null,"Orders accepted by Binance DEX will either get filled with other orders or remain in the order book,\nbut they will not stay on the order book forever. These orders will expire and be removed from the\norder book after the 1st midnight (UTC) after 72 hours once the order gets accepted. A small fee\nwill be charged for the network usage, if there is no fill at all for the order (deemed as no intention to trade)."),(0,r.kt)("h4",{id:"where-can-i-see-my-assets-and-trades"},"Where can I see my assets and trades?"),(0,r.kt)("p",null,"You can always use wallets that support BNB Beacon Chain to check your asset balances, open orders,\nand (optionally) order/trade history. BNB Beacon Chain Explorer is another tool to check balances\nand transactions."),(0,r.kt)("h4",{id:"when-can-i-see-my-order-on-the-blockchain-after-i-send-it"},"When can I see my order on the blockchain after I send it?"),(0,r.kt)("p",null,"It depends. Normally, if you connect to one of the Accelerated Nodes, your orders should get\naccepted and booked into a block in 1-3 seconds. If the order price is marketable, the order\nwill be filled and trades will come back in about similar time. If you send the order from far-way\n(self-setup full node), or there is heavy network traffic, the order may take longer to reach\na Validator (block producer)."),(0,r.kt)("h4",{id:"what-is-the-fee-structure"},"What is the Fee Structure?"),(0,r.kt)("p",null,"Fees are charged and shared among the block producers (i.e. Validators) to run the network,\nin order to pay for the network usage and prevent abuse and attack. Since all user transactions,\ninclude transfer, new order, cancel etc, they are all recorded in blocks and chain state, the fee will be\nshared among different transactions. New orders are exempt from fees to encourage usage and larger\ntrades will be charged more for their benefits from the liquidity provided in the network.\nOrder Expire and Cancel are also charged with a fee if they fail to provide any liquidity. The current fee table is ",(0,r.kt)("a",{parentName:"p",href:"/docs/trading-spec"},"here")),(0,r.kt)("p",null,"Besides the fees, ",(0,r.kt)("strong",{parentName:"p"},"no other gas will be charged.")),(0,r.kt)("p",null,"Fees can be paid in any asset, but the network will charge BNB first and apply a discount if the\naddress has BNB balance."),(0,r.kt)("p",null,"The fee is subject to periodical review and adjustment, after agreement from validators, via a\nproposal-vote procedure. See a fee-change proposal ",(0,r.kt)("a",{parentName:"p",href:"https://explorer.binance.org/tx/B1E78D8275598CB0538C716997EEDD2F1198B82F4D73959C5BF69CBAF4281240"},"here")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Trade fee is calculated based on trade notional value, while fees for other transactions are fixed."),(0,r.kt)("li",{parentName:"ul"},"It is free to send a new GET order, cancel a partially filled order, or expire a partially filled order."),(0,r.kt)("li",{parentName:"ul"},"Non-Trade related transactions will be charged with a fee when the transactions happen, and can\nonly be paid in BNB. The transaction will be rejected if the address does not have enough BNB."),(0,r.kt)("li",{parentName:"ul"},"Trade-related transactions will be charged with a fee when an order is filled, or\ncanceled/expired/IOC-expired with no fills. If there is enough BNB to pay, BNB fee structure will\nbe used, otherwise, non-BNB fee structure will be used instead."),(0,r.kt)("li",{parentName:"ul"},"If the whole order value and free balance for the receiving asset are not enough to pay the fee,\nall the receiving asset and its residual balance will be charged.")),(0,r.kt)("h3",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain--mainnet"},"What is the current Fee Table on BNB Beacon Chain Mainnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for ",(0,r.kt)("strong",{parentName:"p"},"Mainnet")," as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-21")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h3",{id:"what-is-the-current-fee-table-on-bnb-beacon-chain--testnet"},"What is the current Fee Table on BNB Beacon Chain Testnet?"),(0,r.kt)("p",null,"Fees are variable and may change over time as governance proposals are proposed and voted on. The current fees table for Testnet as of ",(0,r.kt)("strong",{parentName:"p"},"2021-03-17")," is as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Transaction Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in Non-BNB Asset"),(0,r.kt)("th",{parentName:"tr",align:null},"Pay in BNB"),(0,r.kt)("th",{parentName:"tr",align:null},"Exchange (DEX) Related"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Order"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"0"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cancel (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Order Expire (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"IOC (No Fill)"),(0,r.kt)("td",{parentName:"tr",align:null},"Equivalent 0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000005 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"Y")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"crossTransferOut"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Multi-send"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Issue Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"10 BNB"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mint Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Transfer ownership"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Burn Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Freeze/Unfreeze Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.001 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Lock/unlock/relock Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List Asset"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"200 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000125 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Enable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Disable Memo Check"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"HTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"depositHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"claimHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"refundHTLT"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TinyIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.4 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"MiniIssueFee"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.6 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"SetTokenUri"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.000075 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"List BEP8 Token"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Create A New Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit Smart Chain Validator Information"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.2 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0002 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Redelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0006 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Undelegate Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Unjail A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Byzaitine Behavior Evidence of A Smart Chain Validator"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.5 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Submit Smart Chain Proposal"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"1 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Deposit"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.00025 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Smart Chain Proposal Vote"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cross transfer out relayer reward"),(0,r.kt)("td",{parentName:"tr",align:null},"N/A"),(0,r.kt)("td",{parentName:"tr",align:null},"0.0004 BNB"),(0,r.kt)("td",{parentName:"tr",align:null},"N")))),(0,r.kt)("h3",{id:"can-i-see-ordersbalances-of-others-or-can-other-people-see-my-ordersbalances"},"Can I see orders/balances of others or can other people see my orders/balances?"),(0,r.kt)("p",null,"Yes, anyone can see anyone's orders and balances if they know the corresponding addresses.\nBNB Beacon Chain is 100% transparent for transactions and balances."),(0,r.kt)("h3",{id:"information-provided-through-api-and-their-usage"},"Information provided through API and their usage"),(0,r.kt)("h4",{id:"is-there-any-limit-to-using-the-api-to-send-orders-or-check-market-data"},"Is there any limit to using the API to send orders or check market data?"),(0,r.kt)("p",null,"Yes, there are rate limits to ensure there is no waste or abuse of the network infrastructure.",(0,r.kt)("br",null),"\nPlease check the API documentation."),(0,r.kt)("h4",{id:"what-does-wallet-and-api-cost-to-use"},"What does Wallet and API cost to use?"),(0,r.kt)("p",null,"No fee or commission at all (free to use)."),(0,r.kt)("h4",{id:"what-market-data-can-i-get"},"What Market Data can I get?"),(0,r.kt)("p",null,"The market data provided via Wallet and API are similar to Binance.com, including ticker data, order book,\ntrade and Kline. They can be seen in the Wallet and read from REST or WebSocket API.",(0,r.kt)("br",null),"\nPlease check the API documentation for details."),(0,r.kt)("h4",{id:"what-are-the-tick-size-and-lot-size-are-they-fixed"},"What are the tick size and lot size? Are they fixed?"),(0,r.kt)("p",null,"Tick size is the minimum unit to increase or decrease for the price (in quote asset) of an order,\nwhile lot size is the minimum unit to increase or decrease for the quantity (in base asset) of an order.",(0,r.kt)("br",null),"\nThey are not the same as on Binance.com. They can be queried from API or checked from Wallet UI."),(0,r.kt)("p",null,"Tick Size and lot size are not fixed. BNB Beacon Chain will automatically/periodically review the values to make\nsure proper order size and notional is applied."),(0,r.kt)("h4",{id:"are-there-limits-on-notional-value-of-an-order"},"Are there limits on notional value of an order?"),(0,r.kt)("p",null,"The smallest order you can send for a trading pair is 1 lot size quantity at 1 tick size price. No other limits."),(0,r.kt)("h3",{id:"what-is-the-decimal-precision-for-prices-and-quantities-on-bnb-beacon-chain-dex"},"What is the decimal precision for prices and quantities on BNB Beacon Chain /DEX?"),(0,r.kt)("p",null,"Amounts are represented as integers, and all coins have a fixed scale of 8.",(0,r.kt)("br",null),"\nThis means that if a balance of 100000000 were to be exposed to a wallet integrator, this will represent a balance of 1 coin."),(0,r.kt)("h3",{id:"i-forgot-the-private-key-for-my-address-how-can-i-get-it-back"},"I forgot the private key for my address, how can I get it back?"),(0,r.kt)("p",null,"Sorry, you cannot. Owner of the address takes full responsibility for the private key protection.\nBNB Beacon Chain and official wallets do not have your private key."),(0,r.kt)("h3",{id:"my-private-key-got-stolen-by-hackers-how-can-i-recover-my-assets"},"My private key got stolen by hackers, how can I recover my assets?"),(0,r.kt)("p",null,"Sorry, you take full responsibility of your private key ownership and protection. BNB Beacon Chain\nand official wallets will not record, or transfer out your private key."),(0,r.kt)("h3",{id:"what-is-the-accelerated-node"},"What is the Accelerated Node?"),(0,r.kt)("p",null,"While users can submit transactions and most of the queries via normal, self-run full nodes.",(0,r.kt)("br",null),"\nAccelerated Node provides more secure and faster lines to access BNB Beacon Chain ."),(0,r.kt)("p",null,"Accelerated Node is special infrastructure built around Validator to facilitate accelerated transaction\nrouting and provide richer, faster user interfaces. There are always several Accelerated Nodes running\nat the same time around the world (owned by different organizations) and you are encouraged to choose\none of them to use, or allow your Wallet choose one randomly.",(0,r.kt)("br",null),"\nFor rapid API access, you'd better stay with one Accelerated Node to get better performance."),(0,r.kt)("h3",{id:"how-can-i-issue-an-asset"},"How can I issue an asset?"),(0,r.kt)("p",null,"Anyone can pay a fee and issue an asset as Token on BNB Beacon Chain , as long as they provide\nproper information for the fields below, and then execute the command through the command line or http interfaces."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Name: a description string of less than 21 characters"),(0,r.kt)("li",{parentName:"ul"},"Symbol: an identifier string less than 9 characters, which must be composed of ","[0-9A-Z]"),(0,r.kt)("li",{parentName:"ul"},"Total Supply: a positive number less than or equal to 90 billions"),(0,r.kt)("li",{parentName:"ul"},"Mint-able: whether the token can increase Total Supply in later time or not")),(0,r.kt)("h3",{id:"what-is-the-consensus-algorithm-used-on-bnb-beacon-chain-"},"What is the consensus algorithm used on BNB Beacon Chain ?"),(0,r.kt)("p",null,"BNB Beacon Chain uses BFT and PoS (upcoming) based consensus mechanism to produce blocks among\na series of qualified Validators. This is similar to the architectures of several existing\npopular blockchain platforms such as EOS and NEO.\nThe process for setting up validators among different entities on BNB Beacon Chain is currently being defined. More details will be shared at a later date."),(0,r.kt)("h3",{id:"can-i-run-a-full-node-for-bnb-beacon-chain-"},"Can I run a full node for BNB Beacon Chain ?"),(0,r.kt)("p",null,"Yes, you can. A full node contains all the information and application logic for BNB Beacon Chain .\nIt can receive and broadcast blocks and transactions with other full nodes and even validators.\nThe only exception is it will not participate in the consensus if the full node is not a Validator."),(0,r.kt)("h3",{id:"does-bnb-beacon-chain-support-smart-contracts"},"Does BNB Beacon Chain support Smart Contracts?"),(0,r.kt)("p",null,"No. This was an intentional design decision to improve the performance of the system and eliminate having to support unnecessary features."),(0,r.kt)("p",null,"If you have certain must-have features, it might be added as a native implementation instead of using smart contract.",(0,r.kt)("br",null),"\nFeel free to talk to ",(0,r.kt)("a",{parentName:"p",href:"https://forum.bnbchain.org/"},"BNB Chain Community"),"."),(0,r.kt)("h3",{id:"how-can-i-transfer-tokens-such-as-bitcoin-from-other-block-chains-onto-bnb-beacon-chain-"},"How can I transfer tokens, such as Bitcoin, from other block chains onto BNB Beacon Chain ?"),(0,r.kt)("p",null,"Right now, there are 2 ways to transfer tokens cross-chain:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"via interoperability among different chains. After the latest \u201cArchimedes\u201d upgrade, ",(0,r.kt)("a",{parentName:"li",href:"https://https://github.com/bnb-chain/BEPs/blob/master/BEP3.md"},"BEP3")," was introduced and it defines native transactions to support ",(0,r.kt)("a",{parentName:"li",href:"https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts"},"Hash Timelock Contract (HTLC)")," on BNB Beacon Chain and it also to defines the infrastructure standard and procedure to use HTLC for inter-chain ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.vision/blockchain/atomic-swaps-explained"},"atomic swap")," to easily swap tokens on different chains. BNB Beacon Chain development community has finished implementing its solution for BEP3 with BEP2 and ERC20 tokens and decided to open-source all of the key components, including\uff1a")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-smartcontracts"},"smart-contract solution")," that supports Atomic Peg Swap (APS) for Ethereum. Please note that this solution is already audited by 3rd party."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/bep3-deputy"},"deputy process")," written in GoLang that handles swap activities")),(0,r.kt)("p",null,"Any developer is welcome to test the solutions in testnet and then use them in mainnet."),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"via Binance.com. ",(0,r.kt)("a",{parentName:"li",href:"https://wwww.binance.com"},"Binance"),",the largest cryptocurrency exchange, has issued a number of crypto-pegged tokens on BNB Beacon Chain (BEP2 token format): ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/BCH-1FD"},"BEP2 BCH"),",",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/XRP-BF2"},"BEP2 XRP"),", ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/LTC-F07"},"BEP2 LTC"),". Pegged tokens such as ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/asset/BTCB-1DE"},"BEP2 Bitcoin"),", are 100% backed by the native coin in ",(0,r.kt)("a",{parentName:"li",href:"https://btc.com/3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb"},"reserve"),". The reserve addresses are published for anyone to audit. Read this ",(0,r.kt)("a",{parentName:"li",href:"https://www.binance.com/en/blog/347360878904684544/Introducing-BitcoinPegged-Token-on-Binance-Chain"},"blog")," to learn about the reserved address. Users are free to convert between native and BEP2 Bitcoin via deposit/withdrawal. This has a higher degree of ease-of-use for most traders. More swap channels will be provided on partner wallets soon.")),(0,r.kt)("p",null,"Atomic swap and this centralized approach are not exclusive to other decentralized approaches, which can also be implemented in parallel. There are many cross-chain solutions being developed and we are very interested in them."),(0,r.kt)("p",null,"Please do ",(0,r.kt)("strong",{parentName:"p"},"NOT")," try to transfer anything on existing network to BNB Beacon Chain testnet, you may experience loss by doing so, because testnet doesn't run with real coins."),(0,r.kt)("h3",{id:"how-is-a-trading-pair-created-on-binance-dex"},"How is a trading pair created on Binance DEX?"),(0,r.kt)("p",null,"The design philosophy of Binance DEX adheres to the idea that the most efficient and low cost way to perform trading and\nprice-discovery is still to use single order book. This single order book is managed and replicated across all\nfull nodes with the same, deterministic matching logic."),(0,r.kt)("p",null,"Simply allowing trading between two assets seems easy enough, however it is expensive for not only the network\nbut also its users in long term (and liquidity costs can be much larger). In order to efficiently use the\nnetwork, BNB Beacon Chain only list assets against BNB and other widely accepted market quote assets."),(0,r.kt)("p",null,'After an asset is issued, which costs a small fee,\nanyone can "propose" to all validators to list it against particular quote assets.\nValidators then vote to accept the proposal.\nA deposit is taken to prevent network abuse.\nOnce the proposal is accepted, the owner of the base asset can list the trading pair.'),(0,r.kt)("p",null,"For more information about this process please check the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/list.md"},"listing guide"),"."),(0,r.kt)("h3",{id:"how-would-a-third-party-integrate-with-bnb-beacon-chain-and-binance-dex"},"How would a third-party integrate with BNB Beacon Chain and Binance DEX?"),(0,r.kt)("p",null,"A wallet provider may choose to only support the feature set of BNB Beacon Chain , which would just\ncover wallets, addresses, balances and transfers.",(0,r.kt)("br",null),"\nTo improve their implementation further, they could choose to integrate Binance DEX which would add trading (order placement and cancellation), historical order and trade views, charts, etc."))}u.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/a30d6a39.96744a72.js b/assets/js/a30d6a39.59b4f5b6.js
similarity index 99%
rename from assets/js/a30d6a39.96744a72.js
rename to assets/js/a30d6a39.59b4f5b6.js
index fe826775f4..71a46715f3 100644
--- a/assets/js/a30d6a39.96744a72.js
+++ b/assets/js/a30d6a39.59b4f5b6.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[3436],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function r(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=o.createContext({}),d=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},c=function(e){var n=d(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=d(t),m=i,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||a;return t?o.createElement(h,r(r({ref:n},c),{},{components:t})):o.createElement(h,r({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,r=new Array(a);r[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:i,r[1]=l;for(var d=2;d{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var o=t(83117),i=(t(67294),t(3905));const a={},r="Join Testnet",l={unversionedId:"beaconchain/develop/node/join-testnet",id:"beaconchain/develop/node/join-testnet",title:"Join Testnet",description:"See the node repo for information on the mainnet,",source:"@site/docs/beaconchain/develop/node/join-testnet.md",sourceDirName:"beaconchain/develop/node",slug:"/beaconchain/develop/node/join-testnet",permalink:"/docs/beaconchain/develop/node/join-testnet",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/develop/node/join-testnet.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"Join Mainnet",permalink:"/docs/beaconchain/develop/node/join-mainnet"},next:{title:"Different Sync Types",permalink:"/docs/beaconchain/develop/node/synctypes"}},s={},d=[{value:"Minimum System Requirements",id:"minimum-system-requirements",level:2},{value:"Setting Up a New Node",id:"setting-up-a-new-node",level:2},{value:"Additional Configuration",id:"additional-configuration",level:3},{value:"Get Extra Information From Your Fullnode",id:"get-extra-information-from-your-fullnode",level:2},{value:"Monitor Syncing Process",id:"monitor-syncing-process",level:5},{value:"Prometheus Metrics",id:"prometheus-metrics",level:2},{value:"Testnet Tools",id:"testnet-tools",level:2}],c={toc:d},p="wrapper";function u(e){let{components:n,...t}=e;return(0,i.kt)(p,(0,o.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"join-testnet"},"Join Testnet"),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"See the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node"},"node repo")," for information on the mainnet,\nincluding the correct version of the binaries to use and details about the genesis file")),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"You need to install ",(0,i.kt)("a",{parentName:"p",href:"/docs/beaconchain/develop/node/install"},"bnbchaind")," before you go further")),(0,i.kt)("h2",{id:"minimum-system-requirements"},"Minimum System Requirements"),(0,i.kt)("p",null,"The hardware must meet certain requirements to run a Full Node."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Desktop or laptop hardware running recent versions of Mac OS X, Windows, or Linux."),(0,i.kt)("li",{parentName:"ul"},"1 TB of free disk space, accessible at a minimum read/write speed of 100 MB/s."),(0,i.kt)("li",{parentName:"ul"},"4 cores of CPU and 8 gigabytes of memory (RAM)."),(0,i.kt)("li",{parentName:"ul"},"A broadband Internet connection with upload/download speeds of at least 1 megabyte per second.")),(0,i.kt)("h2",{id:"setting-up-a-new-node"},"Setting Up a New Node"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"You need to choose a home folder ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME")," (i.e. ~/.bnbchaind) for BNB Beacon Chain. You can setup this by:")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"mkdir ~/.bnbchaind\nmkdir ~/.bnbchaind/config\n")),(0,i.kt)("ol",{start:2},(0,i.kt)("li",{parentName:"ol"},"Download ",(0,i.kt)("inlineCode",{parentName:"li"},"app.toml"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"config.toml")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"genesis.json")," from ",(0,i.kt)("inlineCode",{parentName:"li"},"https://github.com/bnb-chain/node/releases")," and copy them into ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME/config"))),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'wget $(curl -s https://api.github.com/repos/bnb-chain/node/releases/latest |grep browser_ |grep testnet_config |cut -d\\" -f4)\nunzip testnet_config.zip\n')),(0,i.kt)("p",null,"You can edit this moniker later, in the ~/.bnbchaind/config/config.toml file:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-toml"},'# A custom human readable name for this node\nmoniker = ""\n')),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Monikers can contain only ASCII characters. Using Unicode characters will render your node unreachable. ")),(0,i.kt)("p",null,"Now your Full Node has been initialized."),(0,i.kt)("ol",{start:3},(0,i.kt)("li",{parentName:"ol"},"The ",(0,i.kt)("inlineCode",{parentName:"li"},"genesis.json")," file will be downloaded along with the other config files in step #2.")),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"If you want to understand genesis file, click ",(0,i.kt)("a",{parentName:"p",href:"/docs/beaconchain/learn/genesis"},"here"))),(0,i.kt)("ol",{start:4},(0,i.kt)("li",{parentName:"ol"},"Start your Full Node.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"bnbchaind start &\n")),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Alternatively, if you choose a different $BNCHOME location and you are not using the suggested default ",(0,i.kt)("inlineCode",{parentName:"p"},"~/.bnbchaind"),", you may start the full node by using below script, where $BNCHOME is your selected directory. "),(0,i.kt)("p",{parentName:"admonition"},"Example: If you set ",(0,i.kt)("inlineCode",{parentName:"p"},"/usr/local/beaconchain-testnet")," as your home directory. Run the Full Node with below command."),(0,i.kt)("pre",{parentName:"admonition"},(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"bnbchaind start --home /usr/local/beaconchain-testnet &\n"))),(0,i.kt)("p",null,"If you encounter any issue when running a Full Node, you should read the FAQ provided here."),(0,i.kt)("h3",{id:"additional-configuration"},"Additional Configuration"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Seed node: Your Full Node needs to know how to find peers in the blockchain network. You'll need to add healthy seed nodes to $BNCHOME/config/config.toml. The recommended ",(0,i.kt)("inlineCode",{parentName:"li"},"config.toml")," already contains links to some seed nodes.\nIf those seeds aren't working, you can find more seeds and persistent peers in the HTTP API endpoints: ",(0,i.kt)("a",{parentName:"li",href:"https://testnet-dex.binance.org/api/v1/peers"},"https://testnet-dex.binance.org/api/v1/peers")),(0,i.kt)("li",{parentName:"ul"},"Sync type: By default, new nodes will sync with ",(0,i.kt)("inlineCode",{parentName:"li"},"state-sync")," mode. To change sync mode, read the instructions ",(0,i.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/node/synctypes"},"here")),(0,i.kt)("li",{parentName:"ul"},"Log: The log file is under ",(0,i.kt)("inlineCode",{parentName:"li"},"home"),"- the directory specified when starting ",(0,i.kt)("inlineCode",{parentName:"li"},"bnbchaind"),".\nThe latest log file is ",(0,i.kt)("inlineCode",{parentName:"li"},"bnc.log"),". The process will create a new log file every one hour.\nTo make sure you have sufficient disk space to keep the log files, we strongly recommend you to change the log location by changing ",(0,i.kt)("inlineCode",{parentName:"li"},"logFileRoot")," option in ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME/config/app.toml"),"."),(0,i.kt)("li",{parentName:"ul"},"Service Port: RPC service listens on port ",(0,i.kt)("inlineCode",{parentName:"li"},"27147")," and P2P service listens on port ",(0,i.kt)("inlineCode",{parentName:"li"},"27146")," by default.\nMake sure these two ports are open before starting a full node, unless the full node has to listen on other ports."),(0,i.kt)("li",{parentName:"ul"},"Store: All the state and block data will store under ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME/data"),", do not delete or edit any of these files.")),(0,i.kt)("h2",{id:"get-extra-information-from-your-fullnode"},"Get Extra Information From Your Fullnode"),(0,i.kt)("p",null,"If you have a Full Node running, then you can publish extra messages to local files."),(0,i.kt)("h5",{id:"monitor-syncing-process"},"Monitor Syncing Process"),(0,i.kt)("p",null,"You can verify if state sync is done by ",(0,i.kt)("inlineCode",{parentName:"p"},"curl localhost:27147/status")," several times and see whether ",(0,i.kt)("inlineCode",{parentName:"p"},"latest_block_height")," is increasing in response."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'"sync_info": {\n ...\n "latest_block_height": "878092",\n "latest_block_time": "2019-04-15T00:01:22.610803768Z",\n ...\n}\n')),(0,i.kt)("h2",{id:"prometheus-metrics"},"Prometheus Metrics"),(0,i.kt)("p",null,"Prometheus is enabled on port ",(0,i.kt)("inlineCode",{parentName:"p"},"28660")," by default, and the endpoint is ",(0,i.kt)("inlineCode",{parentName:"p"},"/metrics"),"."),(0,i.kt)("h2",{id:"testnet-tools"},"Testnet Tools"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://testnet-explorer.binance.org/"},"Explorer"))))}u.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[3436],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function r(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=o.createContext({}),d=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},c=function(e){var n=d(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=d(t),m=i,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||a;return t?o.createElement(h,r(r({ref:n},c),{},{components:t})):o.createElement(h,r({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,r=new Array(a);r[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:i,r[1]=l;for(var d=2;d{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var o=t(83117),i=(t(67294),t(3905));const a={},r="Join Testnet",l={unversionedId:"beaconchain/develop/node/join-testnet",id:"beaconchain/develop/node/join-testnet",title:"Join Testnet",description:"See the node repo for information on the mainnet,",source:"@site/docs/beaconchain/develop/node/join-testnet.md",sourceDirName:"beaconchain/develop/node",slug:"/beaconchain/develop/node/join-testnet",permalink:"/docs/beaconchain/develop/node/join-testnet",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/beaconchain/develop/node/join-testnet.md",tags:[],version:"current",frontMatter:{},sidebar:"bscSideBar",previous:{title:"Join Mainnet",permalink:"/docs/beaconchain/develop/node/join-mainnet"},next:{title:"Different Sync Types",permalink:"/docs/beaconchain/develop/node/synctypes"}},s={},d=[{value:"Minimum System Requirements",id:"minimum-system-requirements",level:2},{value:"Setting Up a New Node",id:"setting-up-a-new-node",level:2},{value:"Additional Configuration",id:"additional-configuration",level:3},{value:"Get Extra Information From Your Fullnode",id:"get-extra-information-from-your-fullnode",level:2},{value:"Monitor Syncing Process",id:"monitor-syncing-process",level:5},{value:"Prometheus Metrics",id:"prometheus-metrics",level:2},{value:"Testnet Tools",id:"testnet-tools",level:2}],c={toc:d},p="wrapper";function u(e){let{components:n,...t}=e;return(0,i.kt)(p,(0,o.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"join-testnet"},"Join Testnet"),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"See the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/bnb-chain/node"},"node repo")," for information on the mainnet,\nincluding the correct version of the binaries to use and details about the genesis file")),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"You need to install ",(0,i.kt)("a",{parentName:"p",href:"/docs/beaconchain/develop/node/install"},"bnbchaind")," before you go further")),(0,i.kt)("h2",{id:"minimum-system-requirements"},"Minimum System Requirements"),(0,i.kt)("p",null,"The hardware must meet certain requirements to run a Full Node."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Desktop or laptop hardware running recent versions of Mac OS X, Windows, or Linux."),(0,i.kt)("li",{parentName:"ul"},"1 TB of free disk space, accessible at a minimum read/write speed of 100 MB/s."),(0,i.kt)("li",{parentName:"ul"},"4 cores of CPU and 8 gigabytes of memory (RAM)."),(0,i.kt)("li",{parentName:"ul"},"A broadband Internet connection with upload/download speeds of at least 1 megabyte per second.")),(0,i.kt)("h2",{id:"setting-up-a-new-node"},"Setting Up a New Node"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"You need to choose a home folder ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME")," (i.e. ~/.bnbchaind) for BNB Beacon Chain. You can setup this by:")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"mkdir ~/.bnbchaind\nmkdir ~/.bnbchaind/config\n")),(0,i.kt)("ol",{start:2},(0,i.kt)("li",{parentName:"ol"},"Download ",(0,i.kt)("inlineCode",{parentName:"li"},"app.toml"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"config.toml")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"genesis.json")," from ",(0,i.kt)("inlineCode",{parentName:"li"},"https://github.com/bnb-chain/node/releases")," and copy them into ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME/config"))),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'wget $(curl -s https://api.github.com/repos/bnb-chain/node/releases/latest |grep browser_ |grep testnet_config |cut -d\\" -f4)\nunzip testnet_config.zip\n')),(0,i.kt)("p",null,"You can edit this moniker later, in the ~/.bnbchaind/config/config.toml file:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-toml"},'# A custom human readable name for this node\nmoniker = ""\n')),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Monikers can contain only ASCII characters. Using Unicode characters will render your node unreachable. ")),(0,i.kt)("p",null,"Now your Full Node has been initialized."),(0,i.kt)("ol",{start:3},(0,i.kt)("li",{parentName:"ol"},"The ",(0,i.kt)("inlineCode",{parentName:"li"},"genesis.json")," file will be downloaded along with the other config files in step #2.")),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"If you want to understand genesis file, click ",(0,i.kt)("a",{parentName:"p",href:"/docs/beaconchain/learn/genesis"},"here"))),(0,i.kt)("ol",{start:4},(0,i.kt)("li",{parentName:"ol"},"Start your Full Node.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"bnbchaind start &\n")),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Alternatively, if you choose a different $BNCHOME location and you are not using the suggested default ",(0,i.kt)("inlineCode",{parentName:"p"},"~/.bnbchaind"),", you may start the full node by using below script, where $BNCHOME is your selected directory. "),(0,i.kt)("p",{parentName:"admonition"},"Example: If you set ",(0,i.kt)("inlineCode",{parentName:"p"},"/usr/local/beaconchain-testnet")," as your home directory. Run the Full Node with below command."),(0,i.kt)("pre",{parentName:"admonition"},(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"bnbchaind start --home /usr/local/beaconchain-testnet &\n"))),(0,i.kt)("p",null,"If you encounter any issue when running a Full Node, you should read the FAQ provided here."),(0,i.kt)("h3",{id:"additional-configuration"},"Additional Configuration"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Seed node: Your Full Node needs to know how to find peers in the blockchain network. You'll need to add healthy seed nodes to $BNCHOME/config/config.toml. The recommended ",(0,i.kt)("inlineCode",{parentName:"li"},"config.toml")," already contains links to some seed nodes.\nIf those seeds aren't working, you can find more seeds and persistent peers in the HTTP API endpoints: ",(0,i.kt)("a",{parentName:"li",href:"https://testnet-dex.binance.org/api/v1/peers"},"https://testnet-dex.binance.org/api/v1/peers")),(0,i.kt)("li",{parentName:"ul"},"Sync type: By default, new nodes will sync with ",(0,i.kt)("inlineCode",{parentName:"li"},"state-sync")," mode. To change sync mode, read the instructions ",(0,i.kt)("a",{parentName:"li",href:"/docs/beaconchain/develop/node/synctypes"},"here")),(0,i.kt)("li",{parentName:"ul"},"Log: The log file is under ",(0,i.kt)("inlineCode",{parentName:"li"},"home"),"- the directory specified when starting ",(0,i.kt)("inlineCode",{parentName:"li"},"bnbchaind"),".\nThe latest log file is ",(0,i.kt)("inlineCode",{parentName:"li"},"bnc.log"),". The process will create a new log file every one hour.\nTo make sure you have sufficient disk space to keep the log files, we strongly recommend you to change the log location by changing ",(0,i.kt)("inlineCode",{parentName:"li"},"logFileRoot")," option in ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME/config/app.toml"),"."),(0,i.kt)("li",{parentName:"ul"},"Service Port: RPC service listens on port ",(0,i.kt)("inlineCode",{parentName:"li"},"27147")," and P2P service listens on port ",(0,i.kt)("inlineCode",{parentName:"li"},"27146")," by default.\nMake sure these two ports are open before starting a full node, unless the full node has to listen on other ports."),(0,i.kt)("li",{parentName:"ul"},"Store: All the state and block data will store under ",(0,i.kt)("inlineCode",{parentName:"li"},"$BNCHOME/data"),", do not delete or edit any of these files.")),(0,i.kt)("h2",{id:"get-extra-information-from-your-fullnode"},"Get Extra Information From Your Fullnode"),(0,i.kt)("p",null,"If you have a Full Node running, then you can publish extra messages to local files."),(0,i.kt)("h5",{id:"monitor-syncing-process"},"Monitor Syncing Process"),(0,i.kt)("p",null,"You can verify if state sync is done by ",(0,i.kt)("inlineCode",{parentName:"p"},"curl localhost:27147/status")," several times and see whether ",(0,i.kt)("inlineCode",{parentName:"p"},"latest_block_height")," is increasing in response."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'"sync_info": {\n ...\n "latest_block_height": "878092",\n "latest_block_time": "2019-04-15T00:01:22.610803768Z",\n ...\n}\n')),(0,i.kt)("h2",{id:"prometheus-metrics"},"Prometheus Metrics"),(0,i.kt)("p",null,"Prometheus is enabled on port ",(0,i.kt)("inlineCode",{parentName:"p"},"28660")," by default, and the endpoint is ",(0,i.kt)("inlineCode",{parentName:"p"},"/metrics"),"."),(0,i.kt)("h2",{id:"testnet-tools"},"Testnet Tools"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://testnet-explorer.bnbchain.org/"},"Explorer"))))}u.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/df71083d.58f48ae4.js b/assets/js/df71083d.e95b359e.js
similarity index 81%
rename from assets/js/df71083d.58f48ae4.js
rename to assets/js/df71083d.e95b359e.js
index 6cba83d1a8..85d49b5ed2 100644
--- a/assets/js/df71083d.58f48ae4.js
+++ b/assets/js/df71083d.e95b359e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[3369],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function o(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function l(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var i=n.createContext({}),c=function(t){var e=n.useContext(i),a=e;return t&&(a="function"==typeof t?t(e):l(l({},e),t)),a},p=function(t){var e=c(t.components);return n.createElement(i.Provider,{value:e},t.children)},m="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},u=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,o=t.originalType,i=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),m=c(a),u=r,d=m["".concat(i,".").concat(u)]||m[u]||h[u]||o;return a?n.createElement(d,l(l({ref:e},p),{},{components:a})):n.createElement(d,l({ref:e},p))}));function d(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=a.length,l=new Array(o);l[0]=u;var s={};for(var i in e)hasOwnProperty.call(e,i)&&(s[i]=e[i]);s.originalType=t,s[m]="string"==typeof t?t:r,l[1]=s;for(var c=2;c{a.r(e),a.d(e,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=a(83117),r=(a(67294),a(3905));const o={sidebar_label:"Math Wallet",hide_table_of_contents:!1},l="How to use Math Wallet for BNB Smart Chain",s={unversionedId:"wallet/math",id:"wallet/math",title:"How to use Math Wallet for BNB Smart Chain",description:"Install",source:"@site/docs/wallet/math.md",sourceDirName:"wallet",slug:"/wallet/math",permalink:"/docs/wallet/math",draft:!1,editUrl:"https://github.com/bnb-chain/bnb-chain.github.io/blob/master/docs/wallet/math.md",tags:[],version:"current",frontMatter:{sidebar_label:"Math Wallet",hide_table_of_contents:!1},sidebar:"bscSideBar",previous:{title:"Arkane",permalink:"/docs/wallet/arkane"},next:{title:"MyEtherWallet",permalink:"/docs/wallet/myetherwallet"}},i={},c=[{value:"Install",id:"install",level:2},{value:"Setup Your Wallet",id:"setup-your-wallet",level:2},{value:"Get Testnet Fund",id:"get-testnet-fund",level:2},{value:"Transfer BNB from BSC to BC in Testnet",id:"transfer-bnb-from-bsc-to-bc-in-testnet",level:2},{value:"Transfer BEP20 from BSC to BC in Testnet",id:"transfer-bep20-from-bsc-to-bc-in-testnet",level:2},{value:"1. Approve this transactionimg",id:"1-approve-this-transactionimg",level:3},{value:"2. Send BEP20 To BCimg",id:"2-send-bep20-to-bcimg",level:3}],p={toc:c},m="wrapper";function h(t){let{components:e,...a}=t;return(0,r.kt)(m,(0,n.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"how-to-use-math-wallet-for-bnb-smart-chain"},"How to use Math Wallet for BNB Smart Chain"),(0,r.kt)("h2",{id:"install"},"Install"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Get App from Chrome web store"),(0,r.kt)("img",{src:"https://lh5.googleusercontent.com/XbwCKYstUkfmKqHeaZHsU712-id33U5UvR5Dniq2UuwUIRnM8C-cTscbJixIKSFMTCkVBrdb3zmgCa2leASOMlUAgM139TalYkZLyb_eUhWc6xWnTbDj4I8ERd6FI5GlXEYQ2XrL",alt:"img",style:{zoom:"50%"}})),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Add to your browser, for example, Brave"),(0,r.kt)("img",{src:"https://lh6.googleusercontent.com/li_pfeaAEkB4UyYwOl1TdjoF7i7X9lvi8UNPBoUJQJ5Kd7V2Ptaw-00cMzM2CGeKuWb4c_meuE7UWuiPfYpplRTJhrqluYsPyCnfEGNxKJg9znh_o5iyUVitq4kPQ64qNB8zz9ej",alt:"img",style:{zoom:"33%"}}))),(0,r.kt)("img",{src:"https://lh4.googleusercontent.com/b0aBH_0jXMg2U4Ixm-ids57EGqluIih3tQLqOaZIQw3lHW3685vI9QUlcIjCVB7EThsRx86hJwT1jYEGCHHfcyTraY1eStP8VxThXUtgvRypsXyEsw4-bh8Tem9tH2LtUM5_izph",alt:"img",style:{zoom:"50%"}}),(0,r.kt)("h2",{id:"setup-your-wallet"},"Setup Your Wallet"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Set your password")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("img",{src:"https://lh4.googleusercontent.com/04v_hzZBF2wOiNk3XYDKgXi0CzVtfChzC9bIoT0EwCtHMYpGk1OaDfz1bCHAgegKxNHzA14mtHQDoeFnaOTX_BStwTC_GNb-bTzpOihIwjSumdnb2uZtR1obgDYoJwb3aiURKMMz",alt:"img",style:{zoom:"50%"}})),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Choose BSC network"))),(0,r.kt)("img",{src:"https://lh5.googleusercontent.com/vAIW4n_vrcfuqkUJibumqPSGwv3_HeTazQSz0nEFyQz9hntjytTF-i_QiGmPUayUXqMM42dgjJIEdB-dBSygz7i1mrrIJmvQ-6IJNx_HLGtFajxuBDQgXeZd7TTokOX19CSR_OEh",alt:"img",style:{zoom:"33%"}}),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Choose BNB Smart Chain from this list")),(0,r.kt)("img",{src:"https://lh5.googleusercontent.com/k9zfSDN3dSEZDwqqjQriozV-8QiC0Rk1V8U3hWf6i_OD8WvDdmaKL4ZRUVh7nvkAtH0Jl8ZJTj1OEalWwvDY_tdTlRd6jsx3NKYF9pffkMIW97dUMjqmCEDpOcQMNHLv02dfCYHk",alt:"img",style:{zoom:"33%"}}),(0,r.kt)("ol",{start:4},(0,r.kt)("li",{parentName:"ol"},"Create Your Wallet")),(0,r.kt)("img",{src:"https://lh5.googleusercontent.com/ov1JDt8uLKJc8Q8gECGlree_rBkDu6oIUaXLuST6EimwmMSdVlPJIFPBItPIIKl4LqpasKS63y4jRRzKXi5qoT5T_73pD64Q6le9eRI3nXNXEuWSURRdXI-jjl2Pfk0iTQyGMRkz",alt:"img",style:{zoom:"33%"}}),(0,r.kt)("img",{src:"https://lh6.googleusercontent.com/dzx1pjMPq7F4e1N-1UJXrguzRh6W5DNJ3x1t1TsfJktpe2PkhPXWe3gytm-wMroCnhWv-StxFOaz2H54iSUSmIvwup-LshE3-z2AWnVG7ygpyhtE5BK_nOnTasw-CWJAvhOzxtFn",alt:"img",style:{zoom:"33%"}}),(0,r.kt)("ol",{start:5},(0,r.kt)("li",{parentName:"ol"},"Save your private key")),(0,r.kt)("img",{src:"https://lh5.googleusercontent.com/fhgMWkIjTo_KE5QloGrYesFfaOSgHS6KdySsGjMBLYFH1mmRunRmLSTu4CD3ia4S7nWn044g9lvGIBLiH9MkikPBbIBetiWrOTY1TlQA84WJYieMbFpUeY5dTiR1L5eDO6m23c3C",alt:"img",style:{zoom:"33%"}}),(0,r.kt)("p",null,"It\u2019s ready, and now you can get some testnet BNB from the faucet."),(0,r.kt)("h2",{id:"get-testnet-fund"},"Get Testnet Fund"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Copy your address.")),(0,r.kt)("img",{src:"https://lh3.googleusercontent.com/1WquPDgLagkXcni9u9yPXzgaagCRd0nzm49cZ516XZSRB_rlOuybVG48C4R2ozhiSlIizxEMI_J7GexZz64E4vUpH362rrAn74GP1ALLOFOZusF8qjM1Xk71cTo5-EWcFvvqpIRL",alt:"img",style:{zoom:"33%"}}),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Go to ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.binance.org/faucet-smart/"},"https://testnet.binance.org/faucet-smart/"))),(0,r.kt)("p",null,"Go to explorer to verify BNB is sent: ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.bscscan.com/"},"https://testnet.bscscan.com/")),(0,r.kt)("h2",{id:"transfer-bnb-from-bsc-to-bc-in-testnet"},"Transfer BNB from BSC to BC in Testnet"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Create your BNB Chain Ganges Testnet address with tbnbcli")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Download the binary ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/bnb-chain/node/releases/tag/v0.8.1"},"here"),(0,r.kt)("blockquote",{parentName:"li"},(0,r.kt)("p",{parentName:"blockquote"},"If you already have a backup of your recovery phrase from BNB Chain Ganges Testnet, it can be reused here.")))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"tbnbcli keys add {wallet-alias}\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Go to this page: ",(0,r.kt)("a",{parentName:"li",href:"https://developer.mathwallet.org/bsc02/"},"https://developer.mathwallet.org/bsc02/"))),(0,r.kt)("p",null,"Go to this page for mainnet: ",(0,r.kt)("a",{parentName:"p",href:"https://developer.mathwallet.org/bsc01/"},"https://developer.mathwallet.org/bsc01/")),(0,r.kt)("p",null,"Paste your testnet address to ",(0,r.kt)("inlineCode",{parentName:"p"},"Recipient")," and fill the transfer amount.\n",(0,r.kt)("img",{parentName:"p",src:"https://lh6.googleusercontent.com/jBLdydCWQEKJ-ksWfixIUH8qrFC9JEaLw4SbGRWngKCWXAjQDzl0ZCKs3Ajn2ZILcnd2XJzZxK6x62DHNb7_VHaJFm78qvU6zD-fhp5p7KGyDesNz5q6hilLLRbuv1Ygw-46JoBq",alt:"img"})),(0,r.kt)("p",null,"Please note the fees are also deducted for paying gas and cross-chain transfer."),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Approve your transaction")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://lh3.googleusercontent.com/1LZhflItAfxbbPLppP_2mZQXhKlKbvAhk51-Or41wTaHY7Rs3B5g62QO1_4ymA0rgx8HoEmvCyEWbWSm_LOrxXyvHWZ24EsRVSJoLELHdprSiLAMLd5cDiDm_89Nd5z78CP0fPw5",alt:"img"})),(0,r.kt)("ol",{start:4},(0,r.kt)("li",{parentName:"ol"},"Confirm Reception in explorer\nLink: ",(0,r.kt)("a",{parentName:"li",href:"https://testnet-explorer.binance.org/"},"https://testnet-explorer.binance.org/"))),(0,r.kt)("h2",{id:"transfer-bep20-from-bsc-to-bc-in-testnet"},"Transfer BEP20 from BSC to BC in Testnet"),(0,r.kt)("p",null,"One of the key innovations of a dual-chain architecture is that token issuer can manage its assets on both chains. They could bind BEP2 tokens and BEP20 tokens together. In BNB Chain Ganges Testnet, there are several pegged tokens:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Pegged BTC on ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/testnet/asset/BTC-E24"},"BNB Beacon Chain Testnet")," and ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.bscscan.com/address/0x6ce8dA28E2f864420840cF74474eFf5fD80E65B8#code"},"BNB Smart Chain Testnet")),(0,r.kt)("li",{parentName:"ul"},"Pegged ETH on ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/testnet/asset/ETH-64F"},"BNB Beacon Chain Testnet")," and ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.bscscan.com/address/0xd66c6b4f0be8ce5b39d52e0fd1344c389929b378#code"},"BNB Smart Chain Testnet")),(0,r.kt)("li",{parentName:"ul"},"Pegged XRP on ",(0,r.kt)("a",{parentName:"li",href:"https://explorer.binance.org/testnet/asset/XRP-C46"},"BNB Beacon Chain Testnet")," and ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.bscscan.com/address/0xa83575490d7df4e2f47b7d38ef351a2722ca45b9#code"},"BNB Smart Chain Testnet"))),(0,r.kt)("p",null,"You can get some of these pegged tokens from faucet and transfer them back to BNB Beacon Chain testnet."),(0,r.kt)("h3",{id:"1-approve-this-transactionimg"},"1. Approve this transaction",(0,r.kt)("img",{parentName:"h3",src:"https://lh3.googleusercontent.com/bYfuPLKjeTopR_VUzr6MBEHZWy6UkJ10hlXICxbHh7LvoKi5Hdr2aW7Z_nSDgKphaCc9iOijoignzydzmYU1BGOyN6IRHJPHLKia1XD59651hS-EMU9vboqblgBSziivtZGdQ05e",alt:"img"})),(0,r.kt)("h3",{id:"2-send-bep20-to-bcimg"},"2. Send BEP20 To BC",(0,r.kt)("img",{parentName:"h3",src:"https://lh5.googleusercontent.com/_RKYU23BD2xhw-g63K8O3RRF1sEKGAC5zyTOIpWUJl9scDyn1kbjwEO6gjFPkVCeFMoG-8D0xvqNH17sJSlZP_FxCrduCqEKZqHfk8DtTnBk6XKHnHDLPAaR8VjVcNNWZsAw74FB",alt:"img"})))}h.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkbeta_BNB_Docs=self.webpackChunkbeta_BNB_Docs||[]).push([[3369],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function o(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function l(t){for(var e=1;e