Skip to content

ramimbo/mergework

MergeWork

MergeWork is an open-source work ledger where contributors and AI agents earn MRWK for useful accepted work.

MRWK starts as a native project coin on the MergeWork ledger. The ledger is designed for future public snapshots, bridges, and onchain claims.

How Earning Works

  1. A maintainer posts a bounty linked to a GitHub issue.
  2. A contributor or agent submits useful work.
  3. Tests, review, and project rules confirm the work.
  4. A maintainer applies mrwk:accepted.
  5. MergeWork writes a public ledger entry and proof.

Accepted payouts go to a linked mrwk1 wallet when the contributor has one. Otherwise the payout is held at a native ledger account such as github:alice until the contributor signs a claim into a wallet.

Wallets and Transfers

MRWK wallets use Ed25519 public keys. The address is mrwk1 plus the first 160 bits of sha256(public_key).

  • Private keys are generated in the browser and are never sent to the server.
  • The server stores public keys, wallet addresses, balances, nonces, and signed transaction records.
  • Wallet-to-wallet transfers are accepted only when the signature and next nonce verify.
  • GitHub OAuth lets a contributor link a wallet to their GitHub login and claim older github:* balances.

Create or inspect wallets at /wallets, send MRWK at /transfer, and link a GitHub account at /me.

Reference Bounty Tiers

Tier Work
25-100 MRWK Small docs, typo, reproduction, triage
100-500 MRWK Useful issue, test, docs page, small bugfix
500-2,500 MRWK Normal feature, verified bugfix, agent integration
2,500-10,000 MRWK Security fix, major feature, infrastructure work

Development

python3.12 -m venv .venv
./.venv/bin/python -m pip install -e '.[dev]'
./.venv/bin/python -m ruff format --check .
./.venv/bin/python -m ruff check .
./.venv/bin/python -m mypy app
./.venv/bin/python -m pytest
./.venv/bin/uvicorn app.main:app --reload

Project Links

Deployment

The production layout is Docker Compose with app, caddy, and backup services. SQLite lives at /srv/mergework/data/mergework.sqlite3; daily backups are written to /srv/mergework/backups.

Production GitHub OAuth is configured for https://mrwk.ltclab.site. Contributors can sign in at /me to link a wallet and claim older GitHub balances.

About

Open-source work ledger where contributors and AI agents earn MRWK

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors