BigShort Docs

Migration and External AMM

BNB/WBNB wrapping, reserved Engine deployment, LP locking, donation boundaries, and Pancake V2 pricing at BSC graduation.

Once curve-sale Token inventory reaches zero, the protocol transfers Reserved 2,000,000,000 Token + all actual curve BNB reserves into the PancakeSwap V2 Token/WBNB Pair, and deploy and initialize a separate Short Engine. Migration does not use virtual BNB, mix funds from other curves, or add lending inventory to the AMM.

1. Trigger and atomic execution order

Order Action Result
1 Settle the final purchase, deliver Token, process tax, and refund Sale inventory reaches zero; record Complete and post-curve state
2 Read this Token’s MarketGroup and reserved Engine Do not use a subsequently selected default group or a different deployer
3 Enter Migrating; recheck Pair, venue, reserves, and balances Reject invalid venues or Token contamination
4 Wrap all actual BNB reserves into WBNB Verify BNB decrease and WBNB increase wei for wei
5 Transfer migration Token and the full WBNB amount to Pair Verify actual receipts without precision truncation
6 Registry records migration reserves; the fixed deployer deploys the reserved Engine contract Bind the Engine to its market, economic snapshot, and existing lending inventory
7 Verify Engine bindings and open external Token trading externalTradingEnabled=true
8 Zero this curve’s actual BNB ledger and save migration results Final state: Migrated

2. Native BNB and WBNB: equal precision, separate balances

Scenario Asset / unit
Curve payments, Factory curve accounting, and Engine position settlement BNB, 18-decimal wei
Pair reserves and Router inputs/outputs WBNB, 18-decimal wei

If this curve’s actual BNB reserves are Q, the amount wrapped and deposited as WBNB is:

Qwrapped=Qmigrated=QQ_{\mathrm{wrapped}}=Q_{\mathrm{migrated}}=Q

Every wei enters the Pair. No migration dust arises from decimal conversion, and no such dust-claim ledger exists. BNB and WBNB balances are separate. Receiving BNB does not automatically increase WBNB. The Factory verifies balance changes before and after wrapping and Pair transfers.

3. Sellout example for the current group

Example D: buy all inventory once from the initial state, without Token tax or donations

Purchase all 8,000,000,000 Token using raw 18-decimal integer calculations:

Q=⌈(6.14×1018)(8,000,000,000×1018)(11,070,367,520−8,000,000,000)×1018⌉Q=\left\lceil\frac{(6.14\times10^{18})(8{,}000{,}000{,}000\times10^{18})}{(11{,}070{,}367{,}520-8{,}000{,}000{,}000)\times10^{18}}\right\rceil
Item Exact result
Net amount entering the curve 15.998084815592369216 BNB
Token deposited into the Pair 2,000,000,000 Token
WBNB deposited into the Pair 15.998084815592369216 WBNB
Raw WBNB integer deposited into the Pair 15998084815592369216

Curve endpoint, actual external reserves, and ideal anchor

Metric Result of this example Purpose
Endpoint virtual BNB 22.138084815592369216 BNB Virtual curve reserves
Endpoint virtual Token 3,070,367,520 Token Virtual curve reserves
Curve-endpoint protocol market cap 72.102393838482141108 BNB Virtual-reserve ratio times fixed curve supply
Actual initial external-market WBNB 15.998084815592369216 WBNB Actual Pair reserves
Actual initial external-market Token 2,000,000,000 Token Actual Pair reserves
Actual initial protocol market cap 79.990424077961846080 BNB actualStartMarketCap
Fixed ideal migration BNB anchor 15.998084815592369216 BNB Group risk-model parameters
Fixed ideal migration market cap 79.990424077961846080 BNB Group risk/collateral model anchor

Actual external reserves equal the ideal anchor here because this example starts clean, buys all inventory once, and has no donation. It does not force the same deposit on every graduation. Virtual curve reserves and actual external reserves are distinct; marginal prices need not be wei-continuous across migration.

4. Pre-created Pair, donations, and contamination checks

Key checks include:

  • Both the Pair’s Token reserve and actual Token balance are zero.
  • Recorded WBNB reserves do not exceed the actual WBNB balance.
  • The Pair must be the Token/WBNB pair registered by the group’s venue Factory, with matching predicted address, asset order, and runtime code hash.
  • The actual WBNB received in this transaction equals this curve’s migration amount.
  • All minted LP is held by the zero address. Token reserves equal the migration allocation; WBNB reserves equal the actual pre-migration balance plus this deposit.

A failed check reverts the final purchase. Venue Factory/Router code hashes and relationships must still be verified; Engine is deployed using the deployer and address reserved at creation.

Let the actual WBNB balance in Pair before migration be QpreQ_{\mathrm{pre}}:

Qactual=Qpre+QQ_{\mathrm{actual}}=Q_{\mathrm{pre}}+Q

The donation remains in the pool without refund to the donor or final buyer; it increases the actual initial price and actualStartMarketCap without changing the fixed ideal anchor or bypassing gradual TWAP confirmation.

Example E: the same graduation with an extra 1 WBNB donation retained

Item No donation Extra 1 WBNB
Token reserves 2,000,000,000 2,000,000,000
WBNB reserve 15.998084815592369216 16.998084815592369216
Actual initial protocol market cap (BNB) 79.990424077961846080 84.990424077961846080
Fixed ideal market cap (BNB) 79.990424077961846080 79.990424077961846080

This example does not imply unlimited donations are acceptable. Reserve integer ranges, LP rules, and execution limits still apply. Normal Pair operations may remove an unsynchronized donation before migration; the balance at execution determines the result.

BNB sent directly to Factory does not automatically increase a Token’s realNativeReserves; WBNB sent directly to Factory is not automatically this Token’s migration funding either. Keep curve accounting, Factory balance, and actual Pair balance separate.

5. LP and lending inventory

LPBalancezero=LPTotalSupply\mathrm{LPBalance}_{\mathrm{zero}}=\mathrm{LPTotalSupply}

Returned liquidity must be positive, and total LP must exceed the returned amount to cover V2’s initial minimum-liquidity structure. The creator, protocol wallet, operators, and final buyer receive no migration LP.

“Locked/burned LP” here means held by the zero address and not redeemable by ordinary accounts. It does not mean the LP’s Total supply being zeroed, nor underlying Token being burned. It does not establish that no one can ever add external AMM liquidity later.

1,997,367,528 Token in lending inventory was already minted to the reserved Engine address. Migration only deploys and initializes Engine; it does not mint again or add this principal to Pair. Engine manages inventory using its separate ledger and actual balance.

BigShort Protocol · BSCIssue · Trade · Short