Skip to content

Public beta on the Base Sepolia test network. Payments use test USDC with no real value: do not send real funds. The escrow contract has not had its external security audit yet, and the terms are drafts pending legal review. What the beta means

OpenVPT

01 · Arbitration rules

Arbitration rules: evidence decides the split.

When a delivery doesn't match what was promised, the buyer can open a dispute. An arbitrator reviews what is recorded on the platform and splits the escrowed USDC by percentage. The platform alone can never move the funds. This page states the rules exactly as the current version enforces them.

Key rules at a glance

is the only side that can open a dispute
Buyer
characters for the dispute reason
10–5,000
default inspection window (1–30 per listing)
3 days
default size limit per evidence file
20 MiB
precision of a split (0 to 10,000 basis points)
0.01%
appeal path in the current version
None

02 · Scope

Who can open a dispute, and when

All three conditions must hold at the moment the dispute is opened. The system checks each one and refuses the request otherwise.

  1. R-01

    Only the buyer

    The account that bought the order opens the dispute. Sellers can't open one; their protection is the automatic payout when the inspection window ends without a dispute.

    Anyone else is refused (403).

  2. R-02

    Only DELIVERED orders

    The seller must have submitted the delivery. Unpaid, funded-but-undelivered, settling and finished orders can't be disputed.

    Any other status is refused.

  3. R-03

    Only inside the inspection window

    The window starts at delivery and lasts the number of days the listing sets (1 to 30, default 3). After it closes, new disputes are refused.

    Late requests are refused (window closed).

Each order can have one dispute. A second one on the same order is refused.

When you don't need a dispute

  • The seller never delivered: after the delivery deadline the system starts a full refund on its own.
  • You haven't paid yet: request a cancellation instead. Nothing is in escrow.

03 · Process

From dispute to settlement in seven steps

Each step changes a recorded state. The labels in monospace are the order and dispute states you'll see in the app.

  1. Step 1: The buyer opens the dispute

    Who
    Buyer
    State
    DELIVERED → DISPUTED · dispute OPEN

    From the order page, with a written reason. The automatic payout at the end of the inspection window no longer applies; the funds wait in the contract. The seller is notified and asked for evidence.

  2. Step 2: Both sides add evidence

    Who
    Buyer and seller
    State
    OPEN or UNDER_REVIEW

    Text, links and files can be added until the dispute is resolved. Everything submitted is visible to both parties and the arbitrator.

  3. Step 3: An arbitrator is assigned

    Who
    Arbitrator or admin
    State
    dispute UNDER_REVIEW

    An arbitrator takes the case, or an admin assigns one. From then on only that arbitrator or an admin can rule. Every assignment is written to the audit log.

  4. Step 4: The arbitrator rules

    Who
    Arbitrator
    State
    DISPUTED → SETTLING · dispute RESOLVED

    The ruling is the seller's share (0% to 100%) plus a written reason, both stored with the dispute. The three amounts are calculated and fixed on the order.

  5. Step 5: The platform signs once

    Who
    Platform signer
    State
    SETTLING · 1 of 2 signatures

    The platform signs the settlement (EIP-712) right after the ruling. It signs a settlement for an order only once. If signing fails, the ruling stands and the signature is retried.

  6. Step 6: A party co-signs

    Who
    Buyer or seller
    State
    SETTLING · 2 of 2 signatures

    Either the buyer or the seller signs exactly the same amounts with the verified wallet recorded on the order. Usually whoever receives money signs.

  7. Step 7: The platform relays settle()

    Who
    Platform relayer
    State
    SETTLING → COMPLETED or REFUNDED

    With two valid signatures the platform submits the transaction. The contract checks the signatures and the amounts, then pays the seller, the buyer and the fee in one transaction.

04 · Opening a dispute

How to open a dispute and what to write

Open the dispute from the order page while the order is DELIVERED. The reason must be 10 to 5,000 characters long and can't be edited afterwards, so write it once, clearly.

A useful reason covers

  1. What happened, in plain words
  2. When it happened, with times if you have them
  3. How it differs from the listing description
  4. What you already tried, including messages to the seller in the order chat
  5. What outcome you're asking for (full refund, partial refund, a working replacement)

Example reason

The license key delivered on 26 Sep failed to activate at 14:05 with "This key has already been used" (screenshot attached). The listing says "new, never activated". I told the seller in the order chat at 14:20 and had no reply or replacement by 16:00. Requesting a full refund.

Talk to the seller in the order chat first. The current version has no way to withdraw a dispute once it's open.

05 · Evidence

Evidence types and what counts

Arbitrators can only rely on what they can verify on the platform. Three kinds of evidence can be added while the dispute is OPEN or UNDER_REVIEW.

  • TEXT1 to 10,000 characters

    Text

    A timeline, steps to reproduce the problem, the exact error message, relevant excerpts of the order chat.

  • LINKhttp:// or https:// only

    A public page that supports your case, such as the product's own documentation. Other link types are rejected.

  • FILEUp to 20 MiB by default

    File

    Screenshots, screen recordings, error logs. The file's SHA-256 hash is recorded on upload.

What counts

  • The listing description: the benchmark for what was promised.
  • The delivery record, including the SHA-256 hash of a delivered file, which shows whether a file was changed.
  • Order chat excerpts. Arbitrators without the admin role can't read the chat directly yet, so submit the parts that matter as evidence.
  • Evidence from either side that can be checked against the above.

What doesn't help

  • Conversations or payments outside the platform. They can't be verified, and money paid outside escrow can't be refunded or brought into a dispute.
  • Claims with nothing to support them, or evidence about other orders.
  • Personal data unrelated to the case. Leave it out.

Both parties and the arbitrator can see all evidence. The current version has no way to edit or remove evidence after it's submitted. File downloads use short-lived links and each access is logged.

06 · Arbitrators

Who arbitrates, and who never can

Arbitrators are platform accounts with the arbitrator or admin role. The system enforces the rules below on every assignment and ruling.

  • Role required

    The assignee must be an active arbitrator or admin account that isn't banned.

  • Assignment

    An arbitrator can assign a dispute to themselves. Only an admin can assign someone else or take over a case another arbitrator already holds.

  • One owner

    Once a dispute is UNDER_REVIEW, only its arbitrator or an admin can rule. An unassigned (OPEN) dispute can be ruled by any arbitrator, who then becomes its arbitrator.

  • Audited

    Every assignment, ruling and platform signature attempt is written to the audit log.

A party can never arbitrate

Neither the buyer nor the seller can be assigned to, rule on, or retry the platform signature for their own order's dispute, even if their account holds the arbitrator or admin role.

07 · Rulings and fees

A ruling is a percentage split

A ruling isn't all-or-nothing. The arbitrator sets the seller's share and writes the reason; the amounts follow from the same code the contract checks.

The seller's share

0 to 10,000 basis points: 0% to 100% in steps of 0.01%. 0% is a full refund to the buyer; 100% pays the seller in full.

A written reason

1 to 5,000 characters, stored with the dispute and visible to both parties.

How the amounts are calculated

  • gross = amount × seller share ÷ 10,000
  • fee share = fee × gross ÷ amount (rounded down)
  • to seller = gross − fee share
  • to buyer = amount − gross

The fee is charged only on the seller's share, pro rata. The buyer's refund carries no fee.

Worked example: seller 30%

A 1,200 USDC order with the default 5% fee (60 USDC, fixed when the buyer paid). The arbitrator awards the seller 30%.

  1. Seller's gross share1,200 × 3,000 ÷ 10,000360 USDC
  2. Fee on that share60 × 360 ÷ 1,20018 USDC
  3. Seller receives360 − 18342 USDC
  4. Buyer receives1,200 − 360840 USDC

Split of the escrowed amount

  • Seller
  • Fee
  • Buyer

Check: 342 + 840 + 18 = 1,200 USDC, exactly the escrowed amount.

For the same order: a full refund returns 1,200 USDC to the buyer with no fee; a full payout sends 1,140 USDC to the seller and 60 USDC in fees.

The contract adds its own check: the three amounts must add up to the escrowed amount, and the fee share can't be lower than fee × to seller ÷ amount. A split that breaks either rule is rejected.

08 · Execution

How a ruling is executed

A ruling on its own is a proposed split. Moving the money still needs two distinct signatures out of three: buyer, seller and the platform signer.

  1. Platform signs, once

    Right after the ruling. The platform signs a settlement for an order at most once, so the split can't be changed afterwards. A failed attempt is retried by an arbitrator or admin, or by a background check every 5 minutes.

  2. A party co-signs

    The buyer or the seller signs the same three amounts with the order's verified wallet. The system rejects a signature over different amounts or from another wallet.

  3. Platform relays

    With two valid signatures the platform submits settle(). If the chain call fails, the relay is retried automatically. After confirmation the order is COMPLETED, or REFUNDED if the seller received nothing.

The platform can't move funds alone

The platform signer is only one of the two required signatures. The contract owner can pause new funding and manage the signer, allowed tokens and fee recipient, but can't settle orders or withdraw escrowed funds.

09 · Timelines

Timelines, exactly as implemented

These are the only time limits the system enforces around a dispute. Where there is none, the table says so.

  • Opening a dispute

    Time limit
    Inside the inspection window: 1–30 days per listing, default 3
    When it passes
    New disputes are refused; without a dispute or confirmation the order settles to the seller
  • Adding evidence

    Time limit
    While the dispute is OPEN or UNDER_REVIEW
    When it passes
    The record closes when the dispute is resolved
  • Negotiation

    Time limit
    72 hours from opening the dispute: both sides add evidence, write in the order chat or propose a split to each other
    When it passes
    The dispute goes to the platform. If the seller never responded, the platform proposes a full refund to the buyer; if only the buyer never responded, it proposes releasing the payment to the seller; if both responded, an arbitrator decides. Opening the dispute does not count as a response. The platform only signs its side: nothing is paid until the favoured party co-signs
  • Ruling

    Time limit
    No fixed deadline is enforced
    When it passes
    Decisions are made as soon as reasonably possible; the funds stay in the contract until the platform and one party have both signed the ruling's split
  • Platform signature

    Time limit
    Right after the ruling
    When it passes
    If it fails, a background check every 5 minutes adds it
  • Party co-signature

    Time limit
    No deadline; settlement signatures don't expire
    When it passes
    The order stays SETTLING until a party signs
  • On-chain relay

    Time limit
    As soon as two valid signatures exist
    When it passes
    Chain errors are retried automatically with increasing delays

We don't promise a resolution within a set number of days. How long a case takes depends on the case and on how quickly both sides provide evidence.

10 · Limits and conduct

What arbitration can't do, and how to behave

What arbitration can't do

  • Award more than the escrowed amount or order anyone to pay extra.
  • Recover payments or enforce side deals made outside the platform.
  • Reverse a settlement once it's confirmed on-chain.
  • Accept a dispute after the inspection window has closed or the order has settled.
  • Sign on a party's behalf. If the party whose signature is needed is banned, the order stays SETTLING until an admin handles it individually.
  • Give a legal judgment. It's the platform's decision on dividing escrowed funds under its trading rules, not legal advice, and it doesn't affect either party's legal rights.

Conduct during a dispute

  • Keep every conversation and payment on the platform. The order chat flags contact details and outside payment links.
  • No threats, harassment, insults or pressure on the other party or the arbitrator.
  • Submit only genuine evidence. Don't alter screenshots, files or logs.
  • Share only what the case needs; leave out unrelated personal data.

Accounts that break these rules can be banned by an admin. A banned account can't act on its orders, including disputes and signatures.

Current limitations

  • No appeal. Once the platform signs the ruling's split, it's fixed.
  • A buyer can't withdraw an open dispute.
  • Sellers can't open disputes; they respond with evidence.
  • Arbitrators without the admin role can't read the order chat directly yet.
  • Planned: a settlement signature with a deadline in a future contract version. Not available today.

11 · Read more

Questions before you dispute

This page describes how the platform works today. It isn't legal, tax or investment advice.