Dispute System
Overviewโ
The dispute system enables decentralized conflict resolution between users and merchants, with Circle Admins acting as first-instance arbitrators.
Dispute Flowโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ OPENING โ
โ User opens dispute with evidence โ
โ โ Transaction becomes locked โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ RESPONSE โ
โ Merchant has 48h to respond โ
โ โ Can attach counter-evidence โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ANALYSIS โ
โ Circle Admin has 7 days to decide โ
โ โ Analyzes evidence from both sides โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโดโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ USER WINS โ โ MERCHANT WINS โ
โ โ Refund โ โ โ Release funds โ
โ โ Slash merch. โ โ โ Case closed โ
โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ
โ โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ APPEAL (optional) โ
โ Losing party can appeal within 48h โ
โ โ Protocol reviews the decision โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Dispute Typesโ
1. Non-receiptโ
- Claim: User paid but didn't receive crypto
- Expected evidence: Payment proof
- Typical resolution: Refund from protection fund
2. Incorrect amountโ
- Claim: Received less than expected
- Expected evidence: Transaction screenshot + receipt
- Typical resolution: Difference covered by fund
3. Excessive delayโ
- Claim: Merchant didn't complete in reasonable time
- Expected evidence: Transaction timeline
- Typical resolution: Cancellation + possible slashing
4. Fraudโ
- Claim: Deliberate malicious behavior
- Expected evidence: Complete documentation
- Typical resolution: Ban + total slashing + refund
Deadlinesโ
| Stage | Deadline | Consequence if not met |
|---|---|---|
| Merchant response | 48h | Automatic ruling against |
| Admin decision | 7 days | Admin slashing |
| Appeal | 48h | Decision becomes final |
| Protocol review | 14 days | Previous decision upheld |
Penaltiesโ
For Merchantsโ
| Outcome | Penalty |
|---|---|
| Loses 1st dispute | Transaction value (from stake) |
| Loses 3+ disputes | Stake retained for review |
| Proven fraud | Permanent ban + 100% stake |
For Circle Adminsโ
| Outcome | Penalty |
|---|---|
| Decision reversed (1x) | Warning |
| Decision reversed (2x+) | Partial slashing |
| Ignores dispute | 0.5% stake per occurrence |
| Proven collusion | Ban + 100% stake |
Evidenceโ
Accepted typesโ
- Screenshots with metadata
- Bank receipts (PDF)
- Chat history (from app)
- On-chain transactions (hash)
- Videos (special cases)
Validationโ
- Metadata verified when possible
- Cross-reference with on-chain data
- Chat history is official (recorded)
Technical Implementationโ
Dispute statesโ
enum DisputeState {
Open, // Awaiting response
UnderReview, // Admin analyzing
Resolved, // Decision made
Contested, // Under appeal
Final // Case closed
}
Data structureโ
struct Dispute {
uint256 transactionId;
address claimant; // Who opened
address respondent; // Against whom
DisputeState state;
uint256 openedAt;
uint256 resolvedAt;
bytes32 evidenceHash; // IPFS hash
address resolver; // Admin who decided
bool claimantWon;
}
Eventsโ
event DisputeOpened(uint256 indexed disputeId, uint256 transactionId);
event DisputeResolved(uint256 indexed disputeId, bool claimantWon);
event DisputeContested(uint256 indexed disputeId);
event DisputeFinalized(uint256 indexed disputeId);
Admin Metricsโ
The protocol tracks admin performance:
| Metric | Impact |
|---|---|
| % disputes resolved in under 48h | Ranking |
| % decisions appealed | Negative score |
| % decisions reversed | Potential slashing |
| Average resolution time | Ranking |
Admins with good metrics:
- Rank higher in the system
- Attract more merchants
- May receive protocol bonuses