PEP-32: pokt.tools

Attributes

  • Author(s): Marty Mulligan (discord: noproblem)
  • Recipient(s): Too Great Labs, LLC
  • Category: Reimbursement
  • Fulfills: RFP-8: Node Monitoring Tools
  • Asking Amount: 494,778 POKT

Summary

The purpose of this proposal is to request reimbursement for the development of POKT Tools in its current state, and to fund its continuing operation as a free community resource. I plan to continue delivering new features and improvements based on feedback and needs in the community. This proposal covers work already completed. Any future development requiring reimbursement will be addressed in a subsequent proposal.

Abstract

POKT Tools (https://pokt.tools) is a general purpose resource for Pocket Network participants, with an initial focus on node runners. The idea is to provide a user-friendly interface that provides utilities to node runners to aid in managing and monitoring their nodes, and tracking rewards earned. Current and planned features include:

  • insights into nodes’ reward history and present health
  • diagnostic tools (integrations with POKT Lint) to check relay functionality and response latency
  • building blocks for other developers to reference or piggyback off of, while developing their own products
  • integrations with other ecosystem services (wallets, staking services, block explorers, etc)
  • out-of-the-box solution for more detailed relay and system monitoring with Grafana

Since its inception, the project has been a laboratory for experimentation and learning about my own nodes. After casually dropping a link into the node-runners discord channel in late January, word of the project spread organically, seeing steady growth in usage over the past several months, and is becoming a go-to daily resource for many in the community.

Motivation

There are many challenges and often a significant learning curve faced by node runners in the Pocket Network. POKT Tools aims to reduce the friction involved in running a node, and to provide a modern, user-friendly interface for tracking node earnings and assisting node runners in performing common operations involved in maintaining optimal node-health and performance.

Objectives

  1. Reimburse for past development
  2. Cover operational costs for 2022

Objective Key Results

  • Provide the hosted https://pokt.tools as a free resource for the Pocket community
  • Supply Instructions and configuration for running the tool locally and using its API
  • Supply an easy to spin up local monitoring solution using grafana + prometheus + node exporter
  • Publish open source code for the project under an MIT License, allowing for community scrutiny, forking, or integration into other projects.

Needs being met

POKT Tools directly addresses both OKR’s in RFP-8 Node Monitoring Tools by providing a unique monitoring and reward tracking tool, a local monitoring solution for tracking real time relay performance, as well as a UI for testing relay functionality and ping latency (the first 3rd party integration with POKT Lint).

It also acts as a building block for other developers to piggyback off of. For example, the bundled API can be used by other development teams to build their own dashboards and monitoring tools.

Dissenting Opinions

I don’t know of any dissenting opinions but I’m open to hearing and discussing them!

Deliverable(s)

  • (done) Launch https://pokt.tools with
    • Tracking relay claims and proofs
    • Tracking rewards earned and charting trends
    • Relay testing diagnostic tool
    • Ping test diagnostic tool
    • Integrations with other ecosystem products (the first one is withdrawals to tPOKT)
  • (done) Publish open source codebase on github under MIT License: https://github.com/itsnoproblem/pokt-tools
  • (in progress) Publish docker based Grafana solution

Budget

The budget for this proposal was calculated using the value model proposed by DAO member @shane. A detailed breakdown can be found here. The top-line numbers are:

366,502 = Project budget w/ premiums
128,276 = 35% Safety Net premium
494,778 = Total

Contributor(s)

I am the main contributor, but hope to use some of this budget to offer bounties or incentives for outside contributions. I am a full stack developer with over 20 years of experience building for web2, and have recently (in the last 18 months) begun hacking + dabbling with web3 technologies. I’m excited to continue building cool things in the POKT ecosystem.

Copyright

Copyright and related rights waived via CC0.

1 Like

Several weeks ago, I set out to try and quantify how value can be measured, outside of just adding up the “man hours” required to complete a project. Value should include factors and incentives that go beyond the raw hours, to reward best practices and encourage innovation. My goal in making the Proposal Value Model was to try and quantify value in a manner that can be easily applied to all (or at least most) future proposals. It would be great to get more feedback from the community regarding this model.

I’ve worked with many POKT DAO voters to tune this model and I’m excited to see @noproblem apply it to his proposal.

I personally support this proposal and am a big fan of pokt.tools. I use it almost daily and I know folks who have deployed it on their own setups and used it’s API to create tools for tracking their nodes. This is a valuable open-source tool in the POKT ecosystem.

I also agree with the value prescribed from the Proposal Value Model. This is a great opportunity to get the wider community’s take on this Proposal Value Model with an actual proposal. Thank-you @noproblem for being willing to apply it first to your own proposal!

2 Likes

Looks like a great tool. Personally I would prefer amounts be requested in USD and paid out in POKT at market price over the course of a year or two. Then the safety net premium can be greatly reduced, since payout over time will account for price fluctuations. If this proposal were submitted 3 weeks ago it would have been half the POKT. Two weeks from now, it might be double, or half again. If we stretch out the payment timeline, I think that’s fair and prevents proposal timing manipulation.

2 Likes

I think for some proposals, being paid in tranches make sense and can help with assuring that value is not being overpaid (or underpaid), especially if the product is not yet complete. POKTscan and POKT Fund both are examples of proposal that were structured as tranches in which the USD value fluctuates over time.

I do believe that if a proposal opts for tranches in the future, that the safety net should be applied to each tranche. The reasons for the safety net are explained and I feel those reasons apply to each payment regardless of if the payment happens at one time, or over a course of time.

I think it should be ok for projects to submit one time proposals, especially if it’s a reimbursement for work that has been in development for a while. I think it would be complicated if the DAO was to try and predict the future value of POKT when gauging proposals. I feel it would be a more consistent experience for contributors if proposals are only judged by recent market conditions.

That’s at least my take.

1 Like

I hear you. I’m one of “those” still optimistic about Pocket, so half a million seems like a lot based on my perceived value of the token. This proposal comes at the very bottom of the market, so I think we’re overpaying by virtue of timing (or maybe not, who knows, but if pricing goes any lower we got bigger issues). The author could have submitted this proposal two weeks ago, a month ago, or two weeks from now. The DAO should try to maximize the impact of its investment funds on the ecosystem, and if we’re in agreement that the project’s value is on the rise (otherwise what are we doing here) then paying out in tranches over a period of time will help preserve DAO funds for future investments, while still delivering the ask amount in USD to the contributor.

Hey @iaa12, thanks for the discussion! I do see your point about maximizing value to the DAO, and realize funding has not been requested at the current token price, so we are in uncharted territory. If the proposal were to be approved, I would 100% accept an adjustment to the POKT amount, to align with the market rate at that time.

As to the timing of this proposal, I have been working on it for several weeks, and shoring up the project to a state I felt was presentable. I wanted to get the proposal in front of the voters ahead of infracon, and did not anticipate the market being in the state it is currently in. I have been working on pokt tools itself since December, with the mindset that I would not even consider requesting any funding until I had a more-or-less vetted, working product.

I am still trying to objectively assess the pros and cons of a payout in tranches vs a lump sum. Is there a precedent yet for this? My gut reaction is that a timeframe of years would be overkill when the reimbursement request is for 5 - 6 months of work already completed.

Just clarify, I don’t think you did anything wrong. Site looks great, and you did a fantastic job. There’s a lot of discussion around inflation currently though, and half a million tokens may soon represent a decent chunk of the network’s total monthly token output, and may be hard to replenish if significant deflationary measures are taken. At one billion relays per day, with equivalent Infura pricing of $225 per million, it’s also 3/4s of the network’s entire potential monthly revenue.

None of this is your fault, not the network’s earnings, nor the current token price, and you deserve to be compensated for a job well done. I think given the current financial situation the DAO should take a conservative approach to reimbursement and pay the $140,000 you are requesting in 7 tranches of $20,000 worth of POKT each, using the market price at the time of each tranche. That way you still get reimbursed the USD amount you requested, and the treasury retains more tokens for future investments in similar projects- assuming price growth. I think given the safety net and other bonuses included in the ask amount, that should compensate for the tranche payout.

1 Like

No worries, hopefully I didn’t come across as (too) defensive :slight_smile: And thanks for the kind words, I appreciate the encouragement very much. I think what you are suggesting is sensible, and if the consensus is that this is the most reasonable path, I can get on board with it. Are there any down-sides to this approach that we haven’t considered?

The main “worst case” scenario I can think of is: if the network blows up (i.e. price crash, bank run, or other catastrophe), we have bigger problems as you say, but… contributors awaiting the remainder of their payout would suffer (or get completely stiffed) through no fault of their own. Is this acceptable risk that is already taken into account by the safety net bonus? I lean towards “yes”, but maybe it’s worth hearing from others, as this decision could set a precedent for future contributions.

I support this proposal.

@noproblem presence in the community and his open source resources has been undeniably helpful in terms of node runners, developers, and so on.

In terms of price, I am looking long term. This explorer / tool has been a great asset to the community. We should continue to support proposals that strengthen our ecosystem. The timing may not be the best - but no one can time the market. While @iaa12 brings up a good point about proposal price manipulation, I just don’t see that being the case here. Regardless of timing, we should still keep continue to grow our ecosystem. Other blockchain as a service companies are raising tens and hundreds millions of VC funds, and they are in a position to bring in so much more talent and bandwidth power to make them competitive. The last thing we want to do is turn away more builders in the space, we want to continue to leave those doors open for developers and innovators.

I do have a nit about this though - we probably have funded a couple of indexers or explorers (diversity is good). The PNF is also coming out with one. While I understand that there are plans for additional functionality in this tool, this project still share similar characteristics of the other projects, too. If this one passes, I hope it’s the last one I see in a proposal and we as a community build on top of the existing open source tools that we fund. I’m sure the DAO would be totally comfortable with reimbursing work for work done on existing funded projects as well.

Do we have stablecoin we can pay this in? Converting USD to POKT right now is the same as selling, and selling at the bottom of the market seems unwise. Paying this proposal in stablecoin would essentially be a half a million POKT buyback, which is a popular topic these days. It would also strongly signal confidence on the part of the DAO in our native token.

Or , alternatively, if payment must be made in POKT, would the DAO be willing to place an order for 500,000 POKT on the open market in order to pay out this proposal?

Right now, not possible. For us to diversify our funds into other tokens, there would have to be another proposal. I believe we’ve done some token swaps in the past (FUSE, Harmony), but those funds are still locked in for a couple more months. wPokt makes this more feasible.

The DAO treasury holds mostly POKT. We don’t have any USD right now.

Yeah, agreed. If broken into tranches, make it a couple months worth, tops and peg your tranches to USD (Should make it more stable for you, and ofc only if you’re comfortable with that). It should not expand years, unless you are comfortable with that either. The DAO can send you the POKT funds at the market price when disbursing per tranche. I’m curious how the other DAO members feel. I’m fine with either.

It looks like this went to vote along with a number of other proposals. Are we no longer updating proposals indicating voting has started along with a snapshot link? I didn’t see any announcements on Discord either, maybe I missed it.

We are. The initial announcement came through notifying voters here Discord

The plan was to follow up with a nudge today. So here I am:

This proposal is up for voting here Snapshot

I would like to support this proposal as it is essentially paying for work that is already done. My hope is that the ~500k POKT is sufficient to cover the costs in USD mentioned in the excel sheet shared by @shane.

In the future, we need to have a system that takes this risk away from projects as they have real expenses. Speculation is not something the teams should be focused on, but rather on building & delivering quickly. For this, the real-world expenses have to be met. So hopefully, in the future, we have better clarity on how we pay out - in USD. I don’t know how viable the tranch option is as it brings more complexity. Would prefer a simple proposal scheme based on USD and the foundation /DAO can use a tranche-based system to exit funds (POKT) to meet its payment obligations to multiple projects within these tranches.

Lastly, really loved the Proposal Value Model introduced by @shane, and kudos to @noproblem for implementing this. It really gives a lot of comfort while deciding on the asks. Can we implement this as a mandatory step to be followed for future proposals? A project makes a proposal according to the framework and someone from the foundation/or a vetted expert in the community validates the proposal & the numbers and provides his feedback in the channel before voting.

I’d like to thank everyone who voted on this proposal. To the above points made by @Rajeevan_Blockwall I was aware that my ask was solely denominated in POKT, and although the price at the time of the proposal was around $0.30 (now around $0.13) I did not update to account for that, and am willing to accept the speculative nature of the resulting payout. I do agree that future proposals (my own included) should probably ask for reimbursement in USD denominated equivalent of POKT, to avoid drastic shifts in the value of the payment, either upward or downward, once the proposal goes to a vote.

And thanks to the community for largely supporting pokt.tools! I look forward to building more useful things within the Pocket ecosystem!

This proposal has been approved with 23 yes votes and 5 no votes. Snapshot