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
BSC (56) Ethereum (1) Base (8453) Arbitrum (42161) Polygon (137) Kairos L1 (7778)

Universal Infrastructure (CREATE2)

ContractAddressChains
TokenRegistry0x35e76828D1f3969CDfAB39c01C7d9C6188160e9b5 EVM chains
StakedKairos0x155b0E863a7D90B4D363E8dB8dBF19a4a805c2725 EVM chains
KairosFarm0x5aa9FDb4D86Fbdf040a52237Fb500E162a98856b5 EVM chains

KairosSwap (BSC)

ContractAddress
Factory0xB5891c54199d539CB8afd37BFA9E17370095b9D9
Router0x4F8C99a49d04790Ea8C48CC60F88DB327e509Cd6

Stablecoins (for Pairing)

TokenBSC Address
USDT0x55d398326f99059fF775485246999027B3197955
USDC0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d
BUSD0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56

🪙 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

Mint/Burn — Owner-controlled supply management
Pausable — Emergency circuit breaker
Fee-on-Transfer — Configurable 0.08% fee
Blacklist — AML/CTF compliance
CREATE2 — Same address on all chains
Ownable — Single owner with transfer capability

Key Functions

FunctionAccessDescription
mint(to, amount)OwnerMint new KAIROS tokens
burn(amount)AnyBurn your own tokens
setFee(bps)OwnerSet transfer fee in basis points
pause() / unpause()OwnerEmergency pause
blacklist(addr)OwnerBlock address (AML/CTF)
transfer(to, amount)AnyStandard ERC-20 transfer

🔄 KairosSwap AMM

Uniswap V2-compatible AMM deployed on BSC. Factory creates pairs, Router handles swaps.

Router Functions

FunctionDescription
swapExactTokensForTokensSwap exact input amount for output tokens
swapTokensForExactTokensSwap tokens to get exact output amount
addLiquidityAdd liquidity to a token pair
removeLiquidityRemove liquidity from a pair
getAmountsOutGet expected output for a swap path

Factory Functions

FunctionDescription
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.

FunctionContractDescription
deposit(amount, receiver)sKAIROSStake KAIROS → receive sKAIROS
withdraw(amount, receiver, owner)sKAIROSUnstake sKAIROS → receive KAIROS
stake(pid, amount)FarmStake LP tokens in a pool
harvest(pid)FarmClaim 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

POST /register

Create a new account. Returns JWT tokens + user profile.

Body ParamTypeRequired
emailstringYes
passwordstringYes
namestringNo
walletAddressstringNo
referralCodestringNo
POST /login

Authenticate user. Returns JWT token (or 2FA challenge if enabled).

Body ParamTypeRequired
emailstringYes
passwordstringYes
GET /me

Get current user profile. Requires Authorization: Bearer <token>

POST /verify-2fa

Complete 2FA verification with TOTP code.

Body ParamType
tempTokenstring (from login response)
codestring (6-digit TOTP)
POST /refresh

Refresh access token using refresh token.

POST /2fa/setup

Generate QR code for 2FA setup. Requires auth.

POST /change-password

Change password. Rate-limited to 15/hour.

GET /sessions

List all active sessions for current user.

💰 Treasury API

Base URL: https://api.kairos777.com/api/treasury

GET /balance

Get treasury KAIROS balance and reserves across all chains.

POST /mint

Mint KAIROS peg tokens. Requires admin/master key.

Body ParamType
toaddress
amountstring (wei)
chainIdnumber
GET /supply

Total circulating supply across all chains.

👥 Referral API

Base URL: https://api.kairos777.com/api/referral

GET /code

Get current user's referral code. Requires auth.

GET /stats

Referral stats: total referred, rewards earned, pending.

POST /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

ModuleDescription
KairosClientMain client with chain config, token info, provider management
WalletModuleCreate/import/manage wallets, sign transactions
ContractsModulePre-configured contract instances (KAIROS, Router, Registry)
BridgeModuleCross-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 XToken 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

🟡
BSC
Chain 56
🔷
Ethereum
Chain 1
🔵
Base
Chain 8453
🔹
Arbitrum
Chain 42161
🟣
Polygon
Chain 137
Kairos L1
Chain 7778

🎨 Brand Guidelines

Colors

#D4AF37
#0D0D0D
#1A1A2E
#FFFFFF

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.