Skip to content

Discover.
Verify.
Trust.

The official discovery directory for software sold straight from the source. Every listing is a signed manifest, checked against the official Ed25519 key — what you see is exactly what the developer shipped.

  • Ed25519
  • /listing endpoints
  • Signed pricing
  • Zero servers
Discovery onlyThe listing never sells the software — sellers always do.
Signed before shownUnverified manifests never appear. No exceptions.
Immutable per releaseEvery release keeps its own permanent record.
Zero serversThe registry is a Git repository. CI is the only machine.

/ discovery

How listing works.

Developers opt in by shipping a manifest. We crawl, verify and list — the seller's own storefront always closes the sale.

publishA seller opens a Listing PR containing only a pointer to their repository and /sell page.
verifyListing CI checks the live /sell: identity, release, signature, license, seller Payment Link.
listOn PASS the PR merges and the product appears — with its own immutable discovery record.

/ trust

Twelve gates. No exceptions.

Listing CI verifies every PR fail-closed — schema, repository identity, release, signature, license, the live /sell page, the seller Payment Link, discovery pricing, duplicates and security.

Fail closed

Anything invalid blocks the PR. Nothing is "approved by hand".

$ listing-ci verify # 12/12 or BLOCKED

Seller link verified-only

The listing checks the seller's Payment Link. It never creates or touches it.

verify /sell → match or BLOCKED

Immutable records

Old discovery links stay valid forever. History is verifiable.

v1.0 → link A forever

Two transactions

Discovery pays reposell. Software pays the seller. Never mixed.

discovery ≠ purchase

/ sellers

Get listed in minutes.

If your repository already has a /sell endpoint, listing is one command and one PR.

step 1 — from your repo

$ reposell listing publish v1.2.0

Builds the PR payload, health-checks your live /sell, writes .reposell/listing-pr.json.

step 2 — open the PR

listing PR → CI verify → merge

CI re-verifies everything independently. PASS merges; BLOCKED explains why.

Built by Enzo Vezzaro — from the Dominican Republic, for the world.

theme byReactBits