A Better Treasury System

As someone “living of the treasury”, having walked the happy path of starting small with Kusama, a W3F grant and a couple of Polkadot treasury proposals that have been more ambitious over time perhaps I can chime in and share some experiences.

Stable coin payments need to happen, dealing with price fluctuations is a stressful situation that should not be on the builder’s shoulders. But how? it might not be so trivial and would be interesting to discuss as well. Which stable coin? do we want to chose a favorite coin? a group of favorite coins that teams are allowed to chose from? where do stable funds live? use XCM to periodically move and convert collected funds to a specialized (common good?) parachain where the spending takes place? how/when to convert DOT reserves into designated stable coins? should the relay-chain’s governance participate in DeFi protocols directly(e.g. minting stable coin using DOT as collateral)?
Solving all this might become more of a governance challenge than a technical one, perhaps Gov2 could save the day here creating a space for experts in finance(a branch of the Polkadot fellowship?) to suggest the community conservative actions on how to turn DOT into the stable assets of choice?

Feedback on proposals is not always very meaningful/sufficient or agile and I don’t blame anyone for it, on one hand proposals can be very diverse and it’s unreal to think the few people participating in discussions will be experts on every topic, also reviewing proposals is a very time consuming activity that requires reviewers to spend hours or even days to gather all the context necessary to give an educated opinion, the council system falls short as we currently don’t have enough members that can be full time devoted to treasury topics. The W3F grants experience feels more mature even if it’s more cumbersome for applicants, I think the treasury should learn from their experience and try to replicate it in a decentralized manner.

An idea that pops up is, again with the help of Gov2 and the fellowship(or a parallel “builders track”), to use the ranked collective as the reputation system that determines if a team can apply for a given amount of funds, similarly experts reviewing, doing follow-ups and evaluating milestones of proposals should be members of a collective that given track+rank entitles them to a recurring payment. This could be extended the many different kinds of professional activities needed to sustain the ecosystem, I imagine Parity and the Web3 foundation for example breaking up and letting the chain develop itself using this advanced treasury system. Aren’t we aiming for an unstoppable ecosystem?

A better payments system that gives the treasury some certainty that projects will be completed is crucial, also for builders, it might seem that getting a “no strings attached” full payment in advance is good but comes with drawbacks, for one like @28KX mentions we don’t need the full amount up front, there’s an extra worry with price fluctuations if DOT is not converted right away, then there is the fact that we’d like to apply for projects that are more ambitious and with larger scope but there’s pressure to first prove yourself as a team with smaller proposals. It isn’t easy to find team mates that are willing to give up their steady jobs to join the cause, I know several talented people that I’d love to have on board but those doors are closed for now while the resources are not as steady and reliable.

On a related note, some months ago I proposed in Polkassembly Kreivo as a common good chain for Kusama but the conversation died. Now we’ll likely adjust things a bit to proceed with a crowdloan approach but I’d still ask the community to consider at least the usage of orml-payments somewhere since it nicely tackles most of the issues mentioned here. It’s a core functionality of our chain that we completed with the W3F grant and is part of the reason I suggested Kreivo could be seen as common good. In our domain(sustainable marketplaces of real world products and services) we use the pallet to allow for example decentralized on&off-ramps, where its escrow-like system keeps tokens locked until an off-chain action like a bank transfer is confirmed to have happened. The treasury could use this system to pay builders(specially with our planned recurring payments) in a way that funds are only unlocked until the “service” is fully provided whether that is a one time job or an unlimited (transferable)“contract” that pays regularly freeing funds after the corresponding thumbs up. It’s very generic with more features and ways to configure it so I’d argue is better than packing more functionality in the treasury pallet.

Regarding data decentralization, besides the metadata I’d be very interested to see proposals and associated discussions to be decentralized, not necessarily putting things on-chain(a URL perhaps?). I’ve been hesitant to use alternatives to Polkassembly mainly because of the network effect, it’s where everybody already is and there’s going to be more exposure there, it would also be annoying to answer in multiple forums similar questions.
Here my suggestion that I’ve shared in the Kusama direction in the past would be to use Matrix, it’s a great protocol to be used as a general purpose “decentralized storage”, it doesn’t have to be about chat. IPFS based solutions are ok-ish but not the best when adding more complex use cases(like lots of replies, edits, deletions, etc. and reflect them real-time in the UI), it’s easy to end up with poor UX. Each forum is still its own server with its own database but the federated nature of the protocol makes it easy to keep all the different forums in sync and achieve eventual consistency of the data without polluting the blockchain’s expensive storage.

6 Likes