Help centre

We’re here to help.

Bug reports, billing questions, or just want to say hi — pick the channel that fits.

  • Email support

    Bug reports, feature requests, or anything else you want to tell us. We read every message.

    support@pepra.io
  • Data & privacy

    Questions about how your data is handled, or requests for deletion. We take privacy seriously.

    privacy@pepra.io

Verification platform

Vendors, reviews, COAs, reputation

Questions about the public verification platform — vendor leaderboard, reputation scoring, COA tiers, reviews, disputes, bans.

Why is this vendor's score capped?

Five hard caps apply after the weighted sum: T2-only evidence ≤ 60, no T5 retest ≤ 80, open dispute ≤ 70, cold-start (< 3 PDF-backed batches and 1 retest) ≤ 60, upheld dispute applies a decaying −25 over 90 days. The vendor card lists which cap is currently active. See /how-it-works for the full breakdown.

Can vendors delete bad reviews?

No. Reviews are wallet-signed and durable. The reviewer themselves can edit their own review within 24 hours of posting. The vendor can post one public reply per review. Nothing gets deleted.

What does T3 / T4 / T5 actually mean?

Authenticity tier. T0 = uploaded PDF. T1 = PDF anchored on Solana. T2 = vendor's typed claims agree with PDF text. T3 = lab portal lookup or signed webhook confirmed the report. T4 = a registered lab signer attached its wallet to the COA. T5 = a different registered lab posted a retest with ≥ 70% agreement. Vendors cannot self-promote tier — the server derives it from onchain signals, lab registry membership, and reconciliation results.

A reviewer's rating shows "weight 0.36" — what is that?

That reviewer's past ratings have been contradicted by independent retests on batches they reviewed. Their weight in the composite review score is reduced geometrically (0.6 × decay per contradiction, floor 0.2). Their review still appears publicly — it just counts less in the score.

I see "Image-only PDF" on a COA — should I trust it?

Image-only PDFs (scans, photos of paper, screenshots saved as PDF) are easier to forge than typed lab reports because there's no machine-readable text layer to cross-check. The platform extracts values via AI vision OCR. Treat with extra scrutiny — verify against the lab's own portal before trusting. The chip on the trust card flags it.

Why does this vendor have a "stale" chip?

One or more of their batches has not been re-tested within the cadence (default 90 days). Stale batches stop counting toward score-positive reputation — composite drops automatically until the vendor uploads a fresh test. The /vendors/stale page lists every stale batch across the platform.

A vendor was banned from a server I mod — how do I record it?

Visit the vendor's dossier page → Bans tab → fill the form. Wallet-signed; the same attestor can't double-record the same ban on the same server. Each unique server with a ban drops the vendor's composite by 5 points (capped at 20 total). The reason is public alongside your wallet.

Can I submit a consumer COA?

Yes. Open the batch viewer at /v/<shortcode> → Submit consumer COA. Consumer COAs are third-party observations — they don't override the vendor's lifecycle but they do add buyer-side trust signal. Required to leave a wallet-signed review on that vendor.

How do I open a dispute?

From the batch viewer at /v/<shortcode>, scroll to the dispute panel. Pick a claim kind (fake_pdf, mass_mismatch, identity_mismatch, etc.), provide a written claim, and post a USDC stake. Open disputes cap the vendor's score at 70 immediately. If upheld, the vendor's bond is slashed and their reputation takes a 90-day decaying −25 penalty. If rejected, you forfeit your stake.

I just received a vial — what do I do?

Open /v/<shortcode> via the QR code or shortcode printed on the vial → connect a wallet → use the "I received this vial" panel. Optionally upload a photo of the unbroken tamper seal. One tap fires two wallet-signed records: a buyer_received handoff (extends the chain-of-custody timeline) and a seal_photo auth-check (counts toward the vendor's public tamper-seal rate). Takes about 30 seconds.

What is the stability sparkline on the batch viewer?

A purity-vs-time chart. Every COA the platform ingests adds a stability point (purity, endotoxin, sterility, identity at that moment). Buyers and partner labs can add additional points later — for example, a re-test at month 6 — to plot how a batch holds up. The chart auto-flags decay: > 1pt drop reads as warn, > 3pt drop reads as risk.

What does "tamper-seal verified · X% of batches" mean on a vendor?

The percentage of that vendor's batches with at least one wallet-signed buyer attestation that the tamper seal was intact on receipt. 0% means no buyer has ever recorded a seal check on any of their batches; 80% means most of their batches have at least one verified seal photo. Vendors don't lose composite score points at 0%, but the chip is publicly absent next to a competitor's green one.

What is "chain-of-custody coverage"?

The percentage of a vendor's batches with at least one signed handoff event (vendor shipped, carrier received, carrier delivered, buyer received, reseller relayed). Each event is wallet-signed and commits to an optional ambient temperature, carrier, tracking number, and photo. The full timeline renders on every batch viewer.

I see "EU/mg" on a vendor — what is it?

Numerical endotoxin reading per milligram of peptide. The extraction pipeline pulls these from every COA where the lab states a number (e.g. "<0.5 EU/mg"). Lower is safer for parenteral use. The vendor's "median endotoxin" is the median across all their PDF-backed COAs.

Will my wallet show up on the chain-of-custody timeline?

Your wallet pubkey will, abbreviated to a 6+4 stub by default unless you provide an actorHandle. The timeline is public so the next vial's buyer can see the chain. If you don't want your wallet associated with handoffs, don't sign one.

I uploaded a tamper-seal photo but the seal was broken. What happens?

Pick "Seal broken · tampered" in the status dropdown. The attestation lands on the batch with status=failed. The row still exists (auth check is on file), but it surfaces as a public red flag on that specific batch. The vendor's overall tamper-seal rate counts only verified entries; failed entries don't boost their numerator but they do surface visibly on the batch.

Looking for the legal pages? Read the privacy policy or the disclaimer.