TL;DR
plaza.fun went live on Polkadot Hub mainnet one week ago. No marketing, no incentive program, no airdrops. In that time: 7 tokens created (6 by community members), ~100 trades, organic wallet interactions from addresses with no connection to the team. It's small — but it's real, and it's on-chain.
What We Shipped
For those catching up: plaza.fun is a native asset launchpad on Polkadot Hub. The full lifecycle:
Create token → Bonding curve trading → Curve fills → Auto-graduate to DEX → 90% LP burned forever → Creator earns via FeeKeyNFT
Every token is a pallet_assets runtime asset — not a factory-deployed ERC-20. This means each token is a first-class citizen of the Hub runtime: XCM-ready, shared security with the relay chain, accessible via ERC-20 precompile.
The system behind it:
- 16 production protocol contracts (30 deployed mainnet addresses including proxy implementations and linked libraries)
- PlazaSwap — Uniswap V2 fork, first production DEX on Hub
- FeeKeyNFT — transferable, permanent creator revenue rights
- TimelockController governance + Guardian emergency pause
- All deployed via REVM on Polkadot Hub mainnet
Week 1: What Actually Happened
| Metric | Value |
|---|---|
| Tokens created | 7 (1 team, 6 organic) |
| Total trades | ~100 |
| Highest market cap | ~270 DOT |
| Holders per token | Up to 9 |
| Marketing spend | $0 |
Let's be honest about what these numbers mean:
They're small. We're not going to pretend ~100 trades in a week is massive. It's not.
They're organic. The 6 community-created tokens came from wallets with no connection to us. No airdrop farming, no incentivized testing, no "retroactive points" promise. People showed up, created tokens, and traded because they wanted to. On a chain with a few thousand active EVM addresses, that matters.
It's day 7. This is a cold start on a platform that launched its EVM layer recently. We didn't expect to wake up to 1,000 tokens. We expected to see if the product works end-to-end with real users, real DOT, and real on-chain consequences. It does.
What We Learned
1. Cold starts are slow — and that's fine
No one wakes up and decides to try a new launchpad on a chain they've never used EVM on. Discovery takes time. We saw our first organic token creation on day 3. That's normal.
2. The bonding curve works
Tokens are being bought and sold. The math checks out — prices respond to trades, slippage is visible, fees are collected and routed correctly. The engine does what it's supposed to do.
3. People want features
The first piece of community feedback we got (on Discord) was a request for a Deployers page — a way to see who created which tokens, and how many each address has created. Not a complaint. Not a question about "when token." A real feature request from someone using the product.
4. Hub's EVM layer is ready
Zero gas issues. Zero contract reverts from platform bugs. The REVM deployment path works reliably. The workarounds we built (DirectAdapter, async graduation) are holding up in production.
What's Under the Hood
A few things that might be interesting to the technically inclined:
pallet_assets native tokens. Every token on plaza.fun is a pallet_assets runtime asset, exposed through ERC-20 precompiles. This is different from pump.fun or most EVM launchpads where tokens are factory-deployed ERC-20 contracts. Native assets mean:
- Shared security with the relay chain
- XCM-ready from day one
- Lower gas costs (no contract deployment per token)
- First-class citizens of the Hub runtime
90% LP burn. At graduation, 90% of LP tokens are permanently burned. Not locked. Not timelocked. Burned. The burn address has no private key. This creates liquidity that only accumulates — every graduation adds to PlazaSwap's permanent, self-compounding liquidity.
FeeKeyNFT. The remaining 10% LP is locked in a vault. The creator gets a FeeKeyNFT — a transferable, permanent claim on LP fee growth. Unlike pump.fun's address-bound creator fees (launching May 2026), our FeeKeyNFTs can be sold, transferred, or used as collateral.
2 upstream contributions. We filed issues with Parity during development:
- #11525 — Cross-contract call chain weight limits affect Substrate wallet users
- #11526 — PVM bytecode bloat (resolc produces 10-20x larger bytecode than solc)
Both acknowledged by Parity engineer @mokita-j. Our workaround patterns (DirectAdapter, async graduation) are reusable by any team building on Hub.
What We Haven't Done Yet
Transparency first:
- No external audit. Internal security review completed — all critical and high findings resolved. External audit not pursued independently.
- No graduation yet. Bonding curves are being traded but none have reached the graduation threshold. Expected at this stage of organic growth.
- Early UX. We're iterating based on feedback. The product works but isn't polished to perfection.
Try It
If you have DOT on Polkadot Hub:
- Create a token — costs 6.28 DOT, gas near-zero
- Browse tokens — see what's been created
- Trade — buy and sell on bonding curves
The core bonding curve contract is verifiable on Blockscout.
Feedback welcome — on Twitter, Telegram, or Discord. Bug reports, feature requests, "this is broken," all useful.
What's Next
- Iterating on UX based on Week 1 feedback
- Graduation mechanics are live — waiting for enough trading activity to trigger the first one
- PlazaSwap is open for any ERC-20 pair on Hub (DOT/USDt, DOT/USDC, permissionless creation)
The hard part is done. The contracts are deployed, the product works, and real people are using it. Now it's about listening, improving, and letting the organic growth compound.
Building on Polkadot Hub? Check out our 7-part Builder's Journal — everything we learned about pallet_revive, precompiles, and making two execution layers feel like one.
