Build on Kairos
Multi-chain utility token infrastructure for the next generation of DeFi.
KAIROS Token
Utility token with $1 floor. Deployed on 5+ EVM chains with the same address via CREATE2.
KairosSwap DEX
Native AMM + aggregator routing across 100+ DEXes on 5 chains.
Cross-Chain Bridge
One-click bridge+swap via Li.Fi. Users never need to think about chains.
🚀 Quick Start
1. Read KAIROS Balance
// ethers.js v6 import { ethers } from 'ethers'; const KAIROS = '0xCA3d9274154dE7829Ef4C2BBB144fE954D12316b'; const provider = new ethers.JsonRpcProvider('https://bsc-dataseed1.binance.org'); const contract = new ethers.Contract(KAIROS, [ 'function balanceOf(address) view returns (uint256)', 'function decimals() view returns (uint8)', ], provider); const balance = await contract.balanceOf('0xYourAddress'); console.log('KAIROS:', ethers.formatEther(balance));
2. Swap via KairosSwap Router
const ROUTER = '0x4F8C99a49d04790Ea8C48CC60F88DB327e509Cd6'; const router = new ethers.Contract(ROUTER, [ 'function swapExactTokensForTokens(uint,uint,address[],address,uint) returns (uint[])', ], signer); // Swap 100 KAIROS → USDT const amountIn = ethers.parseEther('100'); const path = [KAIROS, '0x55d398326f99059fF775485246999027B3197955']; // KAIROS → USDT const deadline = Math.floor(Date.now() / 1000) + 600; await router.swapExactTokensForTokens( amountIn, 0, path, signer.address, deadline );
3. Cross-Chain Swap (Li.Fi)
// Bridge + Swap in one transaction const params = new URLSearchParams({ fromChain: '56', // BSC toChain: '8453', // Base fromToken: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', // BNB toToken: KAIROS, // KAIROS on Base fromAmount: ethers.parseEther('0.1').toString(), fromAddress: wallet.address, slippage: '0.005', integrator: 'kairos-exchange', }); const res = await fetch(`https://li.quest/v1/quote?${params}`); const quote = await res.json(); // Execute bridge+swap await signer.sendTransaction(quote.transactionRequest);
📍 Contract Addresses
All Kairos contracts use CREATE2 deployment via Nick's Factory — same address on every chain.
KAIROS Token (V2)
0xCA3d9274154dE7829Ef4C2BBB144fE954D12316b
Universal Infrastructure (CREATE2)
| Contract | Address | Chains |
|---|---|---|
| TokenRegistry | 0x35e76828D1f3969CDfAB39c01C7d9C6188160e9b | 5 EVM chains |
| StakedKairos | 0x155b0E863a7D90B4D363E8dB8dBF19a4a805c272 | 5 EVM chains |
| KairosFarm | 0x5aa9FDb4D86Fbdf040a52237Fb500E162a98856b | 5 EVM chains |
KairosSwap (BSC)
| Contract | Address |
|---|---|
| Factory | 0xB5891c54199d539CB8afd37BFA9E17370095b9D9 |
| Router | 0x4F8C99a49d04790Ea8C48CC60F88DB327e509Cd6 |
Stablecoins (for Pairing)
| Token | BSC Address |
|---|---|
| USDT | 0x55d398326f99059fF775485246999027B3197955 |
| USDC | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d |
| BUSD | 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56 |
🪙 KAIROS Token
ERC-20 utility token with a $1 floor and no ceiling. Solidity 0.8.24, OpenZeppelin v5.4. 8 bps (0.08%) transfer fee.
Features
Key Functions
| Function | Access | Description |
|---|---|---|
| mint(to, amount) | Owner | Mint new KAIROS tokens |
| burn(amount) | Any | Burn your own tokens |
| setFee(bps) | Owner | Set transfer fee in basis points |
| pause() / unpause() | Owner | Emergency pause |
| blacklist(addr) | Owner | Block address (AML/CTF) |
| transfer(to, amount) | Any | Standard ERC-20 transfer |
🔄 KairosSwap AMM
Uniswap V2-compatible AMM deployed on BSC. Factory creates pairs, Router handles swaps.
Router Functions
| Function | Description |
|---|---|
| swapExactTokensForTokens | Swap exact input amount for output tokens |
| swapTokensForExactTokens | Swap tokens to get exact output amount |
| addLiquidity | Add liquidity to a token pair |
| removeLiquidity | Remove liquidity from a pair |
| getAmountsOut | Get expected output for a swap path |
Factory Functions
| Function | Description |
|---|---|
| createPair(tokenA, tokenB) | Create a new trading pair |
| getPair(tokenA, tokenB) | Get pair contract address |
| allPairsLength() | Total number of pairs created |
📋 Token Registry
On-chain token directory. Developers can register tokens, protect brand names, and retrieve verified token metadata across all chains.
const REGISTRY = '0x35e76828D1f3969CDfAB39c01C7d9C6188160e9b'; const registry = new ethers.Contract(REGISTRY, [ 'function registerToken(uint256,address,string,string,uint8,string) payable', 'function getToken(uint256,address) view returns (tuple(string,string,uint8,string,bool,address,uint256))', ], signer); // Register a token (fee: 0.01 BNB) await registry.registerToken( 56, tokenAddress, 'My Token', 'MTK', 18, 'https://example.com/logo.png', { value: ethers.parseEther('0.01') } );
🥩 Staking & Farming
Stake KAIROS to earn sKAIROS, or provide LP tokens to farm yield.
StakedKairos (sKAIROS)
0x155b0E863a7D90B4D363E8dB8dBF19a4a805c272
ERC-4626 vault. Deposit KAIROS, receive sKAIROS representing your share. Auto-compounding rewards.
KairosFarm
0x5aa9FDb4D86Fbdf040a52237Fb500E162a98856b
Deposit LP tokens to earn KAIROS rewards. Multiple pools with different reward rates.
| Function | Contract | Description |
|---|---|---|
| deposit(amount, receiver) | sKAIROS | Stake KAIROS → receive sKAIROS |
| withdraw(amount, receiver, owner) | sKAIROS | Unstake sKAIROS → receive KAIROS |
| stake(pid, amount) | Farm | Stake LP tokens in a pool |
| harvest(pid) | Farm | Claim pending KAIROS rewards |
🔧 CREATE2 Multi-Chain Deploy
Rule #1: Every Kairos contract uses CREATE2 for deterministic addresses across all chains.
How It Works
1. Use Nick's Factory at 0x4e59b44847b379578588920cA78FbF26c0B4956C (deployed on all EVM chains)
2. Send salt + initCode — the factory deploys with CREATE2
3. Same salt + same bytecode = same address on every chain
4. Fund deployer wallet on each target chain, run deploy script
Deploy Script
// scripts/deploy-create2.js (simplified) const NICKS_FACTORY = '0x4e59b44847b379578588920cA78FbF26c0B4956C'; const salt = ethers.id('kairos-v2-your-contract-v1'); // 32 bytes // Get bytecode with constructor args const Factory = await ethers.getContractFactory('YourContract'); const initCode = Factory.bytecode + Factory.interface.encodeDeploy([owner]).slice(2); // compute address before deploy const address = ethers.getCreate2Address(NICKS_FACTORY, salt, ethers.keccak256(initCode)); console.log('Will deploy to:', address); // Deploy on each chain for (const chain of chains) { const tx = await wallet.sendTransaction({ to: NICKS_FACTORY, data: salt + initCode.slice(2), }); await tx.wait(); }
💡 Critical: Constructor params must be identical on every chain. If your constructor takes _owner, use the same owner address everywhere. Different params = different bytecode = different address.
🔐 Authentication API
Base URL: https://api.kairos777.com/api/auth
/register
Create a new account. Returns JWT tokens + user profile.
| Body Param | Type | Required |
|---|---|---|
| string | Yes | |
| password | string | Yes |
| name | string | No |
| walletAddress | string | No |
| referralCode | string | No |
/login
Authenticate user. Returns JWT token (or 2FA challenge if enabled).
| Body Param | Type | Required |
|---|---|---|
| string | Yes | |
| password | string | Yes |
/me
Get current user profile. Requires Authorization: Bearer <token>
/verify-2fa
Complete 2FA verification with TOTP code.
| Body Param | Type |
|---|---|
| tempToken | string (from login response) |
| code | string (6-digit TOTP) |
/refresh
Refresh access token using refresh token.
/2fa/setup
Generate QR code for 2FA setup. Requires auth.
/change-password
Change password. Rate-limited to 15/hour.
/sessions
List all active sessions for current user.
💰 Treasury API
Base URL: https://api.kairos777.com/api/treasury
/balance
Get treasury KAIROS balance and reserves across all chains.
/mint
Mint KAIROS peg tokens. Requires admin/master key.
| Body Param | Type |
|---|---|
| to | address |
| amount | string (wei) |
| chainId | number |
/supply
Total circulating supply across all chains.
👥 Referral API
Base URL: https://api.kairos777.com/api/referral
/code
Get current user's referral code. Requires auth.
/stats
Referral stats: total referred, rewards earned, pending.
/claim
Claim pending referral rewards.
📦 TypeScript SDK
The @kairos-network/sdk provides typed access to all Kairos infrastructure.
Installation
npm install @kairos-network/sdk ethers
Usage
import { KairosClient } from '@kairos-network/sdk'; const client = new KairosClient({ chainId: 56, rpcUrl: 'https://bsc-dataseed1.binance.org', }); // Get KAIROS balance const balance = await client.getBalance('0xYourAddress'); // Get swap quote const quote = await client.getSwapQuote({ fromToken: 'BNB', toToken: 'KAIROS', amount: '1.0', }); // Execute swap const tx = await client.swap(quote, signer);
Modules
| Module | Description |
|---|---|
| KairosClient | Main client with chain config, token info, provider management |
| WalletModule | Create/import/manage wallets, sign transactions |
| ContractsModule | Pre-configured contract instances (KAIROS, Router, Registry) |
| BridgeModule | Cross-chain swaps via Li.Fi protocol |
🌉 Cross-Chain Integration
Integrate cross-chain swaps into your application. Bridge + swap in a single user action.
Architecture
1. User selects Token A on Chain X → Token B on Chain Y
2. crossChainSwap.js detects different chains, fetches Li.Fi quote
3. Li.Fi routes: optimal bridge (Stargate, Across, Hop, etc.) + DEX swap on destination
4. User signs one transaction on source chain
5. Bridge monitors delivery, confirms on destination chain
Integration Code
import { getCrossChainQuote, executeCrossChainSwap, monitorBridgeStatus } from './services/crossChainSwap'; // Get quote: BNB on BSC → KAIROS on Base const quote = await getCrossChainQuote({ fromChainId: 56, toChainId: 8453, fromToken: 'native', toToken: '0xCA3d9274154dE7829Ef4C2BBB144fE954D12316b', fromAmount: ethers.parseEther('0.1').toString(), fromAddress: wallet.address, }); console.log('Route:', quote.route); console.log('ETA:', quote.executionTime, 'seconds'); console.log('Fee:', '$' + quote.fee); // Execute (one TX from user) const result = await executeCrossChainSwap(quote, signer, (status, data) => { console.log(status, data.message); // 'bridging', 'monitoring', etc. }); // Monitor bridge delivery monitorBridgeStatus(result.txHash, 56, 8453, (update) => { if (update.status === 'complete') { console.log('Tokens received!', update.destinationTxHash); } });
Supported Chains
🎨 Brand Guidelines
Colors
Fonts
Playfair Display — Headlines
Inter — Body text, UI elements
JetBrains Mono — Code blocks
Logo Usage
Download assets from /assets/branding/. Use the gold mark on dark backgrounds.