"When a chain's history begins to be forgotten, its future is already dead."
PolkaInk is an on-chain, DAO-governed history preservation protocol built on Polkadot Asset Hub. It encodes Polkadot ecosystem history documents β written in Markdown β directly as transaction calldata into the chain itself. No database. No cloud. No IPFS. Only the block.
Access is gated by staking (88 PAS), but staking only buys entry β not voice. Voting weight is earned through writing contributions accepted by the community and through lock-up duration. No wallet can buy dominance; power can only be won.
Every word committed through PolkaInk is as permanent as the block that holds it. When AI-generated disinformation floods the internet and centralized platforms silently rewrite history, PolkaInk builds a human-consensus truth layer that no one can forge or erase.
Rome's history should be carved into columns cast by Romans themselves.
Polkadot's history belongs on Polkadot β and nowhere else.
| Resource | Link |
|---|---|
| π Live Demo | polkaink.netlify.app |
| π Pitch Deck | polkaink.netlify.app/ppt.html |
| π¬ Demo Video | YouTube |
| π Design Document | polkaink_dev_doc_v3_4.md |
- π Calldata-Native Storage β Document content is encoded as calldata directly into Polkadot Asset Hub blocks. Permanent as the chain itself; verifiable by any full node offline, no external service required.
- π³οΈ Stake-Gated DAO Governance β 88 PAS stake grants membership. Voting weight is determined by writing history (Creator NFTs) and lock-up time β not wallet size. Single-actor passage is mathematically impossible (max real weight 1.80 < threshold 2.00).
- π‘οΈ Archive Council β 7 genesis members with collective veto power only (5/7 threshold). They can block harmful content; they cannot write or alter history. Every veto requires a β₯50-byte on-chain reason, permanently recorded.
- β³ 48h Timelock β All governance upgrades pass through a mandatory delay, preventing rushed or malicious changes.
- π Soulbound NFT Rewards β Three on-chain NFT types: Member (stake to join), Creator (earn by contributing accepted history), Guardian (genesis council, minted at deploy, non-transferable, no voting bonus). All Soulbound in the demo phase.
- π° Open Treasury β Community-governed reward pool; anyone can donate. Epoch-based rewards (30-day cycle) are distributed to proposers and voters independent of their vote stance, keeping judgment honest.
- π Zero-Admin Architecture β After deployment, no privileged admin exists.
SEED_CREATOR_ROLEis renounced after seeding; Guardian NFT has noGUARDIAN_MINTER_ROLE; council membership is frozen until Phase 1 election contracts go live. - π Multilingual β Interface in English, δΈζ, FranΓ§ais, Π ΡΡΡΠΊΠΈΠΉ, EspaΓ±ol, Ψ§ΩΨΉΨ±Ψ¨ΩΨ©.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend Β· React 19 + Vite + TypeScript β
β Tailwind CSS v4 Β· wagmi v2 Β· viem v2 Β· Zustand β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β wallet connect
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β Polkadot Asset Hub Β· pallet-revive (REVM) β
β Chain ID 420420417 Β· Solidity 0.8.28 Β· UUPS Proxy (OZ) β
β β
β PolkaInkRegistry VersionStore GovernanceCore β
β ArchiveCouncil NFTReward Treasury β
β StakingManager VotingMath β
β TimelockController (48h) ProxyAdmin β
β β
β Markdown content = transaction calldata β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β Archive Council β 7 members Β· 5/7 collective veto β
β Can protect history. Cannot rewrite it. β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Stack |
|---|---|
| Blockchain | Polkadot Asset Hub β pallet-revive + REVM |
| Contracts | Solidity 0.8.28 Β· Hardhat Β· OpenZeppelin UUPS Β· @parity/hardhat-polkadot |
| Frontend | React 19 Β· Vite Β· TypeScript Β· Tailwind CSS v4 Β· wagmi v2 Β· viem v2 |
| State | Zustand + React Query |
| i18n | en / zh / fr / ru / es / ar (i18next) |
Deployed: 2026-03-09 UTC
Treasury seeded with 5,000 PAS Β· 4 seed documents created Β·SEED_CREATOR_ROLErenounced β
| Contract | Address |
|---|---|
| PolkaInkRegistry | 0xc3C208E3Eba8dC828e3426102AD678D0bFE15eFe |
| VersionStore | 0xb77Eb7703537f8f119C6a9F58Fe2D33BfA383dCd |
| GovernanceCore | 0x87Cb963B9A2e35DA5D8342Afa1Cd0D51b1F559aB |
| ArchiveCouncil | 0xFC107cf84250C022eF13c6F8751AC5321bECD0fc |
| StakingManager | 0x286301d1585B40c5B88Ff0fbD86E7A70cE8a2443 |
| NFTReward | 0x145EA0d74D31dDFC7ce1F95903d8eb9B0d8D72B3 |
| Treasury | 0x4c0CdB7a94cD0aF91460186F72F86297a3Ac7285 |
| TimelockController | 0x33CC1AF7c7E88704c83bdED1270aa892813Fec61 |
| ProxyAdmin | 0x4EBb5472bd5fFC619cA880447920584977E5fD68 |
# Contracts
cd contracts && npm install
npx hardhat compile
# Run tests (64 passing)
npx hardhat test
# Frontend
cd frontend && npm install
npm run dev # http://localhost:5173CI/CD pipelines and deployment workflows are managed via GitHub Actions:
π View Actions
contracts/
contracts/ # 9 Solidity contracts (UUPS proxied)
scripts/deploy/ # deploy_all.ts + numbered deploy scripts
test/ # Unit + integration tests (64 passing)
frontend/
src/pages/ # Home, Library, Document, Create, Propose, Governance
src/hooks/ # useDocuments, useProposals, useVote, useMarkdownContent β¦
src/lib/contracts/ # Multi-contract ABIs + deployed addresses
public/locales/ # en, zh, fr, ru, es, ar
skills/
polkaink_agent_skill.md # SKILL.md-format agent file (Claude / Cursor / Copilot)
docs/
dev_doc.md # Full design specification (v3.4)
dev_log.md # Development log
| Phase | Milestones |
|---|---|
| Phase 0 β | 9-contract architecture Β· PAS Testnet deployment Β· Treasury Grant application |
| Phase 1 | Mainnet launch Β· Markdown browser Β· Calldata verification Β· i18n 6 languages |
| Phase 2 | Full DAO Β· Council election contracts Β· NFT reward activation Β· Bug Bounty |
| Phase 3 | Open API Β· AI-assisted summaries (off-chain, on-chain archive) Β· Polkassembly integration |
| Phase 4 | Kusama history Β· Multi-parachain archive Β· DeFi yield for Treasury |
| Phase 5 | Polkadot Proof of Personhood integration Β· ZK-based one-person-one-weight |
All contributions are welcome: bug reports, feature proposals, documentation improvements, code fixes, and translations.
MIT License β open source, forever.
- Repository: github.com/easyshellworld/polkaink
- Issues: github.com/easyshellworld/polkaink/issues
- Testnet Explorer: polkadot.testnet.routescan.io
- Agent Skill:
skills/polkaink_agent_skill.md
Built by PolkaClaw β History, now it's all ON-CHAIN. Memory that cannot be erased. β