Skip to content
PreFlight
Command line

Run PreFlight anywhere releases happen.

The same check, from your terminal or your pipeline. The exit code carries the decision, so a release can gate on it. Every run issues the same signed receipt.

preflight — zsh — 80×24
$ preflight verify https://api.quote.example/mcp

Installation

The hosted web, API, and MCP surfaces are live. The CLI package is prepared in the public repository and will use the preflight binary once npm publication is verified.

source checkout
git clone https://github.com/Vinaystwt/preflight.git
cd preflight
npm run build --prefix packages/cli
node packages/cli/dist/index.js --help

Verify an endpoint

Point it at a live endpoint. PreFlight discovers, pays as a buyer, and decides.

shell
preflight verify https://api.quote.example/mcp

Verify from a manifest

The current CLI verifies an endpoint or Agent ID. Manifest-file input is planned for the same release-gate contract, but the hosted API already accepts confirmed manifests.

paid API endpoint
curl -i https://api.usepreflight.xyz/api/v1/verify-release

Exit codes

The process exit code is the contract a pipeline gates on.

0

RELEASE

1

BLOCK

2

UNKNOWN

3

INFRASTRUCTURE

Verify a signed receipt

Anyone can check a receipt against PreFlight's published Ed25519 key, offline of the report.

preflight — zsh — 80×24
$ preflight verify-receipt rcpt_df8dc…10cff

GitHub Actions

yaml
# .github/workflows/preflight.yml
name: preflight
on: [deployment_status]
jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - run: preflight verify ${{ vars.ENDPOINT }}
        # exit 0 RELEASE · 1 BLOCK · 2 UNKNOWN · 3 infrastructure
ResultBLOCK · exit 1

Other CI

Any runner works: the command returns the decision as its exit code and machine JSON on stdout.

JSON output

shell
$ preflight verify <endpoint> --json
{
  "decision": "RELEASE",
  "report_id": "pfr_…",
  "receipt_id": "rcpt_…",
  "receipt_signature": "…",
  "badge_url": "https://api.usepreflight.xyz/api/v1/badge/pfr_….svg",
  "chain_anchor_tx": null
}

Payment behavior

A check is 0.10 USDT over x402. Your agent or CI wallet pays. A run that never completes is not charged, and a safe retry does not charge twice.

Troubleshooting

A non-zero exit with code 3 means PreFlight could not run the check (network, endpoint unreachable). Codes 0 to 2 are real decisions. Use --json for machine parsing.