PILOT 5 projects · 11 milestones · 6 verdicts

A builder publishes the exact criterion before the work. The release is pinned to a commit. Someone who isn't the author checks it and writes down what they actually saw. Nothing is rewritten later.

Try
§01The gap

A green build is not a working product.

Roadmaps show what was planned and how busy the repo is. They don't show what was promised before the work, whether the terms moved, or what anyone actually checked.

What a roadmap shows

  • Commits this month214
  • CI statuspassing
  • Q4 · Payments✓ shipped
  • Contributors6

All true. None of it says whether an invoice can be paid in SOL.

What the trail shows · PAR-1

Criterion
Invoice link accepts USDC and SOL, receipt shows the signature rev A
Sourceparcelpay/parcel · v0.9.0 → e0b850c
Verdict
criterion_not_met by d.santos
ObservedSOL button opened the USDC request.
After
Rev B published Oct 18 with a reason. The old verdict stays on rev A.
§02How the trail is laid

Three records. Never merged into one badge.

Each step is written by a different party, stored by digest, and shown separately on the page.

STEP 01 · MAINTAINER

Sign the criterion before the work

Outcome, steps, evidence types, due date and exclusions. The wallet signs a message, not a transaction. After publishing, the text is frozen.

  • Nonce is single-use, expires in 10 minutes
  • A repo challenge file ties the key to the repository
  • “Become market leader” is rejected as not checkable
signMessage · utf-8Ed25519
BuildTrailManifest v1
origin: https://buildtrail.app
project: parcel
ca: tCEr…FTpump
repo: github.com/parcelpay/parcel
manifest: sha256:d224d162…
nonce: n_Rf83LmQe
expires: +10 min
✓ signature valid · nonce consumed · revision A frozen
STEP 02 · SOURCE + TEAM

Pin the evidence, label who said what

Tags move, releases get deleted. We store the resolved commit SHA and a digest of what the GitHub API returned. Team uploads are kept, and labelled as the team's claim.

  • Repository code is never executed by us
  • Demo URLs are stored as links, never fetched by the server
  • Text, JSON, PNG, JPEG · up to 10 MiB each
SUB-1098 · 2 objectsparcelpay/parcel
Source observationobserved by BuildTrail

v0.10.1 → 4aa750b · GET /git/ref/tags · 200

Maintainer submissionprovided by the team

Receipt page link + payment signature 3vKq…hT9w

tag moves later? → source_changed event, snapshot kept
STEP 03 · REVIEWER

A verdict scoped to what was checked

A reviewer who isn't the author runs the steps in their own environment and records the result per step, the scope and the limits. Corrections add a version; they never overwrite.

  • Five verdicts, including untestable
  • Commit count never sets criterion_met
  • Overdue is shown as overdue, not as a rug
REV-231 · mira.vrev A
✓ Open demo in fresh profile
✓ Known mint renders summary
✓ 11111 → invalid_address
✕ Fresh address → generic error, not no_history
partially_demonstrated · scope: one browser, one session
§03Evidence model

Who said it is part of the evidence.

Every object on the trail carries one of three kinds. The page never blends them into a single score.

GET /repos/fen-tools/quill/git/ref/tags/v0.2.0 200
object.sha 0d93e74e041e27f4fb3aba8de3ce99dbf702014c
retrieved_at 2026-10-10T16:00:44Z
digest sha256:849a29aa…
GET … Oct 21 object.sha 5ed76f16… → source_changed
01Source observationobserved by BuildTrail

Pinned to the commit, not the tag

We resolve tags and releases to a SHA and keep the API response digest. If the tag moves later, you see a separate event. The verdict doesn't silently change.

probe-fixture.pnginvalid.pngdemo url ↗ storedsig 21ci…1VrN
02Maintainer submissionprovided by the team

The team's claim, signed

Screenshots and recordings are useful. They are labelled as provided by the team.

✓ checksum matches release
✓ stdout diff: 0 lines
– linux-x64 not run
03Reviewer observationchecked by a reviewer

What a person ran

Environment, steps, result, and what they didn't check.

verified projectsafety scorerug riskofficial teamdev-fee unlockescrowauto-pass on CI
∅Never on the pageby design

No badge sums it up for you

No “verified project” stamp, no honesty score, no automatic unlock of anything. A CA is a label the maintainer declares. Token ownership doesn't prove who owns the repo.

§04On the trail now

Every change is an event, not an edit.

Revisions, corrections, moved tags and missed dates are added to the record. The earlier versions stay readable.

0milestones published with a signed criterion
0evidence objects stored by digest
0criterion revisions, each with a reason
0verdict corrections, originals kept
0verdicts set automatically from commits or CI
0authors reviewing their own submission
§05Changed terms

You can move a date. You can't hide that you did.

A change creates revision B with a reason and an effective date. Submissions and verdicts stay attached to the revision they were judged on.

Parcel · PAR-1 · revision A → B

Revision A · Sep 21 criterion_not_met

TitleInvoice link accepts USDC and SOL, receipt shows the signature
OutcomeAn invoice link can be paid in USDC or SOL from a standard wallet. After payment the receipt page shows the transaction signature and the amount in the paid currency.
DueOct 20
ExclusionsRefunds are not part of this criterion.

Revision B · effective Oct 18 under_review

TitleInvoice link accepts USDC, receipt shows the signature
OutcomeAn invoice link can be paid in USDC from a standard wallet. After payment the receipt page shows the transaction signature and the amount.
DueNov 15
ExclusionsRefunds are not part of this criterion. SOL payments moved to a separate milestone.
Reason recorded by ana.parcelSOL path needs a price oracle we haven't chosen. Shipping USDC first; SOL will get its own milestone.
Open PAR-1 history
§06$BTRAIL

Pay for the archive. Never for the verdict.

Reading the trail is free. Workspaces that keep more history pay in SOL or $BTRAIL. Every $BTRAIL payment is burned.

Viewer

Free
  • Every public card and JSON export
  • Full revision and correction history
  • Search by exact CA or repo

Builder workspace

0.4 SOL / month

or 25% less, paid in $BTRAIL

  • 1 project, up to 5 open milestones
  • Evidence archive 12 months, 100 MiB
  • Daily source refresh + manual refresh

Where $BTRAIL goes

100% burned
  • Paid $BTRAIL is burned on receipt, tx linked in the workspace
  • Reviewers are not paid per verdict outcome
  • Holding $BTRAIL gives no say over any review

BuildTrail never holds project funds and never releases, locks or burns a project's dev fees. A verdict is a record of a check, not a payout trigger.

§07Questions

What the trail doesn't claim.

No. There is no project-level badge. Each milestone shows what was promised, which evidence exists, who provided it, and what a reviewer found within a stated scope. You read the result of a specific criterion, not a stamp.

01answer

Is a project on BuildTrail “verified”?

No. There is no project-level badge. Each milestone shows what was promised, which evidence exists, who provided it, and what a reviewer found within a stated scope. You read the result of a specific criterion, not a stamp.

Publish the promise first.

Pilot workspaces are open for Solana projects with a public GitHub repo and a release or demo to show.