🏆 1st Place · Portaldot Online Mini Hackathon S1 · Builder Tools
pdk.
Portaldot Dev Kit — turn cryptic transaction failures into
clear, actionable diagnoses. Live, as they happen.
github.com/PugarHuda/portaldot-hackathon-2026-pdk-AmpunBang · portaldot-pdk.vercel.app · pip install portaldot-pdk
The problem
Portaldot is new. Its errors are cruel.
ExtrinsicFailed: DispatchError { Module: { index: 6, error: 2 } } # no message. no explanation. now what?
- Brand-new, Rust-first chain — in Season 1 you run it from a local node.
- Failed transactions return raw codes with zero guidance.
- The hackathon Q&A is full of "how do I get POT?" — builders stuck, unanswered.
The solution
One CLI for the whole local dev loop.
pdk up
Node + funded accounts + a real verification tx.
pdk accounts
Pre-funded POT — answers "how do I get POT?".
pdk debug
FailLens — decode any failure.
pdk explain
Queryable error reference.
pdk doctor
Node, ink! compat, chain liveness.
pdk simulate
Preview fee + feasibility, no send.
pdk seed
Fund accounts from fixtures.
pdk pallets
Browse pallets / calls / errors.
…plus send · storage · watch · keys · report · ai-setup — fourteen commands in one CLI.
FailLens · the hero
The same failure, decoded.
$ pdk debug --demo ✗ Balances.InsufficientBalance What happened You tried to transfer more POT than the account holds. How to fix 1. Check the sender balance. 2. Lower the amount, or fund the account first.
Metadata-driven — resolved against the chain's own runtime,
so it never goes stale. Every error verified against the live chain.
The wow
Watch failures decode live.
$ pdk debug --watch FailLens watching from block #14 … ✗ Balances.InsufficientBalance ← decoded the instant it landed
- A live monitor for every failure on the chain.
- --json for CI · pdk explain for the long tail.
Why it wins
The only debugger for Portaldot.
- Unique — decodes the raw code a node prints (Module: index 6, error 2) into a named error + fix. Generic tooling can't.
- Native — real transactions, POT paid as gas.
- Application value — solves the ecosystem's #1 documented pain, on the critical path of the chain's own growth goal.
- Adoption-ready — pip install portaldot-pdk · CI-gating (--exit-code) · community-owned knowledge base.
- Aligned — directly serves the organizer's goal: developer onboarding.
- Quality — 40 unit + live + adversarial tests · CI green · no mocks.
The journey
Three honest moments from this hackathon.
- Day 1 spike — two-hour metadata-walk proved every Portaldot error has a name on-chain. That single proof convinced me the whole CLI was possible. Started writing the decoder that night.
- The signing bug — extending pdk to Assets revealed substrate-interface mis-signs custom-pallet calls on Portaldot V13. Half a day debugging, filed polkascan/py-substrate-interface#9. Lesson → Python builders are 2nd-class on Portaldot today. v0.2 TypeScript SDK exists because of this.
- The mid-event repo rename — naming convention announced after publish broke three integrations: PyPI Trusted Publishing (OIDC pinned to old name), Vercel webhook, GitHub release flow. Two hours of recovery. Switched release.yml to token auth — now rename-proof. Documented in CONTRIBUTING.md for every team that hits this next.
Each pain became part of the product. Every fix is in the repo.
🌱 What's next — beyond the hackathon
From hackathon entry to ecosystem infrastructure.
- v0.2 — TypeScript companion SDK on @polkadot/api, unblocking Assets + ink! contract deploy that Python substrate-interface cannot sign on Portaldot V13 metadata (upstream bug I diagnosed mid-hackathon).
- Community-owned knowledge base — five-line PRs to error_fixes.yaml. Every Portaldot dev who hits a new error makes the next dev's life easier.
- Editor extensions — VS Code + Cursor that inline-decode a raw Module { index, error } code anywhere it appears in your terminal or logs.
- Public-RPC ready — pdk already works against any reachable Portaldot endpoint. When the official testnet RPC lands, it's a one-flag swap: --node wss://testnet.portaldot.io.
- Open to collaborate — pdk as the official debugging tool in Portaldot's developer onboarding. Builder-channel + grants conversations welcome.
The ask
The standard Portaldot dev toolkit.
On PyPI today (pip install portaldot-pdk). 🏆 1st place · Portaldot Mini Hackathon S1 · Builder Tools.
- github.com/PugarHuda/portaldot-hackathon-2026-pdk-AmpunBang
- portaldot-pdk.vercel.app · in-browser live demo
- youtu.be/EPNIRRc3qnw — 81 s pitch + e2e terminal demo
Thanks Portaldot team — let's make this chain easy to build on.