This proposal requests $392,500 USDC to fund the operational costs of the Paseo testnet for H1 2026. This is the first Paseo funding proposal denominated in stablecoins, made possible by the newly deployed multi-asset bounty pallet. The remaining DOT balance in the existing bounty (~38,946 DOT) will be returned to the Polkadot treasury upon transition.
For full proposal details, including scope of work, quarterly budget breakdown, SLOs, and curator information, see the full proposal.
Note: This is a resubmission of referendum 1878. The original contained a technical error in the metadata field of the call data.
ignore
Upgrade to Release v2.2.1 whitelisted by https://collectives.subsquare.io/fellowship/referenda/516
This proposal requests funding to renew the Snowbridge bug bounty programme, which expired on 16 April 2026. Snowbridge secures ~$35M in TVL and processes $10M–$20M in monthly volume - a vulnerability could result in catastrophic loss of user funds and severe reputational damage to the Polkadot ecosystem.
The previous programme, run on HackenProof for one year, was funded by the Snowbridge team out of their own milestones. It received over 500 submissions, of which approximately 5 were valid findings that led to fixes ($22,300 paid out with Hackenproof, $15,000 paid to a security report logged before the Hackenproof programme). The programme must be renewed to ensure proper security coverage.
The total request is $355,000, covering 12 months of bug bounty operations.
The bug bounty covers all Snowbridge on-chain code (Ethereum contracts and Snowbridge Polkadot on-chain code) Scope can be viewed at our Hackenproof programme: https://hackenproof.com/programs/snowbridge-on-chain-code
| Severity | Description | Reward |
|---|---|---|
| Critical | Direct loss of user funds, consensus bypass, unauthorized minting/burning | $30,000 – $75,000 |
| High | Temporary freezing of funds, griefing attacks with material cost to users | $6,000 – $20,000 |
| Medium | Non-critical logic errors, state inconsistencies that don't risk funds | $2,000 – $5,000 |
| Low | Informational findings, gas optimizations, minor code quality issues | $200 – $1,000 |
The programme will continue on HackenProof, which hosted the previous year's programme.
Bi-yearly reports to the community on:
| # | Item | Cost |
|---|---|---|
| 1 | Bug bounty reward pool (12 months) | $250,000 |
| 2 | HackenProof platform fee (12 months) | $5,000 |
| Total | $255,000 |
The reward pool covers payouts for valid findings. In 10 months, we will liaise with the Treasury to determine plans for the next year of Snowbridge and unspent funds will either carry-over into the next year's pool or be returned to the treasury. The pool must be large enough to credibly incentivize security researchers to investigate critical-severity vulnerabilities. Should the reward pool be depleted before the 12 month period, the programme will be paused until a top-up proposal passes Treasury governance.
Running a bug bounty is not passive. The previous year's programme received over 500 submissions, the vast majority being false positives (estimated 99%). Each submission requires investigation and triage, ideally within 24 hours. Valid findings require additional time for root cause analysis, fix development, testing, and deployment.
This workload is increasing due to LLM-generated submissions, which are higher volume but lower quality - still requiring human review to identify the rare valid finding. We are working on setting up triage automations, which will help manage the increasing volume but will not eliminate the need for human review.
| # | Item | Cost |
|---|---|---|
| 1 | Triage, investigation & resolution | $100,000 |
| Total | $100,000 |
| # | Item | Cost |
|---|---|---|
| 1 | Bug bounty fund (reward pool + platform) | $255,000 |
| 2 | Triage and response engineering | $100,000 |
| Total | $355,000 |
Snowbridge is Polkadot’s trustless bridge to Ethereum and its L2 ecosystem, providing critical infrastructure for liquidity and users moving between the two ecosystems. Over the past year the bridge processed ~21,000 transfers, maintained $10M–$20M in monthly volume, and generated 14,100 DOT in revenue for the Polkadot Treasury (view dashboard).
During the previous funding period the team delivered Snowbridge V2, reducing bridging fees by up to 90%, enabling arbitrary contract execution, and launching support for Base, Optimism and Arbitrum.
This proposal funds the basic maintenance and operation of the bridge for the next 12 months. The total request is $364,200 for 12 months, significantly smaller than the previous proposal.
Snowbridge is Polkadot’s common good trustless bridge to Ethereum and its L2 ecosystem.
Over the past two years it has become core infrastructure for cross-ecosystem liquidity, enabling users to move assets between Ethereum (and recently Base, Optimism and Arbitrum) and the Polkadot ecosystem without trusted intermediaries.
Statistics about the last year:
Snowbridge had two main goals for 2025, besides running a secure bridge:
Our team has delivered on this promise, slashing bridging fees for our users by at least 80%, and reducing latency where possible.
Our review of the last year can be viewed at: https://docs.google.com/document/d/1UY1-Ju5WvAlYM4gv8NbSJh7Rurdpu8zZOrs5Fv8d7Io/edit?usp=sharing
This proposal covers the scope of 2 full-time equivalent engineers (FTE). The core team commits to ensuring that two team members are allocated to the project at all times, regardless of the individual availability of specific team members.
Since software continuously evolves, ensuring Snowbridge continues to run securely and smoothly is by no means a passive task. Our team works on maintaining Snowbridge every day by investigating security reports logged through our bug bounty, ensuring our off-chain components are compliant with on-chain changes, such as updating our relayers and indexers when runtime upgrades occur. Our team is always on call for potential issues with transfers or user support.
Success metric: Snowbridge continues to run as a high availability and secure service.
As part of Snowbridge’s trustless architecture, the Ethereum light client on BridgeHub needs to be compliant with the Ethereum consensus spec. About twice a year, Ethereum undergoes hardforks that changes the format of consensus updates. Our team needs to be proactive and update:
Ethereum’s latest upcoming hardfork, Gloas, is expected to enact within the next 6 months. Heze is expected before end of this proposal, between H2 2026 and H1 2027.
The reason will monitor bridge availability during office hours, ensure relayers are running and providing consensus updates in a regular cadence.
Since Snowbridge is deployed on BridgeHub and AssetHub, runtime upgrades affect our off-chain infrastructure, and requires our team to update chain metadata in our indexer, gas estimator and sometimes UI and relayers.
The bug bounty fund is addressed in a separate proposal.
For a detailed review of the past year’s work, see Year In Review 2025/2026.
The total ask is $364,200 covering the period from May 2026 to April 2027.
| # | Item | Cost |
|---|---|---|
| 1 | 2 full-time developers ($9,417/month each × 12 months, $60/hr) | $226,000 |
| 2 | Technical lead reviewer ($2,000/month × 12 months) | $24,000 |
| Total | $250,000 |
The two developers handle all ongoing Snowbridge development and maintenance work. The technical lead reviewer is our main Solidity expert, providing architecture oversight, code review and internal security audits over any Solidity changes.
| Area | Description |
|---|---|
| Ethereum hardfork support (Gloas, Heze) | On-chain light client updates, relayer updates, proof generation changes, testnet coordination, Chopsticks testing, runtime upgrade release, governance proposals |
| Runtime upgrade compatibility | Update off-chain infrastructure (indexer, gas estimator, relayers) when BridgeHub/AssetHub runtime upgrades land |
| Relayer operations | Monitor and maintain consensus relayers, debug relay delays, handle stuck transfers |
| SDK and e2e test maintenance | Keep the Snowbridge SDK and end-to-end test suite up to date — required for verifying bridge correctness on every change |
| XCM handling improvements | Ad-hoc improvements related smarter XCM construction, for better error handling, etc. |
| Security audit follow-ups | Address any security findings that our team receives (we sometimes receive ad-hoc findings via email) |
| Polkadot SDK contributions | Ongoing upstream contributions to the Polkadot SDK for Snowbridge-related code |
| Task | Hours |
|---|---|
| Ethereum Hardforks | 700 |
| Gloas hardfork (light client updates, relayer changes, proof generation, testnet coordination, Chopsticks testing, runtime release, governance proposal) | 350 |
| Heze hardfork (same scope as Gloas) | 350 |
| Runtime Upgrades (~6/year) | 450 |
| On-chain changes that impact Snowbridge, updating of tests | 200 |
| Update off-chain infrastructure per upgrade (indexer metadata, gas estimator, relayers) | 250 |
| Relayer Operations | 350 |
| Consensus relayer monitoring and fixing compatibility issues with onchain code | 200 |
| Relayer optimizations to reduce infra costs | 150 |
| Solidity & Gateway Updates | 350 |
| Gateway contract updates for BEEFY changes | 100 |
| Solidity code review and internal security audit (technical lead) | 250 |
| SDK & End-to-End Testing | 450 |
| SDK updates to stay compatible with runtime and contract changes | 200 |
| End-to-end test suite maintenance and new test coverage | 250 |
| Infrastructure & DevOps | 600 |
| Lodestar node upgrades and maintenance | 150 |
| Westend/Paseo testnet infrastructure | 250 |
| Self-hosted indexer maintenance | 200 |
| Incident Response | 400 |
| Bridge incident investigation and resolution | 250 |
| Security finding triage (ad-hoc reports) | 150 |
| Unforeseeable feature and Improvement requests | 450 |
| Total | 3,750 |
Our team has done significant operational cost cutting over the past year, eliminating or self-hosting services that were previously paid for. We remove third party dependencies where we could and moved to self-hosting, to save on costs. We’re also only asking the treasury to cover infrastructure related to core bridge operations and consensus - not off-chain products, message relayers, frontend nor ancillary services.
Total core infrastructure costs are $64,200 annually.
| # | Item | Annual |
|---|---|---|
| 1 | Beefy light client on-chain costs (Ethereum gas) | $35,000 |
| 2 | AWS (Lodestar node for consensus updates, Paseo and Westend infra, Sepolia node, Indexer for monitoring) | $26,500 |
| 3 | Github | $2,000 |
| 4 | Testing gas fees | $700 |
| Subtotal | $64,200 |
| # | Item | Cost |
|---|---|---|
| 1 | Engineering | $250,000 |
| 2 | Company margin (20%) | $50,000 |
| 3 | Core bridge infrastructure | $64,200 |
| Total ask | $364,200 |
Our budget has been kept minimal, focused on core bridge infrastructure, consensus costs and engineering costs that are far below market rates. In order to remain competitive, it’s important for our staff and business to have security for our runway, and so we’re asking for a single up front payment covering the year’s runway of $364,200.
ℹ️ Please view the counterpart proposals:
This proposal is for the global deployment of a progressively decentralized archive RPC network for the Paseo testnet and its system parachains. Please view the detailed forum post for the complete background of the initial deployment for Polkadot Asset Hub and Coretime.
DeServe is:
This proposal requests $11,719.00 as the first payment, half of the first three months, to bootstrap the global rollout of all Paseo services. Subsequent payments will be requested via 3-monthly retroactive proposals, alongside full transparency reports covering expenses, performance, and request analytics.
The following X posts document DeServe's first days of deployment:
Over the first two weeks of deployment, DeServe has served over 500 million requests, and is currently serving >36M requests/day.
Live request analytics are available at the public dashboard.
| Chain | Archive RPC | ETH RPC | Status |
|---|---|---|---|
| Paseo Relay Chain | ✅ | - | To be deployed |
| Asset Hub | ✅ | ✅ | To be deployed |
| Coretime | ✅ | - | To be deployed |
| Bridge Hub | ✅ | - | To be deployed |
| Collectives | ✅ | - | To be deployed |
| People | ✅ | - | To be deployed |
DeServe delivers the lowest latency among all major Polkadot RPC providers, verified via Compare Nodes, a global RPC performance inspector.
| Comparison | Continents | Regions |
|---|---|---|
| DeServe vs IBP | 5/6 | 18-20/26 |
| DeServe vs OnFinality | 6/6 | 25/26 |
| DeServe vs Dwellir | 6/6 | 24/26 |
| DeServe vs LuckyFriday | 6/6 | 24/26 |
Full benchmark runs:
IBP is currently the only other provider offering a global geo-steered RPC service, making it the most appropriate reference for cost comparison.
Note that IBP operates on a 2N redundancy model, while DeServe operates on a single-instance model with rapid failover through backups, as detailed in the Monitoring & High Availability section.
Given the current cost constraints of the Polkadot ecosystem, we find that single instance per location with backup mechanisms in place should be sufficient under a highly responsive load-balancing system. DeServe’s current setup monitors endpoints every 15 seconds, immediately removing any unreachable endpoint from the pool.
IBP costs for Paseo are taken from the same billing view as the Polkadot and Kusama figures.
| IBP | DeServe | |
|---|---|---|
| Paseo Relay Chain | $17,428.10 | $3,486.00 |
| Asset Hub | $5,101.06 | $1,020.00 |
| Ethereum RPC | $538.30 | $107.00 |
| Bridge Hub | $4,002.82 | $800.00 |
| Collectives | $4,002.82 | $800.00 |
| Coretime | $4,002.82 | $800.00 |
| People | $4,002.82 | $800.00 |
| TOTAL | $39,078.74 | $7,813.00 |
| vs. IBP | - | 80% cheaper |
Our cost model is illustrated in detail in the initial forum post. DeServe also provides GeoDNS services for free as part of the package, whereas IBP charges $1,200.00/month for this service. DeServe also comes without curator payments, which add further overhead to bounty-based programs. IBP curator payments add approximately $3,400.00/month in additional overhead (reference).
Labour costs for the current alpha phase are excluded from this proposal and covered by Helikon. As DeServe matures, operator labour costs will be standardized through protocol governance.
Submerge is a data and compliance platform for Polkadot SDK chains, currently in development by Helikon. Submerge has received treasury funding and is behind schedule. Its two main components, Crystal (a chain indexer), Mycelium (a cross-chain indexer), along with their APIs for all supported chains will be delivered before any further on-chain submission for DeServe.
Helikon is a Polkadot-native infrastructure and software development collective based in İstanbul. A regular contributor to the Polkadot ecosystem at both the development and governance levels since late 2020:
ℹ️ Please view the counterpart proposals:
This proposal is for the global deployment of a progressively decentralized archive RPC network for Polkadot and its system parachains. Please view the detailed forum post for the complete background of the initial deployment.
DeServe is:
This proposal requests $24,112.00 as the first payment, half of the first three months, to bootstrap the global rollout of all Polkadot services. Subsequent payments will be requested via 3-monthly retroactive proposals, alongside full transparency reports covering expenses, performance, and request analytics.
The following X posts document DeServe's first days of deployment:
Over the first two weeks of deployment, DeServe has served over 500 million requests, and is currently serving >36M requests/day.
Live request analytics are available at the public dashboard.
| Chain | Archive RPC | ETH RPC | Status |
|---|---|---|---|
| Polkadot Relay Chain | ✅ | - | To be deployed |
| Asset Hub | ✅ | ✅ | Live |
| Coretime | ✅ | - | Live |
| Bridge Hub | ✅ | - | To be deployed |
| Collectives | ✅ | - | To be deployed |
| People | ✅ | - | To be deployed |
DeServe delivers the lowest latency among all major Polkadot RPC providers, verified via Compare Nodes, a global RPC performance inspector.
| Comparison | Continents | Regions |
|---|---|---|
| DeServe vs IBP | 5/6 | 18-20/26 |
| DeServe vs OnFinality | 6/6 | 25/26 |
| DeServe vs Dwellir | 6/6 | 24/26 |
| DeServe vs LuckyFriday | 6/6 | 24/26 |
Full benchmark runs:
IBP is currently the only other provider offering a global geo-steered RPC service, making it the most appropriate reference for cost comparison.
Note that IBP operates on a 2N redundancy model, while DeServe operates on a single-instance model with rapid failover through backups, as detailed in the Monitoring & High Availability section.
Given the current cost constraints of the Polkadot ecosystem, we find that single instance per location with backup mechanisms in place should be sufficient under a highly responsive load-balancing system. DeServe’s current setup monitors endpoints every 15 seconds, immediately removing any unreachable endpoint from the pool.
The compared numbers below are taken from IBP dashboard billing view.
| IBP | DeServe | |
|---|---|---|
| Polkadot Relay Chain | $48,399.18 | $9,680.00 |
| Asset Hub | $10,166.34 | $2,035.00 |
| Ethereum RPC | $538.30 | $107.00 |
| Bridge Hub | $6,377.54 | $1,275.00 |
| Collectives | $5,046.02 | $1,010.00 |
| Coretime | $4,785.22 | $958.00 |
| People | $5,046.02 | $1,010.00 |
| TOTAL | $80,358.62 | $16,075.00 |
| vs. IBP | - | 80% cheaper |
Our cost model is illustrated in detail in the initial forum post. DeServe also provides GeoDNS services for free as part of the package, whereas IBP charges $1,200.00/month for this service. DeServe also comes without curator payments, which add further overhead to bounty-based programs. IBP curator payments add approximately $3,400.00/month in additional overhead (reference).
Labour costs for the current alpha phase are excluded from this proposal and covered by Helikon. As DeServe matures, operator labour costs will be standardized through protocol governance.
Submerge is a data and compliance platform for Polkadot SDK chains, currently in development by Helikon. Submerge has received treasury funding and is behind schedule. Its two main components, Crystal (a chain indexer), Mycelium (a cross-chain indexer), along with their APIs for all supported chains will be delivered before any further on-chain submission for DeServe.
Helikon is a Polkadot-native infrastructure and software development collective based in İstanbul. A regular contributor to the Polkadot ecosystem at both the development and governance levels since late 2020:
This referendum (1878) contains a technical error in the call data and will fail to execute even if it passes voting. The metadata field references an off-chain computed hash with no corresponding on-chain preimage, which causes a PreimageNotExist runtime error on execution.
A corrected referendum has been submitted: Referendum 1885
| Proponents / Team | Lunolab(Cris, Brain) |
|---|---|
| Treasury Track | Small Spender |
| Beneficiary Address | 14pGVuuBxbN9dVNGh2a6dNqAEP7f48z7ks5vH9WNXKakUm7Z |
| Requested Amount | $65,580 USDC ( Retroactive + Milestone-based) |
| Retroactive Amount | $14,880 USDC |
| Milestone-based Amount | $50,700 USDC |
| Funding Period | 6 months (April 2026 – September 2026); |
| Website | https://www.lunolab.xyz/ |
| Repositories | https://github.com/Luno-lab/LunoKit |
| Docs | https://docs.lunolab.xyz/ |
| Live Demo | https://demo.lunolab.xyz/ |
LunoKit aims to build a customizable UI theme and developer-friendly Web3 account connection infrastructure for the Polkadot ecosystem. Previously, we received a grant from the Web3 Foundation and completed the delivery of all milestones within three months. It unifies wallet connection state management, account abstraction, chain switching, and session recovery, while also providing a rich set of UI components and multi-chain account support, greatly reducing the integration threshold for DApps built on Polkadot SDK chains.
As a frontend development library based on React + TypeScript, LunoKit also provides over 20 Hooks, including account state management, chain switching, connection control, and on-chain data subscription, with support for data caching. Developers can focus on core business logic while LunoKit handles the account module.
LunoKit’s capabilities span three layers:
Connection & account fundamentals: multi-wallet connectivity, unified connection state management, a unified signer interface, and network/chain configuration and switching (covering both Polkadot SDK chains and EVM/PVM chains).
Developer interfaces (Hooks): 20+ composable Hooks covering connection control, account state, chain switching, and selected on-chain subscription and caching capabilities.
Ready-to-integrate UI components: components such as Connect Button, Account Panel, and Network Switcher, with support for theme tokens and branding configuration (appInfo) to help ecosystem projects maintain consistent UI.
Its modular architecture is composed of three packages:
@luno-kit/core: connectors, chain configuration, account management, and a unified signer interface
@luno-kit/react: the React integration layer and Hooks
@luno-kit/ui: UI components, theming system, and branding configuration (appInfo)
In any blockchain ecosystem, account connection is foundational entry-layer infrastructure for every dApp: users must connect a wallet and sign before they can stake, swap, participate in governance, and more. The quality of this entry layer directly impacts ecosystem-wide usability, consistency of user experience, and developer onboarding cost.
Today, the ecosystem commonly faces the following practical challenges:
LunoKit is positioned as an open-source, reusable, configurable, and long-term maintainable connection infrastructure layer. It helps ecosystem projects reduce repetitive work, improve consistency, and focus more of their resources on business innovation and the product itself.
In addition, we have set our 2026 roadmap to focus on EVM account support: enabling dApps to integrate Substrate accounts and EVM accounts within a single, unified connection module through LunoKit—reducing the cost of implementing and maintaining two separate sets of connection logic and UI/state systems in multi-account environments. As more Solidity-based dApps emerge within the Polkadot ecosystem, demand for “dual-account / multi-account login” is expected to grow further. This model has already been validated in practice (for example, some dApps within Bifrost and Hydration support both account types). LunoKit aims to standardize and componentize these capabilities to reduce repetitive development effort across the ecosystem.
The following list is not exhaustive; it only includes some representative online product integration cases that are still in continuous operation.
| Snowbridge(Integrating) | Bridge between Ethereum and Polkadot | https://app.snowbridge.network/ |
|---|---|---|
| Potatao | DEX | https://app.potatao.io/ |
| EnergyWeb | Energy Web X app | https://staking.energywebx.com/stake |
| Fintradex | Non-custodial orderbook exchange | https://fintradex.io |
| Relaycode | The Developer Toolkit for Polkadot | https://relaycode.org |
Lunolab is composed of two core members with extensive blockchain development backgrounds. Since joining the ChainX team in 2020, they have been active in the Web3 field, participating in the incubation and development of multiple public chains and application projects.
Cris has over 5 years of Web3 product experience, focusing on cross-chain protocol design and user experience optimization. He led the product design of ChainX, worked as a product manager responsible for OmniBTC’s frontend product design and project management, and from 2023–2025 served as the product lead of BEVM/GEB, overseeing chain-level functionality design and developer tool planning.
Brain is a senior blockchain frontend developer. He joined the ChainX frontend team in 2020, began leading the frontend system development of OmniBTC in 2022 (including OmniSwap and OmniLending), and from 2023–2025 was fully responsible for the frontend architecture of BEVM/GEB, covering explorer, wallet, and developer tools, accumulating deep experience in blockchain frontend development.
| Field | Content |
|---|---|
| Name | Cris Sun |
| Role | Product Lead(PM/UX/DX) |
| GitHub | https://github.com/Gintma |
| X | https://x.com/crislee51255358 |
| Tg | @Crislee123 |
| Field | Content |
|---|---|
| Name | Brain Wu |
| Role | Lead Engineer |
| GitHub | https://github.com/wbh1328551759 |
| Tg | @wwwwwwbh |
After completing all milestones of the Web3 Foundation Web3 Grant, Lunokit continued ongoing development and maintenance of the product based on real production integration needs and ecosystem feedback, resulting in a set of additional deliverables that have been completed and can be publicly verified. This section is intended to fully list the scope and evidence trail of this “completed work,” making it easy for the community to directly verify the actual output.
| PR | Theme | Key Deliverables (Detailed) | Verification |
|---|---|---|---|
| PR #92 | Network presets expansion + Stability & UX improvements | Fresh parachain presets: Polkadot ( Coretime, Collectives, People), Kusama (AssetHub, People, Coretime), Westend (AssetHub) 3 new wallet connectors with full TypeScript support: Enkrypt, Fearless, Mimir; Tree-shakable exports to bundle only what you use (e.g., import chains/connectors as needed); UI/UX polish: chain search bar; Stability fix: resolved auto-connect race condition by adding a grace delay | https://github.com/Luno-lab/LunoKit/pull/92/changes |
| PR #98 | Multi-API compatibility modes + Wallet-only mode + New hooks | Flexible Integration Modes: use LunoKit with Dedot (default), PAPI, or @polkadot/api; Wallet-only mode: adopt LunoKit’s wallet connection without changing the existing blockchain API stack; New hooks: usePapiSigner (PAPI-compatible signers from connected wallets), useEstimatePaymentInfo (fee estimation before sending); Seamless migration: minimize code changes when migrating existing PAPI / @polkadot/api projects to LunoKit | https://github.com/Luno-lab/LunoKit/pull/98/changes |
| PR #114 + PR #118 + PR #128 | Connection stability + AssetList + Stronger CSS isolation | Improved connection stability: fixed account persistence so the selected account reliably restores after disconnect/reconnect; AssetList component: token & NFT list with comprehensive asset info, powered by Subscan integration Enhanced CSS isolation: improved component style isolation to avoid interfering with host app styles; | https://github.com/Luno-lab/LunoKit/pull/114/changes https://github.com/Luno-lab/LunoKit/pull/118/changes https://github.com/Luno-lab/LunoKit/pull/128/changes |
| PR #136 | UI branding + Hardware wallets + Transaction control + DX improvements | UI customization (appInfo): appInfo prop for Connect Modal to fully customize branding and app information (including Terms/Privacy entry points); Hardware wallet support: OneKey and Ledger connectors; Enhanced transaction control: useSendTransaction adds waitFor (inBlock vs finalized) and rawReceipt for deeper insights; Developer experience: useApi supports generics, cacheMetadata defaults improved, and QueryClientProvider removed from LunoKitProvider for more flexible setups | https://github.com/Luno-lab/LunoKit/pull/136/changes |
| PR #141 + PR #148 + PR #150 + PR #152 | UI configuration improvements + Theme fix + H160 address compatibility + Modal mounting | Custom wallet list grouping; Theme fix: backdrop-blur parameter;H160 address compatibility: formatting & balance queries for 20-byte addresses; Custom modal mounting nodes for flexible modal integration | https://github.com/Luno-lab/LunoKit/pull/141/changes https://github.com/Luno-lab/LunoKit/pull/148/changes https://github.com/Luno-lab/LunoKit/pull/150/changes https://github.com/Luno-lab/LunoKit/pull/152/changes |
| New Live Demo | Configure wallet/modal/theme tokens, preview components, and export code | https://github.com/Luno-lab/LiveDemo |
Verification
Public code verification: all PR commit histories above are publicly accessible and reviewable.
Functional verification: Docs / examples / live demo can be used to validate connection flows, component previews, theming configuration, and integration-ready code export.
Ecosystem usage verification: production integrations can be validated via the listed live applications (e.g., Snowbridge, Potatao, etc.).
This section covers only the work listed in the “Work Completed Deliverables” roadmap section (PR-based evidence). To align with OpenGov’s milestone-oriented funding approach and to reduce immediate treasury outflow, we structure the retroactive request as a partial reimbursement by applying a conservative, discounted hourly rate to the already completed and publicly verifiable work.
Budget Summary (Labor)
| Contributor | Role | Hours | Rate (USD/h) | Cost (USD) |
|---|---|---|---|---|
| Brain | Core Development & Engineering | 248 | 30 | 7,440 |
| Cris | Product, UI/UX, Documentation & Integration Support (incl. partial dev) | 248 | 30 | 7,440 |
| Total | - | 496 | - | 14,880 |
The work covered here is already completed and publicly verifiable (PR-based evidence, demos, and integrations).
We are intentionally requesting reimbursement at 30 USD/hour, which is below typical market rates for senior Web3 engineering and product/UI work, to keep the proposal cost-effective and aligned with milestone-oriented funding expectations.
We will deliver LunoKit’s heterogeneous-chain support (Polkadot SDK + EVM) and other content through monthly milestones from April to September 2026. Each milestone has clear scope, measurable success criteria, and public verification anchors (PRs/commits, release tags, docs, examples, and demo updates).
Objective: Introduce a robust type system and configuration layer in @luno-kit/core to support both Substrate and EVM chains under a unified connection model while maintaining strict type safety.
| No | Task | Rationale | Priority |
|---|---|---|---|
| 1 | Multi-track type system design (Core) | Introduce ChainType discriminated unions. Use TypeScript narrowing to strictly separate SubstrateAccount and EvmAccount at compile time. | Critical |
| 2 | Polymorphic connector adapter (Core) | Refactor the BaseConnector contract. Implement EvmConnector as an adapter wrapping Wagmi-standard connectors (MetaMask, WalletConnect). | Critical |
| 3 | Config system upgrade v2 (Core) | Add a createConfig entrypoint in Core. Allow a single config object to define both environments; Internally create Wagmi config, backfill connectors, and initialize state subscriptions. | High |
| 5 | Polkadot Vault | Add a Polkadot Vault wallet | High |
Success Criteria
@luno-kit/core can automatically detect configuration and load the corresponding heterogeneous connector instances.createConfig, IDE autocomplete and compile-time inference correctly narrow types based on chainType (Substrate vs EVM).Public Deliverables / Verification Anchors (published upon milestone completion)
Core API type definitions documenting the complete multi-track type system.
createConfig implementation in packages/core (core initialization logic).
A versioned release tag (or release notes) and the PR/commit list covering Milestone 1 scope.
Objective: Establish a bi-directional state synchronization pipeline and upgrade core hooks to support a namespace parameter with compile-time type narrowing and safe behavior across heterogeneous environments.
| No | Task | Rationale | Priority |
|---|---|---|---|
| 1 | Bi-directional state sync pipeline (React) | Use Zustand + Immer as the global store; Subscribe to Wagmi state and map it into LunoKit’s state machine so external changes (e.g., chain switch) reflect in real time. | Critical |
| 2 | Core hooks refactor (I) — Connection & Account | Refactor hooks such as useConnect, useDisconnect, useAccount, useAccounts, useBalance, useStatus, useActiveConnector, etc. Add namespace support and implement overloads so IDE infers Substrate vs EVM return types from namespace string literals. | Critical |
| 3 | Core hooks refactor (II) — Chain & Utils | Refactor useChain, useChainId, useSwitchChain, useClient, useSigner to route providers appropriately in heterogeneous environments. | Critical |
| 4 | Substrate-specific hook compatibility | Update useSs58Format, usePapi, etc. Add context guards so when namespace is EVM, hooks degrade safely (e.g., return null) rather than crashing. | High |
Success Criteria
15+ core hooks support namespace with strict type narrowing, enabling seamless switching between ecosystems.
Substrate-only hooks degrade gracefully in EVM mode (no runtime errors).
Public Deliverables / Verification Anchors (published upon milestone completion)
Updated @luno-kit/react implementation with namespace-aware hooks and overload-based type narrowing.
A versioned release tag (or release notes) and the PR/commit list covering Milestone 2 scope.
Docs updates describing the namespace model and recommended usage patterns.
Objective: Upgrade UI components to handle dual ecosystems cleanly, improve guidance when both Substrate and EVM connectors coexist, and implement reliable activeNamespace restoration behavior.
Design Reference
| No | Task | Rationale | Priority |
|---|---|---|---|
| 1 | Refactor ConnectButton & related components (UI) | Upgrade ConnectButton and ConnectModal with ecosystem-grouped rendering logic to improve detection and user guidance when Substrate and EVM plugins coexist. | Critical |
| 2 | Namespace-triggered interaction design | In ChainModal, switching chain can actively change the current namespace. Add EVM-specific 0x address display style and visual identifiers. | Critical |
| 3 | activeNamespace restoration strategy | On refresh, restore last active namespace first; if restoration fails, fall back to the side with an active connection. | Critical |
| 4 | Theme token enhancements | Extend theming tokens (e.g., link text color and related UI text colors) to improve brand consistency and configurability. | High |
| 5 | Mobile UI refinements | Optimize spacing, touch targets, and modal/list layouts to better match mobile usage patterns. | High |
| 6 | Smooth scroll mask / edge-fade effect for lists | Improve visual clarity when browsing long lists (addresses, wallets, accounts) by adding a subtle scroll mask/edge fade aligned with the design system. | High |
Success Criteria
UI adapts automatically based on activeNamespace, including icons, address format (SS58 vs 0x), and ecosystem visual indicators.
When both ecosystems are available, users can reliably discover, select, and switch between Substrate and EVM wallet contexts without confusion.
After page refresh, dual-session restoration behaves correctly and activeNamespace fallback logic prevents “stuck” states.
The Manage Wallets component matches the linked Figma design and supports the expected dual-ecosystem management flows.
Scrollable lists (wallets/network/addresses) render with a smooth edge-fade/scroll mask effect and maintain performance.
Mobile layouts are optimized (touch-friendly sizing, spacing, and modal behavior) without regressions on desktop.
New theming tokens (including connect text color) are available and reflected in the demo/configuration flows.
Public Deliverables / Verification Anchors (published upon milestone completion)
Updated @luno-kit/ui package implementing heterogeneous-chain adaptations for ConnectButton, ConnectModal, ChainModal, plus the new Manage Wallets component.
Demo updates showcasing dual-ecosystem UI flows (including Manage Wallets) aligned with the Figma design reference.
A versioned release tag (or release notes) and the PR/commit list covering Milestone 3 scope.
Demo updates showcasing: mobile refinements, new theme tokens, scroll mask effect, and Ledger multi-account selection UI (published upon milestone completion).
Objective: Provide a unified transaction and signing interface in React that supports both ecosystems while preserving access to underlying native status/details (Viem vs Dedot).
| No | Task | Rationale | Priority |
|---|---|---|---|
| 1 | Unified transaction/signing facade (React) | Define a unified TransactionStatus enum and map EVM (Viem receipt) and Substrate (Dedot finalized) native states into a single model. | Critical |
| 2 | Implement useSendTransaction (React) | Provide a unified entrypoint that routes internally by namespace. EVM accepts Viem parameters; Substrate accepts Dedot tx objects. Return unified status plus raw underlying data. | Critical |
| 3 | Implement useSignMessage (React) | EVM uses Viem signMessage; Substrate uses signRaw. | High |
| 4 | Ecosystem-aware UI rendering | Upgrade components such as AccountDetailsModal to automatically choose rendering logic based on account type. | Medium |
| 5 | EVM wallet integration | Metamask、Subwallet、Talisman、OKX Web3wallet 、Phantom、Coinbase Wallet、Rabby Wallet | High |
Success Criteria
Developers can send transactions via a unified interface and receive both LunoKit-mapped status and the raw native (Viem/Dedot) status/data.
AccountDetailsModal and related components correctly display heterogeneous addresses without formatting errors.
Users can use any of the supported EVM wallets to send transactions.
Public Deliverables / Verification Anchors (published upon milestone completion)
Unified transaction model/schema with raw-state passthrough.
Updated React hooks (useSendTransaction, useSignMessage) and supporting types.
A versioned release tag (or release notes) and the PR/commit list covering Milestone 4 scope.
Demo/docs updates demonstrating unified transaction/signing usage.
Objective: Add comprehensive automated testing for core paths across Core and React hooks, ensuring stability for connect/switch/transaction flows in both ecosystems.
| No | Task | Rationale | Priority |
|---|---|---|---|
| 1 | Full integration tests for hooks state flow | Test cases for hooks introduced/refactored in Milestone 2, focusing on namespace switching, fallback behavior, and routing correctness. | Critical |
| 2 | Unit tests for polymorphic connectors (Core) | Practical tests for EvmConnector connect/disconnect/switch events and createConfig parsing. | High |
| 3 | Transaction tests | Simulate signature rejection, RPC errors, and lifecycle transitions for useSendTransaction and useSignMessage. | High |
| 4 | Ledger multi-account selection | Enable account enumeration and selection for Ledger connections,dApps can support selecting among multiple Ledger-derived accounts in a consistent way. | High |
Success Criteria
CI passes for the full test suite; core paths (connect/switch/tx) are covered.
Transaction lifecycle states (signature → confirmation) behave consistently across both ecosystems.
Coverage targets: Core ≥ 90%, React hooks core-path coverage ≥ 80%.
When connecting a Substrate account using Ledger, you can choose which account to import.
Public Deliverables / Verification Anchors (published upon milestone completion)
Automated test suite source code (unit + integration tests) and CI configuration updates.
A versioned release tag (or release notes) and the PR/commit list covering Milestone 5 scope.
A test results summary (e.g., CI artifact link or published report) demonstrating pass status and coverage metrics.
Objective: Deliver a flagship integrated demo dApp, improve edge-case stability in real browsers, publish complete documentation and migration guides, and ship LunoKit v0.2
| No | Task | Rationale | Priority |
|---|---|---|---|
| 1 | Reference integrated DApp demo | Build example/integrated-dapp demonstrating a full heterogeneous-chain app (assets transfer + interactions across both ecosystems). | High |
| 2 | Edge-environment hardening | Optimize detection priority and stability in real browsers where multiple EVM wallet extensions compete. | Critical |
| 3 | Docs & migration guides | Fully update docs portal: complete API reference, namespace best practices, and smooth upgrade guide from v0.1 to v0.2 | High |
| 4 | Update Live Demo for EVM support | Ensure developers can directly validate and experiment with the new EVM-related capabilities through an official, always-up-to-date public demo. | High |
Success Criteria
A one-command runnable heterogeneous-chain demo site is available, showcasing dual-ecosystem transaction flows.
Official docs cover all new APIs and heterogeneous-chain integration scenarios.
The official Live Demo is updated to support and showcase the EVM-related features introduced in v0.2 .
Public Deliverables / Verification Anchors (published upon milestone completion)
LunoKit v0.2 release across Core, React, and UI packages.
example/integrated-dapp and a new publicly accessible live demo site.
Updated developer documentation and migration guide.
A versioned release tag (or release notes) and the PR/commit list covering Milestone 6 scope.
Team Costs
| Name | Role | Commitment (hours/week) | Monthly Cost | Total for Project Period |
|---|---|---|---|---|
| Brain | Lead Developer | 20 | $4,800 | $28,800 |
| Cris | Project Manager & Developer | 15 | $3,600 | $21,600 |
| Subtotal (Team) | $50,400 |
Operational Costs
| Category | Covers | Total (USD) |
|---|---|---|
| Operational Costs | Notion / Vercel / X Pro | $300 |
Total Requested Funding
| Item | Amount |
|---|---|
| Total Requested Funding | $50,700 USDC |
Milestone Distribution:
While the milestone plan describes the deliverables we commit to for funding and verification, we also
expect to ship additional fixes and features beyond the proposal in response to real developer needs and production integration feedback within the ecosystem. We will keep the community informed and ensure the committed milestone deliverables remain the priority.
This referendum formally closes the Polkadot Fast Grants and Open Source Developer Grants bounty programs following the completion of their defined scope and boundary conditions.
All outstanding obligations, pending evaluations, and eligible payouts have been resolved or terminated in accordance with the bounty rules and governance framework. Any remaining unallocated or unused funds are to be returned to the Polkadot Treasury.
Rank #
Login to see your rank