⚙️ Preview mode — contracts not yet deployed to mainnet.
Home Tokens Launch Docs
01 — INTRODUCTION

> Documentation

Kinetic Protocol is a yield-bearing token launchpad on BNB Chain. It introduces kBNB — a wrapped version of BNB that earns ~10% APY passively — and uses kBNB as the base pair for every token launched on the platform.

This means every liquidity pool on Kinetic earns baseline yield from day one, without any additional actions from LPs or traders. The BNB side of every pair is always working.

⚡ Core Insight

Traditional launchpads leave idle BNB in bonding curves earning nothing. Kinetic turns that idle capital into yield-generating kBNB — liquidity that compounds continuously.

Key Concepts

TermDefinition
kBNBYield-bearing wrapped BNB. 1 kBNB = 1 BNB at launch, rate grows over time.
Bonding CurvePrice discovery mechanism. Token price increases as supply is purchased.
GraduationWhen a token raises 69 kBNB on its curve, it moves to PancakeSwap V2 automatically.
Creator Fee0.5% of every buy/sell on your token, paid to you in kBNB, in real-time.
Exchange RateThe kBNB/BNB ratio. Starts at 1.0, increases every block as yield accrues.
02 — kBNB

What is kBNB?

kBNB (Kinetic BNB) is an ERC-20 token on BNB Chain that represents a yield-bearing claim on BNB. It works similarly to stETH on Ethereum — you deposit BNB, receive kBNB, and the kBNB/BNB exchange rate increases over time as yield accrues.

Unlike stETH, kBNB's yield is protocol-controlled. The APY is set on-chain by the Kinetic protocol and is funded through a combination of staking rewards and protocol trading fees.

kBNB Exchange Rate Over Time
// At launch
kBNBRate = 1.000000 // 1 kBNB = 1.00 BNB

// After 6 months @ 10% APY
kBNBRate = 1.048790 // 1 kBNB = 1.049 BNB

// After 1 year @ 10% APY
kBNBRate = 1.100000 // 1 kBNB = 1.10 BNB

// After 3 years (compounded)
kBNBRate = 1.331000 // 1 kBNB = 1.331 BNB (+33.1%)
✅ Non-Custodial

kBNB lives in your wallet. You can unwrap back to BNB at any time, no lockup period. The contract never holds your BNB without your control.

03 — YIELD

Yield Mechanics.

The kBNB yield rate is implemented as a continuously compounding APY stored on-chain. Every time a wrap, unwrap, or accrueYield() is called, the contract calculates elapsed time and updates the exchange rate.

Rate Formula

ACCRUAL (per update)
interest = rateWei × apyBps × elapsedSeconds
÷ (10,000 × 31,536,000)

newRate = rateWei + interest

Where apyBps is the APY in basis points (1000 = 10%). The rate is stored as rateWei — a uint256 scaled to 1e18.

Current Parameters

ParameterValueNotes
apyBps100010% APY. Owner-adjustable, max 50%.
SECONDS_PER_YEAR31,536,000365 days
Initial Rate1e181:1 at launch
Max APY Cap5000 bps50% hard cap in contract
⚠️ Reserve Note

If the kBNB contract's BNB reserve is less than the yield-adjusted redemption value (e.g. before protocol yield is deposited), unwraps are capped at available balance. The protocol must periodically top up reserves to match the rate.

04 — WRAPPING

Wrapping BNB.

Wrapping BNB into kBNB is a single transaction. The KBNB contract accepts BNB via the wrap() payable function and mints the appropriate amount of kBNB at the current exchange rate.

wrap.js — Wrapping BNB via ethers.js
// Connect to KBNB contract
const kbnb = new ethers.Contract(
  KBNB_ADDRESS,
  KBNB_ABI,
  signer
);

// Preview: how much kBNB will I get for 1 BNB?
const preview = await kbnb.previewWrap(
  ethers.utils.parseEther("1.0")
);
// → 0.97230... kBNB (if rate is 1.028)

// Wrap 1 BNB
const tx = await kbnb.wrap({
  value: ethers.utils.parseEther("1.0")
});
await tx.wait();
// kBNB now in your wallet ✅

Unwrapping

To convert kBNB back to BNB, call unwrap(uint256 kbnbAmount). The contract burns your kBNB and sends BNB at the current (higher) exchange rate — capturing your yield.

1

Approve or call directly

unwrap() burns your kBNB directly — no separate approve needed since you're burning your own tokens.

2

BNB sent to your wallet

The contract calculates kbnbAmount × currentRate and transfers that BNB to msg.sender.

3

Yield captured automatically

If you wrapped 1 BNB and rate is now 1.05, unwrapping your kBNB returns 1.05 BNB. No extra claims.

05 — LAUNCHING

Launching a Token.

Anyone can launch a token on Kinetic by calling KineticFactory.launch(). You need 0.1 kBNB approved to the factory contract as a launch fee.

launch.js
// 1. Approve the launch fee
const fee = ethers.utils.parseEther("0.1");
await kbnb.approve(FACTORY_ADDRESS, fee);

// 2. Launch the token
const tx = await factory.launch(
  "FlameToken", // name
  "FLAME", // symbol (max 8 chars)
  "ipfs://...", // image URI
  "A fire token" // description
);
const receipt = await tx.wait();

// 3. Get deployed addresses from event
const event = receipt.events.find(
  e => e.event === 'TokenLaunched'
);
// event.args.token → token address
// event.args.bondingCurve → curve address

The factory deploys a LaunchedToken ERC-20 and a BondingCurve contract. All 1 billion tokens are sent to the bonding curve, ready for purchase.

💡 Token Supply

Every token launched on Kinetic gets exactly 1,000,000,000 tokens. This is fixed in the factory contract. All supply starts in the bonding curve — none goes to the creator directly.

06 — TRADING

Trading Tokens.

Trading happens directly on the BondingCurve contract. Buyers send kBNB, receive tokens. Sellers send tokens, receive kBNB. All trades interact with the constant product curve.

trade.js
// Preview buy (no state change)
const tokensOut = await curve.previewBuy(
  ethers.utils.parseEther("1.0") // 1 kBNB
);

// Approve kBNB spend first
await kbnb.approve(CURVE_ADDRESS, amount);

// Buy with slippage protection (1%)
const minOut = tokensOut * 99n / 100n;
await curve.buy(amount, minOut);

// Sell tokens back
await token.approve(CURVE_ADDRESS, tokenAmt);
await curve.sell(tokenAmt, 0);
07 — GRADUATION

Token Graduation.

When a token's bonding curve raises 69 kBNB in real reserves, it "graduates" — the remaining tokens + all kBNB are deposited as a permanent LP on PancakeSwap V2. LP tokens are sent to the zero address (burned).

1

Target Reached

The 69 kBNB target is checked automatically on every buy. When reached, _graduate() is triggered internally — no manual call needed.

2

PancakeSwap LP Created

The contract calls PancakeSwap's addLiquidity() with all remaining tokens + kBNB. The pair is created if it doesn't exist.

3

LP Tokens Burned

LP tokens go to address(0). The liquidity is permanently locked — no rug possible after graduation.

4

Bonding Curve Closed

The curve's graduated flag is set to true. No more buys/sells on the curve. Trade on PancakeSwap directly.

🔒 Post-Graduation

After graduation, the token has a permanent kBNB/TOKEN pool on PancakeSwap with locked liquidity. The kBNB side of that pool continues earning yield — LP holders benefit from both trading fees and kBNB yield.

08 — FEES

Fee Structure.

FeeAmountRecipientWhen
Launch Fee0.1 kBNBFactory (protocol)Once, on token creation
Platform Fee1.0% of tradeFactory contractEvery buy and sell
Creator Fee0.5% of tradeToken creator walletEvery buy and sell

Fees are taken in kBNB — which means they're themselves earning yield. The protocol accumulates platform fees in the factory contract, withdrawable by the owner. Creator fees go directly to the creator's wallet on each trade.

TRADE EXAMPLE: Buying 1 kBNB of tokens
Platform fee: 1 kBNB × 1.0% = 0.010 kBNB
Creator fee: 1 kBNB × 0.5% = 0.005 kBNB
Net into curve: 0.985 kBNB (used for price calculation)
09 — CONTRACTS

Smart Contract Architecture.

ContractDescription
KBNB.solYield-bearing BNB wrapper. Handles wrap/unwrap, rate accrual, APY management.
KineticFactory.solToken launch factory. Deploys Token + BondingCurve pairs, tracks all launches, collects fees.
BondingCurve.solConstant product price discovery. Handles buy/sell, graduation to PancakeSwap.
LaunchedToken.solMinimal ERC-20. Fixed supply, no minting, immutable after creation.
deployments.json (fill after deploying)
{
  "network": "bsc",
  "chainId": 56,
  "contracts": {
    "KBNB": "0x...",
    "KineticFactory": "0x...",
    "PancakeRouter": "0x10ED43C718714eb63d5aA57B78B54704E256024E"
  }
}
10 — MATH

Bonding Curve Math.

Kinetic uses a constant product formula (same as Uniswap v2) for token pricing on bonding curves. The twist: a virtual kBNB reserve bootstraps the curve so the starting price isn't zero.

INVARIANT
k = (virtualKBNB + realKBNB) × tokenReserve

BUY: tokens received for netKBNBIn
newTokenReserve = k ÷ (virtualKBNB + realKBNB + netKBNBIn)
tokensOut = tokenReserve - newTokenReserve

CURRENT PRICE (kBNB per token)
price = (virtualKBNB + realKBNB) ÷ tokenReserve

Virtual Reserve

The virtual kBNB reserve is 30 kBNB. This sets the initial price without requiring real liquidity upfront. Virtual kBNB cannot be withdrawn — it exists only for price calculation.

ParameterValuePurpose
virtualKBNB30 kBNBBootstraps initial price, non-withdrawable
Initial token supply1,000,000,000All held in bonding curve
Starting price30 ÷ 1,000,000,000 = 3e-8 kBNBVery low, rewards early buyers
targetKBNB69 kBNBReal reserve needed to graduate
11 — SECURITY

Security Design.

ReentrancyGuard on all state-changing functions

KBNB.wrap(), unwrap(), BondingCurve.buy(), sell() are all protected against reentrancy attacks.

No infinite minting

LaunchedToken mints a fixed supply on creation. No mint function exists after deployment.

Burned LP on graduation

LP tokens go to address(0). Creators cannot rug liquidity after a token graduates.

Slippage protection

All buy/sell functions accept a minOut parameter. Transactions revert if slippage exceeds tolerance.

APY hard cap

The KBNB contract enforces a 50% max APY (5000 bps) in the setApy() function. Cannot be overridden.

⚠️ Audit Status

Kinetic contracts have not yet been audited by a third-party security firm. Use at your own risk. Mainnet deployment is planned for Q2 2026. A full audit will be completed before launch.

12 — INTEGRATION

ABIs & Integration.

ABIs for all contracts are available in the /abi/ directory of this site. Import them directly into your dApp:

integration example
import KBNB_ABI from './abi/KBNB.json';
import FACTORY_ABI from './abi/KineticFactory.json';
import CURVE_ABI from './abi/BondingCurve.json';

const kbnb = new ethers.Contract(KBNB_ADDR, KBNB_ABI, signer);
const factory = new ethers.Contract(FACT_ADDR, FACTORY_ABI, signer);

Key Read Functions

FunctionReturns
kbnb.currentRate()uint256 — current kBNB/BNB rate (scaled 1e18)
kbnb.previewWrap(bnbAmt)uint256 — kBNB you'd receive
kbnb.previewUnwrap(kbnbAmt)uint256 — BNB you'd receive
factory.launchCount()uint256 — total tokens launched
factory.getRecentLaunches(n)LaunchInfo[] — latest n launches
curve.currentPrice()uint256 — token price in kBNB (1e18)
curve.graduationProgress()uint256 — 0–10000 bps (0–100%)
curve.previewBuy(kbnbAmt)uint256 — tokens you'd receive
curve.previewSell(tokenAmt)uint256 — kBNB you'd receive
13 — FAQ

Frequently Asked Questions.

Is kBNB the same as wBNB?

No. wBNB (wrapped BNB) is a 1:1 peg with no yield. kBNB appreciates vs BNB over time — 1 kBNB = more BNB every block. It's a yield-bearing position, not just a wrapper.

Can I lose money holding kBNB?

kBNB is denominated in BNB. If BNB price drops, your USD value drops. But in BNB terms, your kBNB balance always converts to more BNB over time (barring a contract exploit).

Where does the 10% APY come from?

Protocol-controlled yield. The Kinetic team deposits yield into the KBNB contract periodically, sourced from staking rewards and platform fee revenue. Unlike emissions-based APY, it's backed by real BNB.

What happens if a token never reaches 69 kBNB?

It stays on the bonding curve indefinitely. Holders can still buy and sell. There's no expiry. If the community loses interest, early buyers who paid low prices can exit at any time (though at lower prices).

Can the creator rug?

Before graduation: no — the creator never holds the token supply. It's all in the bonding curve contract. After graduation: no — LP is burned to address(0). The creator only earns their 0.5% fee on trades.

What is the minimum buy amount?

No enforced minimum. However, very small buys may receive very few tokens due to bonding curve math. The contract reverts if tokensOut == 0.

When is mainnet launch?

Target: Q2 2026. A third-party smart contract audit will be completed before mainnet deployment.

14 — ROADMAP

What's Next.

Smart Contracts Written & Tested

KBNB, KineticFactory, BondingCurve, LaunchedToken — 14/14 tests passing. Compiled and ready.

Frontend DApp Built

Full web interface: wrap/unwrap, token explorer, launch form, trade modal. Connected to contract ABIs.

Q2

Third-Party Audit

Full security audit of all 4 contracts by an independent firm before mainnet deployment.

Q2

BSC Mainnet Deploy

Deploy KBNB + KineticFactory to BSC mainnet. Verify on BSCScan. Launch publicly.

Q3

Real Yield Integration

Integrate with Lista DAO (slisBNB) and Stader (BNBx) as actual yield sources, replacing protocol-funded APY.

Q3

$KIN Token Launch

Governance token launch. $KIN holders can boost kBNB APY by staking, vote on protocol parameters.

Q4

Mobile App

iOS + Android app for wrapping, trading, and monitoring launched tokens on the go.