Docs / Reference / Parameters
Parameters
Every value the protocol reads, in one place: what it is, what it is set to, who can change it and what bounds it. Values shown as — are not readable until the contracts are deployed.
Reading the tables
| Column | Meaning |
|---|---|
| Set by | Constant is compiled in and cannot be changed after deploy. Owner is settable by the contract owner. Acquirer is chosen per request by whoever is acquiring. Coordinator is enforced by Chainlink VRF rather than by BWA. |
| Hard cap | A bound the contract or the coordinator refuses to exceed. — means no cap is specified, and the deployed contract is the authority on whether one exists. |
| Units | bps is basis points, where 10000 is 100%. |
Pricing and selection
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| minBackingBps | 2500 | bps of pool EV, the deposit floor | Owner | 5000 |
| weight numerator | 1e36 | integer | Constant | — |
| surchargeBps | 250 | bps over EV | Owner | — |
| selectionSlippageBps | 1000 | bps, upward drift | Owner | — |
| downward tolerance | 0 to 10000 | bps, per request | Acquirer | 10000 |
| maxAcquisitionFee | optional | wei, per request | Acquirer | — |
| minWeightedValue | optional | wei, per request | Acquirer | — |
Detail on weighting and slippage.
Settlement
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| acquirer choice window | 24 | hours from the draw | Owner | — |
| open finalisation | 7 | days from the draw | Owner | — |
| settlement discount | 1000 | bps of backing | Owner | — |
| standing bid payout | 9000 | bps of backing | Derived | 10000 |
| ownerSettlementFeeBps | 100 | bps of backing | Owner | — |
The standing bid payout is not stored separately. It is whatever is left after the settlement discount. Detail on Settlement.
Fees
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| ownerAcquisitionFeeBps | 100 | bps of the acquisition fee | Owner | — |
| ownerSettlementFeeBps | 100 | bps of backing | Owner | — |
| token trading fee | 500 | bps of a buy or sell | Owner | 500 |
| protocolFeeToTokenBps | 10000 | bps of protocol fees | Owner | 10000 |
| marketing wallet | — | address | Owner | — |
ownerAcquisitionFeeBps is taken out of the surcharge, so changing it does not change the acquirer price. Detail on Fees.
Dynamic surcharge split
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| hotGap | 60 | seconds | Owner | — |
| coldGap | 3600 | seconds | Owner | — |
| forcedTokenShareBps | unset | bps | Owner | 10000 |
At or below hotGap the remaining surcharge goes entirely to depositors. At or above coldGap it goes entirely to buying $BWA. Between the two it interpolates linearly. The schedule.
Token and emissions
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| total supply | 1,000,000,000 | BWA | Constant | fixed at construction |
| decimals | 18 | integer | Constant | 18 |
| liquidity allocation | 6000 | bps of supply | Constant | — |
| depositor emissions | 2000 | bps of supply | Constant | — |
| acquirer emissions | 2000 | bps of supply | Constant | — |
| team, presale, private | 0 | bps of supply | Constant | 0 |
| emission duration | 20 | days | Constant | — |
| depositor accumulator | accTokenPerSqrt | sqrt of backing | Constant | — |
| acquirer epoch length | 1 | day | Constant | — |
Depositor emission pauses while the pool is empty. Detail on $BWA.
Buyback
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| buyback cap per call | 1 | BNB | Owner | — |
| caller incentive | 50 | bps of BNB spent | Owner | — |
| to acquirer epochs | 4000 | bps of tokens bought | Constant | — |
| to depositor accumulator | 3000 | bps of tokens bought | Constant | — |
| burned | 3000 | bps of tokens bought | Constant | — |
| payoutFees() | permissionless | call | Anyone | — |
| buyback() | permissionless | call | Anyone | — |
The depositor share is burned instead of accrued when there are no active depositors. Detail.
Randomness
| Parameter | Value | Units | Set by | Hard cap |
|---|---|---|---|---|
| VRF coordinator | 0xd691f0…694C9 | address | Owner | — |
| subscription id | — | uint256 | Owner | — |
| key hash | 200 or 500 gwei lane | bytes32 | Owner | — |
| request confirmations | — | blocks | Owner | 3 min, 200 max |
| words per request | 1 | random words | Owner | 500 |
| callback gas limit | — | gas | Owner | 2,500,000 |
| request expiry | — | seconds | Owner | — |
| VRF service fee | — | wei, per request | Coordinator | never refundable |
The confirmation range, word count and callback gas ceiling are enforced by the coordinator, not by BWA. Detail on Randomness.
Fixed addresses
Live BNB Smart Chain mainnet addresses. Copy them from here rather than typing them out.
- Chain id
- 56 (0x38)
- RPC
- https://bsc-rpc.publicnode.com
- Explorer
- https://bscscan.com
- PancakeSwap V2 router
- 0x10ED43C718714eb63d5aA57B78B54704E256024E
- PancakeSwap V2 factory
- 0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73
- WBNB
- 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
- VRF v2.5 coordinator
- 0xd691f04bc0C9a24Edb78af9E005Cf85768F694C9
- LINK
- 0x404460C6A5EdE2D891e8297795264fDe62ADBB75
- Key hash, 200 gwei
- 0x130dba50ad435d4ecc214aad0d5820474137bd68e7e77724144f27c3c377d3d4
- Key hash, 500 gwei
- 0xeb0f72532fed5c94b4caf7b49caf454b35a729608a441101b9269efb7efe2c6c
Build settings
| Setting | Value |
|---|---|
| Compiler | solc 0.8.34 |
| Optimizer | enabled, 200 runs |
| EVM version | cancun |
| Chain | BNB Smart Chain, 56 |
| Block time | 0.45s |
Cancun is supported on BNB Smart Chain. These are the settings the contracts are built with, so anyone recompiling from source reproduces the bytecode verified on BscScan.
Deployed addresses
Not deployed
BWA contract addresses are published here once the contracts are live and verified on BscScan.