The Business Problem the Protocol Addresses
BigShort connects early issuance on a curve with later spot trading and token-borrowing short sales. This version runs on BSC (Chain ID 56): Factory manages a BNB-settled virtual-reserve curve. Once sale inventory reaches zero, actual funds are wrapped to WBNB and atomically migrated with reserved Token to PancakeSwap V2 Pair and deploy and initialize the market’s separate Short Engine.
These shorts actually borrow and sell Token into Pair and must buy Token back when exiting. They are not virtual positions settling only an index-price difference. Pool depth, risk capacity, and lendable inventory jointly constrain execution.
The initial mint amount for the current group is 11,997,367,528 Token: curve supply is 10,000,000,000 Token, comprising 8,000,000,000 for sale and 2,000,000,000 for migration, plus 1,997,367,528 Token for lending. Burn tax can subsequently reduce Total supply decreases, but protocol market cap still uses the group’s fixed curve-supply parameter.
The Complete Business Flow
| Stage | User action | Protocol action | Core state |
|---|---|---|---|
| Creation | Submit name, symbol, URI, salt, and tax settings | Create the Token contract under the default MarketGroup and reserve its Engine address | The creator is the caller; Token enters Bonding |
| Internal market | Buy or sell back Token with BNB | Update virtual reserves, actual funds, and sale inventory | Only net curve funds enter actual reserves |
| Curve completion | Buy the remaining inventory available for sale | Wrap actual BNB, fund the bound Pair, and deploy/initialize Engine | On success, enter Migrated; on failure, revert the entire transaction |
| External spot market | Trade through a route supporting the relevant Token tax behavior | Pancake V2 swaps Token/WBNB; optional taxes depend on transfer endpoints | Actual Pair reserves determine price |
| Short selling | Deposit BNB collateral and specify notional | The Engine borrows and sells Token, receives WBNB, then unwraps it into BNB for accounting | Each user may have at most one active position in each Engine |
| Exit / liquidation | Partial close, full close, or authorized liquidation | Wrap BNB to repurchase debt Token; settle Funding, bad debt, and Legacy | Return inventory and update liabilities |
Module Responsibilities
| Module | Responsibilities | Deployment type / scope |
|---|---|---|
| Factory | Creation, curve trading, migration, and business role management | Transparent Proxy shared across markets |
| Registry | Store MarketGroup economic/venue snapshots, Token records, reserved Engine addresses, and migration records | Separate Transparent Proxy with its own Owner |
| ProtocolDeployer | Predict and deploy deterministic business proxies | Ordinary deployed contract with no Owner and no upgrade mechanism |
| TaxProcessor | Processes transaction taxes for this Token. | One contract per taxed Token; none for an untaxed Token |
| Short Engine | Lending inventory, positions, Funding, liquidation, Legacy, and revenue liabilities | One contract per market, deployed at migration |
| RiskOracle | TWAP observations and confirmed risk capacity | One contract per MarketGroup; state isolated by Engine |
| Quoter | Curve quotes, risk previews, and executable short-selling capacity | Read-only helper module |
| Engine Event Emitter | Emit Engine / Position snapshots | Shared helper; logs still originate from the Engine proxy |
Each market’s Token, Engine and TaxProcessor maintain separate accounting; the group Oracle tracks each Engine separately.
Each market’s lending inventory is separate, not a platform-wide shared pool. Token debt, bad debt, and lendable principal are accounted for separately. A new MarketGroup does not automatically rewrite existing markets’ economic or venue snapshots. Disabling a group blocks new token creation, but does not stop existing markets’ trading or migration.
Asset and amount definitions
- Underlying Token: 18 decimals; used for both spot trading and lending principal.
- BNB: 18-decimal native settlement asset for curve payments, collateral, Funding, Legacy, and native revenue.
- Notional, net sale proceeds, user collateral, and position margin are different values and must not share one “position amount” label.
For detailed definitions, see Precision and Mathematical Conventions and Position Lifecycle.