Appeal queue
Nine synthetic appeals across VND, PHP, IDR, INR and HKD. Pick a case, check the evidence, change any fact, and the ruling and replies update.
| Case | Order | Ruling |
|---|
Live ad scan
Pulls Bybit's public P2P USDT ad book through a small proxy and scores each ad on signals visible to anyone: off-market price, third-party payment wording, off-platform contact, cash legs, weak completion. Contact details are redacted on screen.
| Advertiser | Price | Limits | Methods | 30 days | Risk | Ad text (redacted) |
|---|---|---|---|---|---|---|
| Press "Load live book". | ||||||
Shift handover
What the next shift and the Risk team need from this queue: outcomes, rule hits, and trends worth flagging to management. Updates with any edits made in the queue.
How it works
Rulebook
Ruling order
- Risk hold first. A frozen account, reversal or chargeback stops the desk from releasing or cancelling.
- Edited receipt or no payment: no release; ask for a screen recording, then cancel and penalise.
- Third-party payer: cancel, fiat back to the original payer, Risk reviews the buyer for triangulation.
- Paid after cancel: refund to the same-name account.
- Seller denies credit with no statement: ask for evidence with a deadline, then rule.
- Amount mismatch: top-up or refund of the difference.
- Clean full payment from the buyer's own account: release.
Scope and honesty
- Built by Edward Tay for a job application. Not affiliated with, endorsed by, or operated by Bybit.
- Rulings follow Bybit's published P2P Appeal Handling Rules (updated 16 Jan 2026) and P2P Terms where they cover the case. The ordering and the linked-case checks are mine. Internal desk policy will differ; the rules live in one file.
- Appeal cases are synthetic. The live scan reads Bybit's public ad endpoint, the same data the P2P page shows to any visitor.
- Risk signals are prompts for review. An ad that triggers them is not proof of fraud.
- Tests:
node tests/run.mjschecks every case's ruling, name matching, ad scoring and redaction.