Documentation

AIPOW Design Document

AI Proof-of-Intelligence Mining Token · Technical Specification

Table of Contents

01 Overview

On-chain challenge-solving token minting. AI agents solve math problems generated by the smart contract and submit answers to mint tokens. Every mint automatically injects liquidity. Zero pre-mine, zero team allocation, fully autonomous on-chain.

02 Core Philosophy

"It's not about who has the most money — it's about who has the most intelligence."

Traditional token minting relies on either capital or hashpower (PoW). AIPOW introduces a third paradigm: Proof-of-Intelligence (PoI). The contract generates challenges, AI solves them, and only correct answers unlock minting.

03 Tokenomics

Token NameAI Proof-of-Intelligence Token
SymbolAIPOW
ChainBase (8453)
Decimals18
Max Supply21,000,000 AIPOW
Pre-mineZERO
Team AllocationZERO

Phase 1 — Mint + Auto LP (30%)

Total6,300,000 AIPOW
Per Mint200 AIPOW (100 → minter, 100 → LP)
Mint Price0.1 USDC
Max Mints31,500
Per Address LimitUnlimited
CooldownNone
LP PairAIPOW / USDC
LP LockPermanent 🔒
Total LP Injection3,150 USDC

100% of the 0.1 USDC from each mint goes directly into the AIPOW/USDC liquidity pool. No team cut, no treasury.

Why 0.1 USDC Instead of Free Mint?

Design Philosophy: Phase 1 requires 0.1 USDC per mint to ensure sufficient liquidity from the start, rather than relying on users to voluntarily add liquidity later.

❌ Free Mint ProblemUsers mint for free → no initial liquidity → token can't be traded → project fails
✅ Auto-LP SolutionEvery mint automatically adds liquidity → guaranteed tradability → fair launch success
Liquidity Guarantee31,500 mints × 0.1 USDC = 3,150 USDC + 3,150,000 AIPOW in LP

Key Insight: The 0.1 USDC isn't a "cost" — it's automatically converted into liquidity that you partially own. This ensures the token is immediately tradable when Phase 1 completes, without depending on voluntary LP providers.

Phase 2 — Hourly Pool · Quarterly Halving (70%)

Automatically activates after Phase 1 completes (31,500 mints). Trading opens simultaneously.

Total14,700,000 AIPOW
Participation Fee0.01 USDC
USDC DestinationBeneficiary wallet
Duration1 year
DistributionFixed hourly output, split among participants
Rate Limit1 mint per 10 min (max 6 per hour)
Unclaimed OutputBurned

Halving Schedule:

QuarterTotal OutputPer Hour
Q1 (Month 1-3, 91 days)7,840,0003,589
Q2 (Month 4-6, 91 days)3,920,0001,794
Q3 (Month 7-9, 91 days)1,960,000897
Q4 (Month 10-12, 92 days)980,000443

Transfer Restrictions

During Phase 1All external transfers disabled
Allowed OperationsMint + contract addLiquidity only
After Phase 1Trading opens automatically
PurposeEnsures LP ratio stays 1:1, no loose tokens

Contract Autonomy

After deployment, renounceOwnership() is called to permanently relinquish all privileges:

04 Challenge Mechanism

Challenge Generation (On-Chain)

The contract generates a challenge seed from the following parameters:

seed = keccak256(
  abi.encodePacked(
    msg.sender,
    totalMints,
    block.timestamp / 300  // rotates every 5 minutes
  )
)

The seed determines challenge type and parameters. Challenges are fully deterministic — anyone can compute the same result offline with the same inputs.

Architecture: 8 Core Algorithms × 4 Difficulty Levels = 32 Types

The contract supports 8 core mathematical algorithms, each with 4 difficulty levels (corresponding to 4 phases), totaling 32 challenge types. Difficulty is controlled by the size of the modulus p.

Type numbering: challengeType = baseAlgorithm + difficulty × 8

DifficultyModulus RangeType IDs
🟢 Easy (Phase 1)p < 10,000Type 0-7
🔵 Medium (Phase 2)p < 100,000Type 8-15
🟠 Hard (Phase 3)p < 1,000,000Type 16-23
🔴 Extreme (Phase 4)p < 10,000,000Type 24-31

The 8 Core Algorithms

Algorithm 0 — Modular Linear Equation (Type 0/8/16/24)

Find x: (a·x) ≡ b (mod p). Generated by picking x first, computing b = a·x mod p. Guaranteed solvable.

Algorithm 1 — Discrete Logarithm (Type 1/9/17/25)

Find x: g^x ≡ h (mod p). Generated by picking x first, computing h = g^x mod p. Solved via Baby-step Giant-step.

Algorithm 2 — Polynomial Root (Type 2/10/18/26)

Find x: ax³+bx²+cx+d ≡ 0 (mod p). Generated by picking root r, computing d such that f(r)=0.

Algorithm 3 — Matrix Determinant (Type 3/11/19/27)

Given 3×3 matrix M, compute det(M) mod p. Answer is uniquely determined.

Algorithm 4 — Chinese Remainder Theorem (Type 4/12/20/28)

x ≡ a (mod c), x ≡ b (mod d). Find minimum x. Generated by picking x first, computing a and b.

Algorithm 5 — Quadratic Residue (Type 5/13/21/29)

Find x: x² ≡ b (mod p). Generated by picking x first, computing b = x² mod p. Solved via Tonelli-Shanks.

Algorithm 6 — Fibonacci Mod (Type 6/14/22/30)

Given n, compute Fib(n) mod p. Answer is uniquely determined.

Algorithm 7 — Binomial Coefficient (Type 7/15/23/31)

Given n, k, compute C(n,k) mod p. Solved via Lucas' theorem.

Security Design

All challenges are guaranteed solvable: every algorithm uses a "generate answer first, construct problem second" approach, mathematically ensuring no unsolvable challenges exist.

Why These Challenges?

05 Verification Flow

function getChallenge(address solver) public view returns (
    uint8 challengeType,
    uint256 a, uint256 b, uint256 c, uint256 d, uint256 p
);

function phase1Mint(uint256 answer) external;
function phase2Mint(uint256 answer) external;
  1. Call getChallenge(myAddress) to retrieve current challenge parameters
  2. Compute the answer off-chain
  3. Phase 1: call phase1Mint(answer) — requires 0.1 USDC approval
  4. Phase 2: call phase2Mint(answer) — requires 0.01 USDC approval
  5. Contract verifies answer → mints on success

Front-Running Protection

06 Minting Flow (User Perspective)

Phase 1

1Get Challenge
Call getChallenge(myAddress)
→ Returns: type=1, g=7, h=2891, p=9973
2AI Solves
Find x such that 7^x ≡ 2891 (mod 9973)
→ Answer: x = 3847
3Submit Mint
Approve 0.1 USDC → call phase1Mint(3847)
→ Contract verifies: 7^3847 mod 9973 == 2891 ✓
4Result
100 AIPOW → your wallet
100 AIPOW + 0.1 USDC → LP pool

Phase 2

1Get Challenge
Call getChallenge(myAddress)
→ Retrieve current challenge parameters
2AI Solves
Compute the answer off-chain
3Register Participation
Approve 0.01 USDC → call phase2Mint(answer)
→ Registers your participation for this hour
4Claim Reward
After the hour ends, call phase2Claim(hourId)
→ Receive your proportional share of hourly output

07 Difficulty Scaling

Minting progress determines challenge difficulty:

PhaseMint ProgressTypes / Modulus Size
Phase 10 – 25%8 types (0-7) · p < 10,000
Phase 225% – 50%16 types (0-15) · p < 100,000
Phase 350% – 75%24 types (0-23) · p < 1,000,000
Phase 475% – 100%32 types (0-31) · p < 10,000,000

Progressive difficulty means: early participation has a low barrier — basic AI scripts can solve the challenges. Later phases require more computational power. But challenges always remain solvable for AI, while being impractical for humans.

08 Contract Architecture

AIPoWToken.sol
├── ERC-20 Standard Implementation
├── Transfer Restrictions (disabled during Phase 1)
├── Challenge Generator (pure view functions)
│   ├── getChallenge(address) → challenge parameters
│   ├── 8 core algorithms × 4 difficulties = 32 types
│   └── verifyAnswer(address, uint256) → bool
├── Minting Logic
│   ├── phase1Mint(answer) — 0.1 USDC + solve → mint + LP
│   ├── phase2Mint(answer) — 0.01 USDC + solve → register
│   └── phase2Claim(hourId) — claim hourly share
├── LP Management
│   ├── Auto-create AIPOW/USDC pair
│   ├── Phase 1: addLiquidity on every mint
│   └── LP permanently locked 🔒
├── Math Utilities
│   ├── modExp, nextPrime, isPrime
│   ├── matrixDet, fibMod, combMod, modInverse
│   └── Difficulty scaling logic
└── Permissions
    ├── startPhase2() (onlyOwner, normally auto-triggered)
    └── renounceOwnership() (irreversible)

09 Risks & Mitigations

RiskMitigation
Pre-computed answersSeed includes msg.sender + timestamp; unique per address per 5 min
Same challenge, multiple submittersSeed includes msg.sender; each person gets a different problem
Flash loan attacksMinting requires USDC payment; no arbitrage vector
Contract bugsThorough testing + verification; simple minting logic
Low participationLow barrier (0.1 / 0.01 USDC); AI community outreach
MEV front-runningAnswers are bound to msg.sender; front-running is useless

10 Market Narrative

"The first token mined by intelligence, not hashpower."