This will be a long post, and I’d ask you to read it slowly and in full. Before we explain what’s happening today with Polkadot-API, it’s crucial to understand how we got here.
Historical context
The Polkadot-API initiative started a little over two years ago, when I decided to leave Parity and convinced @voliva, an exceptionally talented ex-colleague and friend, to leave his comfortable full-time job and join me in this risky adventure.
When I left Parity, I genuinely didn’t know if our first OpenGov proposal would pass. I had received mixed signals about whether we would get support from the “powers that be” at the time. We still took the risk, knowing that Parity’s leadership did not initially want the project to leave the company. In fact, I wasn’t originally going to leave alone: another colleague was planning to join, but Parity’s leadership managed to scare him away, and later they still couldn’t keep him around.
The reason I took that risk was simple: from inside Parity, I could already see dynamics that made me believe it would be impossible to execute on what PAPI needed to become.
Back then (and still today), I believed Polkadot’s biggest structural problem was that too much power and decision-making accumulated in two places: Web3 Foundation and Parity. To be clear: both organizations have many incredibly valuable people. That isn’t in doubt.
But when power concentrates, standards suffer, competition suffers, and so does ecosystem resilience. In my view, the Web3 Foundation’s role should be to fund and steward the research that yields proper standards, standards that enable many independent companies to build interoperable implementations.
What we’ve ended up with is something else. There is a reason Polkadot effectively has one host implementation running in production. It’s the same dynamic that leads Parity leadership to speak of system parachains as “our parachains.” The simplest way to describe it is centralization of power.
When I left Parity, I was optimistic. The narrative was “let’s decentralize.” Those were the days of the “Decentralized Futures” program. OpenGov was new and exciting. The Polkadot spec was still evolving (at least in theory). The Fellowship was becoming functional. Tomaka was progressing on an alternative full node. JAM was coming — this time backed by a more rigorous spec. A new, light-client-friendly JSON-RPC spec was emerging. And since the main maintainer of PJS had vanished, it felt like we’d be forced to replace legacy RPCs quickly.
For a moment, it seemed like the ecosystem could finally take off: standardization, decentralization, openness, a brighter future. Everything was to be done, and everything was possible.
I thought we were at an inflection point. I thought Parity would become leaner over time. I also wanted to prove to other teams stuck inside Parity that meaningful, coordinated, decentralized work was possible from the outside.
In hindsight, that optimism looks naive. But even so: the PAPI team can honestly say we worked relentlessly to push Polkadot in that direction, and we did it with meaningful support from individuals inside Parity as well.
What happened afterward is… not what we anticipated. I won’t unpack the entire evolution here, but it’s fair to say the broader trajectory went in the opposite direction. The why/how is a longer conversation, and for now I’ll keep my personal analysis to myself.
Still, I’m extremely proud of what our team delivered over these two years.
We tried to be an example of how to engage with OpenGov responsibly. We started with a small but ambitious two-month proposal, which (naturally) was met with skepticism. I remember reading the first feedback from CD and thinking: “Good, we’ll prove it.”
And we did. Out of nowhere, @Kheops (whom we didn’t even know at the time) built kheopswap. We released PAPI v1. Things started to take off.
By our second proposal, we added @carlosala, joining at the perfect time so that @voliva and I could attend the Singapore PBA edition, where we both graduated with distinction (and to be clear, we did not charge the treasury for the time we spent learning).
Momentum continued. Then a wild @tien appeared and began building genuinely cool things on top of PAPI. On our next proposal we tried to grow again, but we soon realized a developer we hired was not delivering value proportional to the cost. It would have been easy to bury that mistake. We chose not to. We fired the dev, lost a friend in the process, and returned funds to the Treasury.
We have always tried to treat Treasury funds with the highest level of responsibility. Those funds represent inflation, which means we have an obligation to make sure the value we deliver exceeds the opportunity cost of not burning those tokens.
This leads directly to the next topic.
Our hourly rates
From the outside, our hourly rates may look high. We believe they are defensible, and not only defensible, but cost-effective relative to outcomes and risk.
Outcomes
Look at outcomes first, then cost.
If you compare what we have delivered to what other organizations would have spent to deliver similar results, it should be clear that our value-per-€ is strong.
A concrete example: Parity spent ~2 years attempting to deliver the CAPI initiative. How much did Parity spend producing what ultimately became a large pile of vaporware that practically no one could use? Almost certainly far more than the total amount the PAPI team has received from the treasury since inception.
If you doubt that, consider: for ~2 years Parity paid very high salaries to a team that at its peak had 6 developers. On top of that, there was an Apps team intended to dogfood the library. But since the library wasn’t usable, that team was perpetually blocked, producing feedback loops that went nowhere. How much money was spent for how long without validating the core hypothesis early? It was obviously substantial, and again, likely far above our full cost to date.
And before anyone says “that was before Pierre Aubert,” I’ll just note that dysfunction has not been limited to a single era. Examples that many of you will recognize:
- Polkadot App was promised for Q3 2024…
- PDP: it was moving, then canceled mid-way. How much was spent? And why is the code not public so others can continue?
- Revive: complete fiasco. We got the worst of both worlds — not fully EVM compatible, difficult for Rust devs — and it’s not like those tradeoffs were unforeseeable.
- Facade: let’s pretend it never happened.
- PixelProof: I’ll refrain from commenting (for now).
- RFC launcher: it was never used.
My position is simple: Parity, as an organization, has repeatedly demonstrated that larger budgets do not reliably translate into better outcomes.
So if we’re talking about value-per-dollar, I strongly believe PAPI outpaces Parity by orders of magnitude.
We can also compare outcomes against other OpenGov initiatives. One example: LimeChain’s proposal (which, unless I’m mistaken, had W3F endorsement) to build a PAPI dev-console requested $225K. We spent multiple calls offering them guidance — free consulting — and they ended up “heavily inspired” by what @tien had built with DOTConsole. They delivered something quite disappointing, and then returned with another proposal asking for an additional 172K.
We built our dev-console largely as “extra delivery,” often after hours. Only in the last OpenGov proposal did we add budget for maintaining and improving it. And as of today, our console is the only one that supports signing with custom-signed extensions, or signing transactions directly with Ledger, Polkadot Vault, or WalletConnect. It’s also the only dev-console that can display all kinds of signed extensions present in an extrinsic. How much has the treasury spent on our developer console? €96K, while delivering significantly more.
Beyond the core libraries/SDKs, here is a quick overview of tangible outputs we’ve shipped:
- PAPI console
- Staking Optimizer
- Bounties App
- Polkadot Runtime Diff
@polkadot-api/check-runtimeCLI- Polkadot JSON-RPC DevTools
- PAPI Stateless Multisig Tool
- wsmux (implemented by the @sodazone team, funded from the PAPI budget)
On top of this, we are consistently responsive to our users, many of whom are Parity developers. We’ve written technical posts sharing learnings and made upstream contributions.
So when “Polkadot leadership” says our rates are inflated, my response is: show me one Parity team that consistently delivers comparable value on a yearly budget lower than ours. You won’t find it.
Or asked differently: if Parity handled this initiative internally, does anyone truly believe they could deliver this much value for the same spend? I don’t.
Know-how / specialization
How many developers in the ecosystem can contribute across the full Polkadot stack — low-level TS libraries, PolkadotJS, smoldot, Polkadot-SDK runtimes, the node, Chopsticks — in real terms, not in theory? I’m not sure there is a single developer inside Parity who can contribute across the stack in the way we do. Interestingly, there are teams outside Parity (e.g., within Acala) that can. That’s part of why I believe the ecosystem has more hope outside Parity than inside it.
Job stability and commitment
Funding via OpenGov is not the same as an SLA-backed contract. You never know what the governance arena will look like when you submit the next proposal. Will a new whale start calling the shots? Will DVs still value the work? Will the W3F decide to centralize control further?
To operate responsibly, you must maintain enough runway to survive delays, sometimes months, between proposals. We’re living that reality right now (more below).
Despite opportunities to pivot elsewhere, we’ve been laser-focused on Polkadot. We’ve doubled down on the ecosystem, and even invested our own resources to hire external teams to deliver valuable pieces that Polkadot needed but Parity neglected for years. We’ve put significant funds of our own into these initiatives because we genuinely want Polkadot to succeed.
Extra time and availability
While some teams (I won’t name them) inflate hours in proposals, we often do the opposite. We also ensure we never all take vacation at once, because we believe at least one of us must stay responsive when bugs appear, runtime upgrades break things, etc.
So yes, we’re going to stand our ground. Unless someone provides clear arguments for why our hourly rates (unchanged over two years despite inflation) are unjustified, we will keep defending them. Comparing our rates to Parity employee rates is simply not a valid comparison; we are not the same kind of cost structure, risk profile, or delivery model.
Everything above is context so you can understand what is happening with our latest OpenGov proposal.
Current OpenGov proposal
On November 21st, 2025, alarms went off when we discovered that @tien’s proposal had been nayed in extremis by the W3F. It didn’t make sense. We made inquiries and got worried. It looked like the W3F was moving toward full control of OpenGov: closing (some) bounties, naying Tien’s proposal based on guidelines that had just been published, and more. In the end, Tien submitted a new proposal aligned with the W3F, and it passed, but the signal was clear.
We had funding through the end of 2025, so we had to begin our next proposal quickly. In early December, we reached out to the W3F Governance Team to begin negotiations.
The first thing we were told: a hard requirement was to have Parity sign-off, and we should ensure nothing in our proposal fell outside enabling Parity’s new efforts. That was strange. Parity is an important stakeholder, but not the only one. Our stakeholders also include wallets, indexers, parachains, dapp developers, tooling teams, and more. We initially assumed that “useful for Parity” would also be broadly useful. That assumption turned out to be wrong.
We also couldn’t understand why we were being subjected to such scrutiny. We’ve tried to be a model OpenGov participant. Our proposals have passed with overwhelming support, we communicate consistently, we overdeliver, and stakeholders are happy. Was this really necessary?
We were told: “We have guidelines, we can’t make exceptions. You must comply. And the committee wants to ensure your work moving forward is aligned with Parity’s new efforts.”
Meanwhile, we had been fighting uphill for two years to improve Polkadot so decentralized applications can actually be shipped in a robust way. We repeatedly asked Parity to implement RFC-9. We repeatedly asked Parity and W3F to help promote the new (light-client-friendly) JSON-RPC APIs and define a path to deprecate the legacy ones. Not only were we ignored, Parity went as far as publicly announcing they would keep maintaining PJS with no clear plan to migrate away from legacy RPCs, when the responsible move would have been to announce a clear sunset date.
We also raised the importance of addressing critical issues (example 1, example 2, among many others). These aren’t minor. They matter if we truly want decentralized applications to succeed.
So when Parity announced a focus on “decentralized products,” the obvious question was: shouldn’t they come to us to ask what’s missing and how to enable that future? Why are we the ones pitching? Why are we being asked to narrow scope until it only matches Parity’s internal initiatives?
Nevertheless, we played along. We had countless meetings with people who did not fully understand the importance of parts of our proposal. From day one, the goal was consistent: reduce scope aggressively. Remove anything not directly related to Parity’s “Host API initiative.” “Unnecessary” (in their view) items like the Staking SDK: remove. Maintenance of the Staking Optimizer: remove. Reduce everything to the minimum three developers working full-time can deliver in one year.
So we did. We fought hard just to include modest budget to consolidate the PAPI console, because the PJS console is dying and ours is still in beta. We spent significant time educating our Parity contact about why certain pieces mattered.
After more than a month of back-and-forth, just as we finished addressing all requested changes, that Parity contact was fired. We were stunned. Does the sign-off still count? We sent the final document to the W3F Governance team anyway, because it was already January 12 and we had been operating unfunded since January 1.
We then had a meeting where they asked for clarifications (which we provided), requested small changes (which we implemented), and told us the proposal would go to the committee that makes the final decisions. We reminded them we intended to go on-chain by the end of January, because two months of negotiations was already extensive and we had been working the entirety of January unfunded. They told us they’d get back to us as soon as they had committee feedback.
So we waited.
Every few days we asked if there was news. Every time: “No, no news.” Meanwhile, the Staking Dashboard proposal went on-chain with committee green-light. That was hard to accept. Why prioritize that while we remained blocked without feedback?
Last-minute reaction and its consequences
At the end of January, after a full month of unfunded work, we restated our plan: we would submit on-chain Friday, January 30th, the deadline we had communicated from the start.
Then, the evening of Thursday, January 29th — hours before we planned to submit — we finally got committee feedback: they would not support our proposal because they considered our hourly rate too high. No justification, no explanation. They demanded a reduction to €50/hour (a 66% cut) and told us to continue negotiating until Parity provided final green-light.
We were shocked. We had been negotiating for two months, and every time we raised the hourly rate topic, we were told it was justified. The committee had recently approved Tien’s hourly rate of $125/hour, and Tien works fewer hours and at a less critical/complex part of the stack than we do. Even the team maintaining the Staking Dashboard had a higher hourly rate than what was now being demanded from us.
We replied with a polite email explaining:
- our hourly rate had been discussed from the beginning and repeatedly affirmed,
- we had worked all of January in good faith assuming compensation on that basis,
- introducing a massive cut at the last minute was disingenuous and not a serious process.
We informed them we would proceed to submit the proposal anyway. If the committee changed its mind and allowed us to continue operating as proactive contributors (as we have successfully done for two years), great. If they nayed the proposal, we would not submit another in this form. We would remain open to clearly scoped work for teams that need our expertise.
The next day, while we were submitting on-chain, we received another email. Despite us stating we had reached a dead-end, they suggested they might consider €75/hour, still without any commitment.
We replied after submitting on-chain, again pointing out that this kind of last-minute re-anchoring is not conducive to good-faith negotiation. We asked them to evaluate the value we deliver and stop throwing arbitrary numbers without justification. We summarized the decision in two options:
- Enable the PAPI team to continue thriving and working proactively for Polkadot under a stable, reviewable process; or
- Watch us become a traditional consultancy and engage us only when you need specific, well-scoped work.
We also made clear that we understood from their recent communications that they’ve chosen to deprive us of the model that allowed us to operate as proactive contributors. We hope they reconsider what we see as a serious mistake, but at this point there is nothing further we can do to change that decision.
UPDATE: Just a few hours ago we received yet another email, even after asking them twice to stop sending random numbers, stating their current view is that: this scope is supportable at a cap of ~$450k total (70€/hr). Once again: without providing any rational justification for that hourly rate.
We will not accept that. We know our worth.
The future of Polkadot-API
If the W3F Governance Team doesn’t support our proposal, despite our track record and our success under the decentralized OpenGov model, where all our proposals passed with >99.99% support, and despite overwhelming stakeholder support for our current proposal (including Parity developers across teams, wallets, indexers, tooling teams, and others), the new centralized and opaque committee, enabled by the W3F’s opacity, will force us to pivot.
By removing the incentives and stability that allowed us to ship proactively, they are effectively choosing a different operating model for PAPI. Unless there is a major change of heart, we will shift toward consultancy work. And because we have to pay bills, we will also offer services to other ecosystems.
What does that mean concretely?
- We will not abandon the project.
- But we will stop making upstream contributions.
- Maintenance will happen mostly in our spare time.
- We will not be able to remain as responsive as we have been.
- We will not be able to provide the same team support, create/maintain new SDKs, or keep improving our dApps at the same pace.
Our focus will shift to the parts that add concrete value to clients.
If Parity, the W3F, or any other Polkadot stakeholder wants to approach us with clear deliverables and well-scoped work, we can discuss directly. We may or may not reach an agreement, but at least it would be a real contract model with real clarity.
To everyone who supported us and worked with us during these two years of funding from the Polkadot DAO: thank you. It has been an honor and a privilege.
Yours truly,
PAPI Team ![]()
