← Back to GhostReceipt
How to Use GhostReceipt
Generate a privacy-preserving payment receipt and share a verifiable proof link.
Step 1: Enter Transaction Details
- Chain: Choose
Bitcoin, Ethereum (ETH), Ethereum (USDC), or Solana (SOL).
- Transaction Hash: Paste the on-chain transaction identifier.
- Claimed Amount: Enter your minimum claim threshold (satoshis for BTC, wei for ETH, lamports for SOL, or USDC atomic units for USDC).
- Minimum Date: Set the earliest acceptable transaction date.
Step 2: Generate Proof
Click Generate Receipt. GhostReceipt will:
- Call the primary oracle route (
/api/oracle/*) and fail over to configured edge backup only when the primary route is unavailable.
- Attempt peer-source consensus validation (mode-dependent) before signing.
- Build a local witness from your claim and signed payload.
- Generate the zero-knowledge proof in your browser.
Tip: On modern devices, the full flow is usually under 60 seconds.
Step 3: Share Receipt
After successful generation, you can:
- Copy URL: Share a verification link directly.
- Native Share: Open your device share sheet (when available).
- Social Share: Post to X, Reddit, or LinkedIn.
- QR Export: Download and share a QR code.
Validation Label (No Extra Action)
GhostReceipt includes a passive validation label in the generated payload/UI:
consensus_verified: dual-source check matched before signing.
single_source_fallback: peer source was unavailable and best-effort mode continued with primary data.
single_source_only: consensus checks were disabled (off) or no peer path was configured.
What Verification Confirms
- Claimed amount threshold is satisfied.
- Claimed minimum date threshold is satisfied.
- Proof and signature validations pass cryptographic checks.
What Stays Private
- Sender and receiver wallet details are not exposed in receipt claims.
- Exact raw transaction details are not required for the verifier to validate claims.
- Sensitive witness inputs remain client-side during proof generation.
Troubleshooting
- Invalid hash format: BTC expects 64 hex chars, ETH expects
0x + 64 hex chars, SOL expects base58 signature (64-88 chars).
- Consensus failure: in
strict mode, peer mismatch/unavailability rejects signing. Retry later or switch to best_effort if your policy allows it.
- Proof failure: Re-check that claim amount/date are consistent with the on-chain transaction.
- Clipboard errors: Allow browser clipboard permissions and retry.