---
# System prepended metadata

title: ⚖️ RESOLVR UPDATE ⚖️

---

# ⚖️ RESOLVR UPDATE ⚖️ Desktop App Nostr Client + Nostr Key Management App

*Resolvr is A decentralized bounty marketplace for the #FOSS community.*

---
![](https://www.bitcoinbrief.io/content/images/size/w960/2024/02/keystachebounty.png)

### #TopBuilder, First Round Progress Update
[Resolvr.io](https://resolvr.io) is a bitcoin- and nostr-native bounty marketplace that:

* gives developers assurances of payment for solving bounties,
* decentralizes and grows FOSS funding sources,
* unlocks access to the global talent pool,
* provides a frictionless on-ramp to earn Bitcoin (₿).

The Resolvr team has joined the [Top Builder competition](https://www.topbuilder.dev/) at PlebLab and has reached the first round of judging.   Here's some of the accomplishments so far!

### Desktop App for Bounties 

Resolvr has built a desktop nostr client for the bounty marketplace.  Now you can post and take bounties directly from your machine!

https://youtu.be/hs92JIjpeno

Why a Desktop App?  

* Desktop apps allow for full, self-sovereign computing by reducing reliance on browsers and servers (**read more on desktop key storage below**)
* Fewer attack surfaces compared to browser-based clients.
* Extensibility:  allows for more seemless integration of bitcoin wallet modules, DLC contract formation modules, and more!


The Resolvr bounty marketplace experience will be fully realized on the desktop app moving forward as we work towards rolling out escrow features.  The web client will continue to be supported, but will have fewer features.

### Introducing...KEYSTACHE 🗝️🥸

While building the desktop app, the team wrestled with nsec (private key) management, a major pain point for nostr adoption and onboarding.  Pasting nsecs into every app (especially web apps!) is a recipe for disaster.  

Our solution is **Keystache**: a desktop app that allows you to store nostr private keys and provides an API (Over a Unix Domain Socket) for other MacOS desktop applications to request a public key (used to sign in to other apps) or request an event be signed.

**Keystache** lets you to keep all of your nostr keys in a single application rather than pasting your nsec into every application you install on the desktop. It's similar to the nostr support that web extensions like alby or nos2x provide.

https://www.youtube.com/watch?v=v2qBY2FWbnI

#### How it works under the Hood:

The team took time to evaluate different communication protocols and landed on Unix Domain Sockets (mac and linux) and Named Pipes (Windows not implemented yet). 

UDS is the most native and consistent way to communicate on desktop. An http server would require a port, if a port is required, you need some way to verify the desktop app has ownership of that port, or provide a port range that other desktop apps would need to scan over until they found the port that was allocated to the signing app. In contrast, with UDS, a single filepath (/tmp/nip70.sock) is all that's required.

#### Library and NIP
Team member Tommy has written a [reference library](https://github.com/tvolk131/nip-70) for the underlying key management protocol, which Resolvr has integrated into **Keystache** (as a key manager) and Resolvr Desktop (as a client).

And NIP-70, implementing this desktop signing scheme, is in progress and will be shared soon!

Resolvr has plans to extend **Keystache** further with features like access to a lightning wallet, fedimint, a bitcoin wallet, and more!

### Back-End Refactored, Reputational Systems Explored, NIP-43 Ready for Review!

**Refactor**.  In addition to these two new apps, the Resolvr team has [completely refactored](https://github.com/Resolvr-io/resolvr.io/pull/82) the web-app's code to run faster and smoother.  The design has been streamlined and will continue to be refined and expanded upon as new features are added.

The re-design has been built from the ground up.  Check out our react nostr🦩 library: https://github.com/Resolvr-io/react-nostr

**Reputation**.  We're also exploring ways to represent reputation tied to a user's npub.  Clear reputational signals will increase market efficiency and provide more information to users about their counterparties when deciding whether to transact. Negative reputation can be displayed simply as the balance of sats owed.  For example, a grantor pledges a bounty for 200,000 sats, a hunter provides the solution, the grantor fails to pay, the hunter obtains a ruling in their favor, grantor still fails to pay, the grantor's npub displays "-200,000 sats" on their profile page until a zap receipt is found that is linked to the bounty.

For positive reputation, various forms of verification can be used.  Resolvr is already implementing [NIP39](https://github.com/nostr-protocol/nips/blob/master/39.md) + [vanity URLs](https://github.com/Resolvr-io/resolvr.io/tree/vanity-urls) (verified bounty posters). Check out the url for our friends over at Alby: https://resolvr.io/u/alby.

Nostr badges may be another way to display positive reputational events across communities and markets.

**NIP-43**.  Our team has authored a NIP -- [NIP-43](https://github.com/nostr-protocol/nips/pull/865) -- based on Resolvr's bounty marketplace designs, which is **ready for review**!  

By adopting NIP-43, other clients can display bounty events alongside notes and "other stuff" in mixed event feeds.  Here's an example of how another client, [Nostrings.news](https://nostrings.news/), has implemented NIP-43.

### Onward Towards Open Source Justice!
Thanks for checking in with Resolvr!  We're excited and grateful to be part of the Top Builder process, and have already benefited greatly from the mentorship and workshops that Pleblab has organized.  It's been a one-of-a-kind experience.  

The Resolvr project is based on the concept of **Open Source Justice**, which seeks to empower sovereign communities to peacefully and voluntarily resolve their own disputes with open-source tools.  Hit the links below to follow our progress and join the movement!

---
### Bounty Project Roadmap:


- [x] Build **nostr**🦩 bounty board that allows posting, solving, and reviewing bounties.
- [ ] Negative Reputation System tied to npubs
- [x] Positive Reputation System tied to npubs (soft verifciation)
- [x] **nostr**🦩 Desktop client 
- [ ] Develop Dispute Resolution system 
    - [x]   Crowdsourced Nostr Polls
    - [ ]   Associations of Expert Reviewing Developers (Arbitration Panels)
- [ ] Deploy Resolvr Relay
- [ ] DLC🔮 Escrow of bounty funds over nostr
- [ ] Deploy Resolvr DLC🔮oracle 
 

### Links 🔗

*   Bounty Marketplace: https://www.resolvr.io
*   [Top Builder Team Page](https://github.com/PlebLab/Top-Builder/issues/20#issuecomment-1935347507)
*   Bounty NIP - [NIP-43](https://github.com/nostr-protocol/nips/pull/865)
*   [reference library](https://github.com/tvolk131/nip-70) for Desktop nostr key management protocol  
*   Discord server: https://discord.gg/DsqRw8My4m
*   Weekly [Zap.Stream All-Hands Call](https://zap.stream/p/npub1fmunwy3lljfyzlgyuyman79lxwm4efz6pzlgqjwc400pr9l708qquvje8w) (next call 02/12/24 @ 1:00pm ET)
*   GitHub repo: https://github.com/Resolvr-io
*   ["Advancing Dispute Resolution Beyond the State through Bitcoin"](https://docs.google.com/document/d/1O7BlWJKdNNyjorkaoCS7dY_6k6Y1lvdp0B4EH60JC08/edit?usp=sharing), Research paper explaining dispute resolution design theory underpinning Resolvr