gitbuyer_

Create a store

POST /repos is the whole listing surface — create and update are the same call, because re-listing IS the update.

curl -X POST https://gitbuyer.com/repos \
  -H "content-type: application/json" \
  -d '{"github_url":   "https://github.com/you/your-repo",
       "price_usd":    "25.00",
       "wallet_base":  "0x…",          // USDC on Base
       "wallet_solana": "base58…",     // and/or USDC on Solana
       "github_pat":   "github_pat_…", // private repos
       "preview_paths": ["docs/", "examples/*.py"]}'
github_url
The repository. gitbuyer stores what GitHub says the canonical name is, so a pre-rename URL still lists correctly.
price_usd
The price of the complete clone. Default 20.00.
wallet_base / wallet_solana
Where the money goes, on-chain. Name both and the buyer picks the chain. Optional when your account has default wallets.
github_pat
Fine-grained, Contents read-only, this one repo. Required for private repos; on a live deployment it doubles as the ownership proof — nobody can list a repo they don’t control and collect its revenue.
preview_paths
Globs buyers may read free before paying (private repos; public repos preview everything — the bytes are public on GitHub already, what you sell is packaged agent-payable delivery). Default: README only.

Or connect GitHub — no key at all

The dashboard’s Connect GitHub button installs the gitbuyer app on repos you choose. From then on those repos appear in your dashboard one click from being stores, previews and delivery run on a rotating token GitHub can revoke the moment you uninstall, and POST /repos needs no github_pat for them — the installation is both the credential and the ownership proof. Pasting a PAT on a listing always wins over the installation: the more explicit act decides.

Onboard while authenticated (Authorization: Bearer gb_…) and the store lands in your account, manageable forever; anonymous onboarding works but leaves the store frozen as listed. A claimed repo cannot be re-listed by another account.

Every store under your GitHub name automatically joins your shopfront at /r/<owner>, with your GitHub avatar on it.