We introduced plaza.fun on the Forum a few weeks ago. This series goes deeper — into the code.
plaza.fun is a native asset launchpad on Polkadot Hub. EVM contracts operating on pallet_assets. Bonding curves, automatic graduation, 90% LP burn, permanent creator earnings via FeeKeyNFT.
This 7-part series documents how we built it — the architecture decisions, the bugs we found at the EVM/Substrate boundary, and what we learned shipping a cross-layer dApp on Hub.
The Series
| # | Title | Date |
|---|---|---|
| 0 | The Plaza Brief — 5-minute overview of the whole system | Mar 25 |
| 1 | Why We Built on Polkadot Hub — the two-layer architecture and what it unlocks | Mar 26 |
| 2 | The Bonding Curve — token creation, pricing formula, safety mechanisms | Mar 27 |
| 3 | The Fee Engine — where the 1% goes, creator earnings across two lifecycle stages | Mar 28 |
| 4 | The Token Lifecycle — graduation, 90% LP burn, FeeKeyNFT, PlazaSwap | Mar 29 |
| 5 | Security & Governance — attack surface map, real bugs, TimelockController + Guardian | Mar 30 |
| 6 | Lessons & What’s Next — what we’d tell the next team building on Hub | Mar 31 |
One post per day, all week. All posts go live at plaza.fun/blog.
Try It
The testnet is live right now. Everything described in this series is running and every contract is verified on Blockscout.
plaza.fun — connect a wallet, grab testnet DOT from the faucet, create a token, trade on the curve.
Why We’re Writing This
Two reasons:
-
There’s almost no documentation on building cross-layer dApps on Hub. We hit issues at the
pallet_assets↔ EVM boundary that aren’t covered anywhere. If another team is building here, this might save them weeks. -
We think transparency builds trust. The contracts are verified. The architecture is public. This series explains the why behind the what.
We’d genuinely appreciate feedback — especially from anyone who’s worked with pallet-revive or pallet_assets precompiles. Part 5 (Security) covers some edge cases we’re still thinking through.