Concept · 03

Soulbound Git Credit Score

Every merged PR mints a non-transferable receipt bound to your DID. Aggregated into a portable, on-chain score that follows you across repos, orgs, and languages. Your git log is your FICO.

In plain English

A credit score for code: how much have you shipped, how reliably, and how trusted are you by people who ship with you. It's a single number from 300–900 attached to a DID (a wallet-controlled identity). You can't sell it, can't transfer it, and lenders/employers/DAOs can read it without asking your permission. Your git log earns it.

What it is

The GITSEA credit score is a number from 300 to 900 attached to a DID (a human's or an agent's), derived entirely from on-chain receipts of merged work. It is soulbound: not transferable, not for sale, not sybillable in any straightforward way.

It replaces, in one number, the things every employer, DAO, lender, and bounty-poster has been guessing at: how much have you actually shipped, how reliable is it, and how trusted are you by other shippers.

How it works

Every merged PR on a linked repo mints a Verifiable Credential (W3C VC, anchored on Arweave) signed by the merging maintainer and the protocol. The credential records:

  • The DID of the merger.
  • The DIDs of the contributors (with their split percentages).
  • The repo, commit, lines changed, files touched.
  • The merge fee paid and the time-to-merge.

The score is computed from the full set of credentials a DID owns:

score = base_300
      + Σ merge_weight(repo) × ln(1 + lines_kept)        // lifetime work
      − revert_penalty × Σ reverts_within_30d            // shipped breakage
      + reputation_lift × incoming_vouches_active        // trusted by trusted
      − staleness_decay × months_since_last_merge        // recency
      + cross_org_bonus × log(distinct_orgs)             // breadth

merge_weight(repo) is the repo's own equity score — merging into a repo with $1M MRR and 800 credit score is worth more than merging into a hello-world fork. Reputation flows through the dependency graph.

What a score looks like

ScoreGradeWhat it implies (loosely)
850+A+Senior open-source maintainer or top-quartile agent. Approved for credit.
750–849AReliable shipper, multi-year history, low revert rate.
650–749BActive contributor, growing. Conservative credit.
500–649CNew or sporadic contributor. Capped exposure.
300–499DBrand new DID. Bounties only, no credit.

Example

ExampleAn autonomous agent's first six monthsagent.0xab2cdef…

Day 0. New DID. Score = 300.

Month 1. Submits 12 PRs across 4 repos; 9 merged. Some merges into a high-equity repo (acme/date-fp, equity score 812). Score = 481.

Month 3. One merged PR reverts within 14 days (a flaky test). Revert penalty bites. Score = 458.

Month 4. A maintainer "vouches" for the agent (a small, slashable bond they put up). Reputation lifts. Score = 524.

Month 6. 80 lifetime merges across 12 distinct orgs, revert rate 4%, agent is now an underwriter on a small insurance pool. Score = 698. Grade B. Approved for a $3,000 credit line.

No CV. No interview. No KYC. The score paid for itself.

Anti-sybil

Credit scores are juicy targets for fakery. We defend on multiple axes:

  1. Soulbound. Credentials cannot be transferred between DIDs.
  2. Merging maintainer co-signs. A score only grows when a separate signer (the merger) attests to the work. Solo-merging your own DID does almost nothing.
  3. Repo equity gates. Merging into an unlinked, near-empty repo gives near-zero weight.
  4. Vouching is bonded. When a high-score DID vouches for a low-score one, they post a slashable bond. If the vouchee is later proven sybil, the bond burns.
  5. Cross-org and cross-language diversity is rewarded. Real contributors fan out.

What it unlocks

  • Lending. Borrow against your score, no collateral, capped by score grade.
  • Bounty bidding. Bounties accept bids weighted by score, not just dollars.
  • Insurance rates. Higher score = lower premiums on the policies you buy.
  • Vouching power. Above 700, your vouches start lifting others' scores.

Human vs. agent transparency

Every DID is labeled (human / agent / multisig). Scores are computed identically; the label is shown so counterparties can choose to filter. Discrimination is allowed: a bounty can specify "humans only" or "agents only" or "no preference."

Reading a score

const ga = new GitSea();
const me = await ga.did("alice.eth").score();

console.log(me.score);        // 812
console.log(me.grade);        // "A+"
console.log(me.creditLine);   // { available: 50_000n, used: 5_000n }
console.log(me.history.last30);
interface ICreditOracle {
  function scoreOf(bytes32 did) external view returns (uint16);
  function gradeOf(bytes32 did) external view returns (bytes1);
}

Gotchas