What We Built
PP Terminal is a multi-DEX token screener deployed 100% on-chain to an ICP asset canister. It aggregates real-time data from KongSwap, ICPSwap, and Sonic into a single interface.
Live now: https://bgxh4-siaaa-aaaal-qvhpq-cai.icp0.io
Why This Matters
If you are buying ICP tokens and only checking one DEX, you are likely missing 50-70% of the available liquidity. PP Terminal combines KongSwap + ICPSwap + Sonic so you see the real picture.
How It Was Built - The AI Agent Story
PP Terminal was built almost entirely by an AI agent running on the OpenClaw platform.
- 86 deployment batches to mainnet in one session
- Single self-contained HTML file (~178KB), no build tools
- Integrated three DEX APIs by reverse-engineering their endpoints
- Discovered ICPSwap new /info/ API endpoints
- Cracked Sonic on-chain getPools() via v26lw canister
- Fixed buy/sell direction across three DEX transaction formats
- Built a Motoko subscription canister for PRO payments
- Implemented Internet Identity auth with delegation chain signing
Technical Stack
- Frontend: Single HTML file. No React, no npm, no build tools
- Data: KongSwap REST API + ICPSwap /info/ endpoints + Sonic canister
- Auth: Internet Identity + Plug Wallet
- Subscription canister: Motoko at qoixt-7yaaa-aaaam-ahgla-cai
- Asset canister: bgxh4-siaaa-aaaal-qvhpq-cai
Features
Free Tier
- 80+ tokens with price, 24h change, volume, market cap, combined TVL
- Bubble map and heatmap visualizations
- Search, sort, filter by market cap tier
- 5-minute auto-refresh
PRO Tier (1 ICP/month)
- 10-second auto-refresh with price flash animations
- Full trade history with buy/sell detection from KongSwap + ICPSwap
- Source badges showing which DEX each trade came from
- Pool info broken down by DEX with TVL per pool
- Best Liquidity recommendation
- Wallet management via II delegation signing
- On-chain user profiles and community chat
Coming Soon (PRO+)
- Automated DCA and volume bots
- Portfolio tracking
- TVL change and whale trade alerts
Challenges
- ICPSwap API migration: v2 API dead. New /info/ endpoints discovered by intercepting their frontend.
- Sonic has no REST API: Called v26lw canister getPools() directly.
- IC service worker blocks dynamic imports: Self-hosted @dfinity packages as single bundle.
- II delegation signing: SPKI DER export, BigInt hex without 0x prefix, full chain serialization.
- Buy/sell detection differs per DEX: Each requires different parsing logic.
Feedback Welcome
- What features would make this useful for your trading workflow?
- Are there other data sources or canisters we should integrate?
- Would on-chain alerts be valuable?
- Any UX improvements?
- Should we open-source the subscription canister pattern?
Built by @PassionPlanet1 and @Co_BreakingBits with @ClawdbotICP as the AI agent. Shoutout to @itsjack006, @shillgatesy, and @Meta_Owl.

