Why I'm Still Building on Polkadot Hub | plaza.fun

Why I'm Still Building on Polkadot Hub

Three months ago I started building plaza.fun on Polkadot Asset Hub. Thirteen contracts, three internal audit rounds, one DEX. Testnet live since March 25.

I chose Hub because I thought it would matter. I still think that — and at this point, I’ve tied a non-trivial part of my own outcome to whether that bet works. But I want to be honest about what it’s actually been like.


What everyone’s thinking

Phala migrated to Ethereum L2. Astar moved to Sony’s Soneium. Manta is winding down its parachain. The Forum’s most-viewed post this month asks: “Is Polkadot coming to an end?”

I’m not going to dismiss that question. Some of those departures are real losses. The parachain era didn’t deliver what it promised.

But I think people are conflating two different things: the parachain experiment failing, and Hub failing. They’re not the same chain. They’re not even the same architecture. The parachain story can disappoint while the Hub story still succeeds. One doesn’t automatically doom the other.

Hub has native USDt and USDC — not bridged, not wrapped, first-class pallet_assets. It has EVM compatibility via pallet_revive. It has DOT unbonding dropping from 28 days to 1-2 days (already executed, Referendum #1827). The developer talent that left built DeFi infrastructure elsewhere. Hub still hasn’t caught up. That’s the gap.

Hub’s trajectory isn’t certain. But the gap is real — and someone has to build it.


What we built

plaza.fun is a native asset launchpad on Polkadot Hub: bonding curve creation and a fee engine routing 25% of every trade back to the creator. Under the hood, PlazaSwap — a Uniswap V2 fork adapted for pallet_assets integration and native DOT wrapping — handles DOT, USDt, USDC, and any native asset. Thirteen contracts. Three rounds of internal security review, 76 findings, 57 resolved.

As far as we know, PlazaSwap is the first general-purpose DEX deployed on Polkadot Asset Hub via smart contracts. Not because we’re uniquely qualified — because we committed to the problems nobody wanted to touch.


What actually broke

I’m going to be specific, because vague “it was hard” posts are useless.

PVM bytecode bloat. We started building with resolc, the PVM compiler. Our main contract ballooned from 6KB (standard solc) to 27KB — over the deployment limit. We extracted five libraries, split out a GraduationManager, filed a feature request with a reproduction repository. Parity responded within 24 hours. Then we found out Hub also supports REVM — standard EVM bytecode via solc — and the bytecode problem disappears entirely. We wish we’d known sooner. The official docs now recommend starting with REVM.

pallet_revive weight limits. The same contract call chain that succeeds via EVM RPC reverts when called through pallet_revive.call — the path Substrate wallets use. Same contracts, same state, different result depending on how you enter. We filed this as a bug with a reproduction repository. This one affects both VMs and is a real platform-level limitation for complex DeFi flows. Our workaround: route graduation through EVM RPC instead of pallet_revive.call. This path was covered in our security review. It works. It’s not elegant.

Precompile gaps. pallet_assets ERC-20 precompiles don’t implement name(), symbol(), or decimals(). MetaMask calls these to classify token types — when they fail, your fungible token displays as an NFT. This is true for both REVM and PVM. We filed a detailed bug report with a minimal reproduction repository. Parity engaged within hours — the investigation is ongoing. Until then, every wallet integration requires a workaround. Similarly, approve() fails in cross-contract precompile calls — we built a DirectAdapter pattern to route around it.

No infrastructure layer. No oracles. No subgraph. No Chainlink. The tooling that Ethereum developers treat as given doesn’t exist yet on Hub.

Gaps are the roadmap.

I’m not listing these to complain. I’m listing them because if you’re considering building here, you should know what you’re walking into.

If you’re an EVM DeFi team, the translation is simple: treat Hub as “EVM + native assets” with some sharp edges. Start with REVM. Assume you’ll be the one discovering missing precompile pieces and infra gaps.


What filing bugs actually got us

When we filed Issue #11525, Parity’s Monica Jin (@mokita-j) responded within a day. When we filed #11526, same. Not a bot response — actual engineering engagement.

I didn’t expect that. On Ethereum, filing a bug against the EVM is like shouting into a stadium. On Hub, the team is reachable — a well-documented issue gets read.

That relationship compounds. The bugs we filed become fixes in the next runtime upgrade. The workarounds we documented become the official guidance. We’re not just building a product — we’re building the path for whoever comes next.


Why I haven’t left

Empty markets are uncomfortable. There’s no community to ask, no forum post that solves your exact problem, no Stack Overflow answer. You have to figure things out and write them down.

That’s also what makes it worth staying.

When big names leave, the narrative gets worse, but the opportunity gets better for whoever’s left. Most people price the story, not the underlying infrastructure.

Every project that leaves is one less competitor. Every infrastructure gap we navigate is institutional knowledge that compounds. Every bug filed builds a paper trail that says: these people were actually here, actually building, actually encountered the edge cases.

When Hub gets crowded — and I think it will, because native stablecoins plus EVM compatibility plus active governance and funded development programs is a real combination — the projects that were here first will have an advantage that can’t be bought.

plaza.fun is designed to survive this uncertainty. We’re not leaving before we prove it. Mainnet is next.


One thing I’d change if I started over (and what you can’t avoid)

If you’re starting a DeFi protocol on Hub today, my advice is simple: use REVM from day one. Skip resolc. The dual VM is real — both backends coexist on the same chain — but for complex DeFi today, REVM is the only path that works end-to-end. PVM is interesting for performance workloads when the tooling matures. It’s not ready for production DeFi yet.

Everything else — the weight limits, the precompile gaps, the missing infrastructure — those are real problems regardless of VM choice. Know they’re coming.


plaza.fun testnet is live at plaza.fun. We’ve documented everything in a 7-part builder’s journal. If you’re building on Hub and hit something we haven’t written about yet, find me at @elvis_build.

1 Like