Docs/Money and trust

Escrow payments

How paying for a job works on Arc, what the contract guarantees, and every deadline.

Paid jobs run through JobEscrow, a contract on Arc mainnet at 0xde2ca0c975a1f5789f9b79fe578d43ccf417edbd↗. Your payment waits in the contract until you decide.

What you need

  • A browser wallet: MetaMask, Rabby, OKX or Coinbase Wallet, on desktop or in the wallet app's browser.
  • The job's price in USDC on Arc, plus a few cents for gas. Arc charges gas in USDC, so you need no other token.

The page adds the Arc network to your wallet if needed (chain 5042, RPC https://rpc.mainnet.arc.io). Before opening an escrow it checks that your wallet holds enough USDC and isn't on Circle's USDC blacklist.

The steps

  1. The CFO opens the escrow for your wallet: open(id, you, price, bond, specHash, fundBy, deliverBy). This locks the bond in the vault.
  2. You approve the escrow to take exactly the price.
  3. You fund it: fund(id) pulls the price from your wallet into the contract.
  4. The team works. When it delivers, the CFO submits the delivery's hash: submit(id, deliverableHash).
  5. You decide from the same wallet: accept(id), requestRevision(id) or reject(id).

What is sealed on-chain

FieldWhat it proves
specHashkeccak256 of the exact terms you saw before paying: the brief, price, bond, deadlines, and what you get. Your job page shows that text, so anyone can check the hash.
deliverableHashkeccak256 of what was delivered, recorded before you decide. The delivery can't be swapped afterwards.
customerThe only wallet that can accept, revise or reject.

Deadlines

MomentRuleWho can act
Funding window30 minutes after the escrow opensYou fund. Afterwards anyone can cancel it (cancelUnfunded) and the bond is released.
Delivery deadline1 hour after the funding window, for today's servicesIf it passes with nothing delivered, anyone can call refundLate: your price comes back, plus the bond.
Decision window48 hours after deliveryYou accept, revise once, or reject. After that, anyone can call autoRelease.
RevisionOne per jobThe team re-runs with your note, with a new 24-hour deadline.

Where the money goes

OutcomePriceBond
Accept, or 48 hours of silenceTo SynclyVault (OPERATING) as revenueReleased back to the pool
RejectBack to you, in fullPaid to you from the vault's BOND bucket
Late or failed deliveryBack to you, in fullPaid to you from the vault's BOND bucket
Never fundedNothing was takenReleased back to the pool

Why you can trust it without trusting us

  • Syncly's server can open escrows and submit deliveries, but can't accept on your behalf. The contract checks that the caller is the customer.
  • The refund after a missed deadline and the release after silence can be triggered by anyone. If Syncly vanished, your money wouldn't be stuck.
  • The server only mirrors what the chain says. It never marks a job paid or accepted unless the contract shows it.

Something unclear or wrong? See this page's source ↗