GitHub login
OAuth for identity, a GitHub App for activity. Two grants, deliberately separate, so no member ever hands over code access.
Merging a pull request creates KRED. Getting it reviewed costs you some, paid to whoever reviewed it. An economy where helping someone ship is the way to get ahead.
Double-entry, always. Every movement is a row you can click through to the pull request.
No bot to configure, no standup ritual to add, nothing for your team to remember. Kreds reads what GitHub already knows.
One click. Kreds asks for your handle and which organizations you belong to. It never asks for your code.
An admin installs the Kreds GitHub App once and picks which repositories count. Everything else stays invisible.
Merges, reviews, approvals, closed issues and streaks. Awarded automatically as the webhooks arrive.
Weekly, monthly and all-time. Open it on a Friday and see who actually carried the week.
Every feature exists to answer one question: who is moving this team forward? Anything that did not help answer it did not get built.
OAuth for identity, a GitHub App for activity. Two grants, deliberately separate, so no member ever hands over code access.
Webhooks, not polling. A merge shows up in the feed before you have closed the tab.
Weekly, monthly and all-time, with rank movement so you can see who is climbing, not just who is ahead.
First Merge, Review Machine, Top Reviewer, Weekly #1. Define your own on paid plans.
Consecutive days with scoring activity, and milestones worth recognising. Weekends don't break a streak.
Time-boxed team goals. “No pull request waits more than 24 hours” beats nagging in standup.
Where reviews pile up, who is carrying them, and which repositories nobody is looking at.
Docker Compose, your infrastructure, your GitHub credentials. No license key, no phone-home.
REST API, outgoing webhooks and exports. Slack, Discord, Linear and Jira on paid plans.
One asks who is economically liquid. The other asks who is doing the work. They are allowed to disagree, and when they do, that is information rather than a problem.
Net position, not balance. A KRED balance is never negative. dan-ships holds zero and owes 204 K for review he has not funded yet.
Points are recognition, never currency. They are not spent, not transferred, and never convert to KRED in either direction.
dan-ships leads contribution and trails the economy. He ships more than anyone and reviews almost nothing, so he owes the people who reviewed him. Specialising is legitimate, and the deficit still has to be funded.
Created
Circulated
Reviews move existing KRED rather than creating it. If they minted, two accounts reviewing each other would print supply forever. No quality bar survives that, because the attacker controls both sides.
Self-hosting is free at any size, always. The hosted plans exist so you don't have to run it, and the Community tier is a real product, not a trial with a countdown.
Everything a small team needs to make contribution visible.
Get startedFor teams that want the whole thing, priced per person.
Start free trialEverything in Community, plus:
Same as Team, flat rate. Cheaper from 27 people up.
Choose GrowingEverything in Team, plus:
For 50+ engineers and the paperwork that comes with them.
Talk to usEverything in Growing, plus:
Team is per-seat, Growing is flat. Past 27 members Growing is the cheaper of the two, and we would rather tell you than let you work it out on the invoice.
If your project is public and non-commercial, the Team tier is yours at no cost. Permanently, not a discount that expires.
Self-host Kreds anywhere. Your instance runs its own currency, its own monetary policy, its own treasury and its own rules, with no dependency on kreds.sh and nothing held back to push you onto a hosted plan.
Postgres and Redis are in the compose file. One command up, one command to upgrade.
Your own OAuth App and GitHub App. Events go from GitHub to your server and stop there.
A laptop, a $5 VPS, your own Kubernetes. No license key, no seat check, no phone-home.
The real guide, not a teaser: App setup, upgrades, backups, proxies, and the errors we actually see.
# clone, configure, run
$ git clone https://github.com/zitdevs/kreds.git
$ cd kreds
$ cp .env.example .env
$ docker compose up -d
# http://localhost:3000An independent self-hosted economy does not automatically participate in the Official Kreds Network. Your currency is yours, and it is not Official KRED. Connecting later is an option through the Kreds Network protocol, never a requirement.
One caveat we would rather say up front: GitHub has to reach your webhook endpoint, so a public HTTPS URL is required. For local development, a tunnel does the job.
Kreds Core is AGPLv3. Inspect it, fork it, self-host it, improve it, charge money for it. The Official Kreds Network is separate infrastructure, and that separation is the point rather than a catch.
If you modify Kreds and offer that modified version as a service over a network, its users must be offered the source of your version. Run it unmodified, or modify it for your own team, and nothing changes for you.
AGPLv3 does not prohibit commercial use, and it does not stop you charging for hosting. Anyone who told you otherwise confused it with a non-commercial licence.
Everything in the repository. GitHub integration, teams, contributions, leaderboards, a local economy with its own currency and ledger, self-hosting. A complete product on its own.
The boundary between the two. How an instance registers, signs events and talks to the Network. It describes how to communicate, not how the Network decides.
The shared global economy: Official KRED and its fixed supply, the Central Bank, global settlement, network identity, the risk systems. Separate infrastructure, not in the repository.
The Network is not the good parts held back. It is the part that only exists because the economy is shared, and whose anti-abuse rules stop working the moment they are public. A self-hosted Kreds runs a complete economy without ever talking to kreds.sh.
Issues, roadmap and the reasoning behind decisions are all public, contributions are licensed the same as the project with no CLA, and open-source teams get the paid tier for free.
Bug reports, docs fixes, new achievement ideas, integrations. No CLA, we only ask that what you send is yours to send.
Read the contributing guide →Issues labelled good first issue are scoped small on purpose, with the context you need already written down.
Browse good first issues →Roadmap, design decisions and the trade-offs behind them all live in Discussions. Disagree in public. That is the point.
Join the discussion →Self-hosting, scoring rules and licensing are documented properly, including the parts that are annoying.
Read the docs →Sponsorship is what keeps the Community tier free and generous rather than a trial in disguise, and what pays for the hours that go into self-hosting support nobody is billing for.
Help us keep Kreds fast, useful and community-friendly.
Kreds is built and maintained by ZitDevs. Every sponsor is one more reason the free tier does not need to shrink.
Sponsor the projectOr tell us why Kreds did not work for your team. Honestly, that is worth real money too.
Including the awkward ones. If something here is still unclear, open a discussion and we will answer it in public.
Yes. Kreds Core is licensed under AGPLv3, which is an OSI-approved open source license. Not source-available, not open-core with the interesting parts removed. The repository is the whole product.
Yes. AGPLv3 permits commercial use, and your company can self-host it at any size without asking anyone. You can also charge money for services around it, including hosting it for other people.
Yes, subject to AGPLv3. The one obligation the license adds is this: if people interact with your modified version over a network, they have to be offered the corresponding source of that modified version. Run it unmodified and nothing changes. Modify it for your own team and nothing changes either, because your team is not a third party being served over a network.
No. The Official Kreds Network is separate, proprietary infrastructure: the Official KRED ledger and its fixed supply, the Central Bank, global settlement, network identity and the risk systems. A shared economy needs one authoritative ledger, and anti-abuse rules stop working when they are published. Everything that does not require a shared network is open.
No. A self-hosted instance is independent by default. It runs its own economy, its own currency, its own supply, its own treasury and its own monetary policy, with no dependency on kreds.sh and no automatic participation in the Official Network.
That is what the Kreds Network protocol is for. Joining can bring Official KRED, network identity, official settlement and participation in the global economy, and it requires meeting the Network's integrity requirements. Joining preserves history rather than resetting balances.
Yes, free, at any team size, forever. Docker Compose with Postgres and Redis is in the repository, and the whole product is in the box. Nothing is held back to push you onto a paid plan. You bring your own GitHub App credentials, so your events never leave your infrastructure.
Yes. Internal use is expressly granted, including in production and at any headcount, and including running it for several teams inside the same organization. Running it for a client as part of consulting work you do for them is fine too.
No. That is the single thing the license forbids. You cannot offer Kreds to third parties on a hosted or embedded basis in order to compete with our paid version, and you cannot sell managed Kreds hosting without a commercial agreement. If that is what you want to build, email us; the conversation is welcome rather than a trap.
Yes. If your project is public and non-commercial, the hosted Team tier is free permanently, not a discount that expires. Open an issue with a link to your organization and we will enable it.
Slack and Discord first, so a weekly recap lands where your team already talks. Linear and Jira after that, so issue work counts alongside GitHub activity. Both are on the paid tiers. The roadmap lives in GitHub Discussions and it moves based on what people actually ask for.
No. The GitHub App asks for read access to metadata, pull requests and issues, never file contents. It receives pull_request, pull_request_review and issues webhooks, which carry titles, authors and states. That is everything Kreds needs to score.
No. Every award is keyed on the event type, the GitHub node id and the recipient, with a unique index behind it, so a replayed delivery collides and is dropped. GitHub redelivers more often than people expect, so this was built in from the first commit rather than patched in after someone noticed a doubled score.
Past awards keep the amount they were granted with. Rule changes only affect future awards, so a leaderboard never silently rewrites itself when someone edits a setting. Each award in the ledger shows the value it was granted with.