No description
Find a file
2026-03-14 13:31:23 +00:00
.claude fix: refactor AGENTS.md into progressive-disclosure structure (#184) 2026-02-23 09:46:35 +00:00
.codeberg/ISSUE_TEMPLATE fix: Issue template (push3-seed.yaml) doesn't enumerate manifest.jsonl fields (#705) 2026-03-14 00:37:06 +00:00
.husky feat: OptimizerV3 with direct 2D staking-to-LP parameter mapping 2026-02-13 18:21:18 +00:00
.woodpecker ci: use local git mirror as clone reference 2026-03-14 12:44:08 +00:00
containers fix: bootstrap + red-team on forked networks 2026-03-14 13:31:23 +00:00
docker fix: copy hoisted node_modules in CI Dockerfile (#161) 2026-02-20 02:36:00 +01:00
docs fix: red-team.sh sudo strips FORK_URL before docker compose sees it (#729) 2026-03-14 08:30:49 +00:00
kraiken-lib fix: \commaNumber\ silently returns '0' for NaN and falsy values (#427) 2026-03-06 05:51:50 +00:00
landing fix: Add cache headers to Ponder GraphQL proxy in Caddy (#447) 2026-03-06 03:07:24 +00:00
onchain ci: retrigger (mirror available) 2026-03-14 13:31:23 +00:00
packages fix: correct TypeScript cast for shortMessage in getErrorMessage (#430) 2026-03-06 05:13:27 +00:00
scripts fix: fund FEE_DEST before impersonation in grant_recenter_access 2026-03-14 13:31:23 +00:00
services fix: Issue #447 remains unresolved: no caching path exists for POST GraphQL requests (#478) 2026-03-06 19:49:13 +00:00
tests fix: update e2e tests for public recenter() — remove recenterAccess references 2026-03-14 01:44:15 +00:00
tools fix: feat: LLM seed — Defensive Floor Hugger optimizer (#672) 2026-03-14 12:48:22 +00:00
web-app fix: unstakePosition() has no error handling at all (#482) 2026-03-06 18:15:30 +00:00
.claude-code-supervisor.yml fix: refactor AGENTS.md into progressive-disclosure structure (#184) 2026-02-23 09:46:35 +00:00
.dockerignore feature/ci (#84) 2026-02-02 19:24:57 +01:00
.gitignore Move holdout scenarios to separate repo 2026-03-04 08:20:11 +00:00
.gitmodules fix: clean URLs, contract addresses, gitmodule (#16, #58, #147) (#162) 2026-02-20 17:28:59 +01:00
.lintstagedrc.json fix: lint: Ban waitForTimeout, setTimeout-as-delay, and fixed sleep patterns (#442) 2026-03-03 20:58:01 +00:00
AGENTS.md docs: scope engineering principles to infra/tests, not frontend polling (#470) 2026-03-06 11:17:50 +01:00
docker-compose.yml fix: Get KRK: inline swap widget for local dev, Uniswap link for production (#136) 2026-02-27 06:55:41 +00:00
eslint.config.js fix: lint: Ban waitForTimeout, setTimeout-as-delay, and fixed sleep patterns (#442) 2026-03-03 20:58:01 +00:00
HARBERG.md docs: consolidate and update all documentation for launch readiness 2026-02-13 19:22:34 +00:00
IMPLEMENTATION_SUMMARY.md feat/ponder-lm-indexing (#142) 2026-02-18 00:19:05 +01:00
package-lock.json fix: evaluator: add stakeKrk and unstakeKrk browser helpers (#460) 2026-03-05 14:38:13 +00:00
package.json fix: lint: Ban waitForTimeout, setTimeout-as-delay, and fixed sleep patterns (#442) 2026-03-03 20:58:01 +00:00
playwright.config.ts feat/ponder-lm-indexing (#142) 2026-02-18 00:19:05 +01:00
README.md docs: consolidate and update all documentation for launch readiness 2026-02-13 19:22:34 +00:00
STATE.md fix: feat: LLM seed — Defensive Floor Hugger optimizer (#672) 2026-03-14 12:48:34 +00:00
TECHNICAL_APPENDIX.md docs: consolidate and update all documentation for launch readiness 2026-02-13 19:22:34 +00:00
USERTEST-REPORT-V2.md feat/ponder-lm-indexing (#142) 2026-02-18 00:19:05 +01:00
VERSION_VALIDATION.md docs: consolidate and update all documentation for launch readiness 2026-02-13 19:22:34 +00:00

KRAIKEN

The fairest ponzi in the world.

KRAIKEN is a DeFi protocol that couples Harberger-tax staking with a dominant Uniswap V3 liquidity manager. The result: asymmetric slippage, sentiment-driven pricing, and VWAP-based price memory that protects the protocol from exploitation.

Deployed on Base.

The Three Stages

  1. Harberger — A staking market balanced by the Harberger tax. Complete.
  2. KRAIKEN — Token issuance governed by an automated liquidity manager. Current stage.
  3. SoverAIgns — The liquidity manager augmented by AI for outlandish performance. Future.

How It Works

Three-Position Liquidity Strategy

The LiquidityManager maintains three Uniswap V3 positions simultaneously:

  • Anchor — Shallow liquidity near the current price. Fast price discovery, high slippage for attackers.
  • Discovery — Medium liquidity bordering the anchor. The fee capture zone.
  • Floor — Deep liquidity at VWAP-adjusted distance. Price memory that protects against whale dumps.

Any round-trip trade (buy → recenter → sell) pays disproportionate slippage costs twice, making manipulation unprofitable.

Harberger Tax Sentiment Oracle

Stakers self-assess tax rates on their positions. Higher tax = higher confidence. Positions can be snatched by anyone willing to pay more. This creates a continuous prediction market for token sentiment.

OptimizerV3

Reads staking data (% staked, average tax rate) and outputs a binary bear/bull configuration:

  • Bear (~94% of state space): AS=30%, AW=100, CI=0, DD=0.3e18 — protective
  • Bull (>91% staked, low tax): AS=100%, AW=20, CI=0, DD=1e18 — aggressive fee capture

The binary step avoids the AW 40-80 kill zone where intermediate parameters are exploitable.

VWAP Floor Defense

The floor position uses volume-weighted average price with directional recording (buys only). During sell pressure, the VWAP-to-price distance grows, making the floor resist walkdown. This gives the protocol "eternal memory" against dormant whale attacks.

Tech Stack

Component Technology Location
Smart Contracts Solidity, Foundry onchain/
Indexer Ponder (TypeScript) services/ponder/
Staking App Vue 3, Vite, Wagmi web-app/
Landing Page Vue 3, Vite landing/
Automation Bot Node.js, Express services/txnBot/
Shared Library TypeScript kraiken-lib/
Block Explorer Otterscan Docker service
Reverse Proxy Caddy Docker service

Repository Structure

harb/
├── onchain/           # Solidity contracts, tests, deployment scripts, analysis
│   ├── src/           # Core: Kraiken, Stake, LiquidityManager, OptimizerV3
│   ├── test/          # Foundry test suite
│   ├── script/        # Deployment scripts
│   └── analysis/      # Fuzzing, parameter sweeps, security review
├── services/
│   ├── ponder/        # Blockchain indexer → GraphQL API
│   └── txnBot/        # recenter() + payTax() automation
├── web-app/           # Staking dashboard (Vue 3)
├── landing/           # Marketing site (Vue 3)
├── kraiken-lib/       # Shared TypeScript helpers and ABIs
├── tests/e2e/         # Playwright end-to-end tests
├── scripts/           # Dev environment, CI bootstrap, utilities
├── docker/            # CI Dockerfiles
├── containers/        # Entrypoints, Caddyfile
└── docs/              # Deployment runbook, Docker guide

Quick Start

# Prerequisites: Docker Engine (Linux) or Colima (Mac)
# See docs/docker.md for installation

nohup ./scripts/dev.sh start &    # Start full stack (~3-6 min first time)
tail -f nohup.out                  # Watch progress
./scripts/dev.sh health            # Verify all services healthy

Access points (via Caddy on port 8081):

Contracts (Base Mainnet)

Contract Address
Kraiken 0x45caa5929f6ee038039984205bdecf968b954820
Stake 0xed70707fab05d973ad41eae8d17e2bcd36192cfc
LiquidityManager 0x7fd4e645ce258dd3942eddbeb2f99137da8ba13b

Documentation

License

GPL-3.0-or-later