Escrow and reputation · Arc mainnet contracts
Karwan
Safe trade on the internet: a reputation that travels with you, and agents that put it to work.
- Role
- Founder and lead dev · team project
- Timeline
- May 2026 to now
- Stack
- Next.js, Hono, Postgres, Solidity, Foundry, Arc, Circle, Chainlink CRE, World ID
The problem
People who trade online across borders, Nigeria first, cannot tell who to trust. Reviews are easy to fake and stay locked inside one platform.
So one side pays first and hopes, or demands cash on delivery and loses the sale.
How it works
- 01Buyer and seller agree the amount, delivery terms, deadline and milestones. Or a buyer posts a request and agents shortlist sellers.
- 02The buyer reviews the fees and funds USDC escrow on Arc.
- 03The seller submits delivery evidence.
- 04The buyer releases milestones. Deadline, claim and dispute paths cover everything else.
- 05Each settled deal adds to both sides' reputation.
- A Next.js app, a Hono API and Postgres. The chain is the source of truth for money.
- Contracts on Arc for escrow, the deal board, reputation, the vault and treasury, invoices and business registration.
- Circle for USDC, developer-controlled wallets, and CCTP and App Kit to move USDC in and out. Passkey wallets are the mainnet design.
- Chainlink CRE workflows, run as simulations, authenticate delivery evidence and check its source.
- World ID, in staging, ties an agent's research allowance to one real person.
What I decided
- 01
Delivery evidence, identity and payment authority are kept apart. A delivery check informs a decision; it never becomes a second ledger or a payment authority.
Source: karwan/docs/architecture.md
- 02
Agents never fund or release money on their own. Every money action ends in a person's approval and an idempotent command.
Source: karwan/docs/architecture.md
- 03
No model sets a score. The model negotiates and matches; reputation comes only from settled deals.
Source: karwan/tameion/SUBMISSION.md
- 04
Every money move checks that the receipt and the contract state agree. A smart-wallet transaction once reported success while its inner call reverted, so a deal looked funded on an empty escrow. Since then an unclear result is looked up, never resent.
Source: karwan/tameion/SUBMISSION.md
Proof
- Winner · Chainlink Best Chainlink-Powered Upgrade · ETHOnline 2026(opens the source in a new tab)
- The Canteen · Circle grant referral
- Reputation, Arc mainnet0xa8E41F941b44CA091E3Ab7b600fe1484838aE27D
- Business registry, Arc mainnet0x69eA60B6EFd13A126Eb00d25aB0f21A4AfC636eF
- Escrow, Arc testnet0x0262A4dFec0E057cAf80F124BfD2847581E82B63
- TestingFoundry tests with fuzzing and invariant runs (Medusa, Echidna, Halmos), plus Slither and Aderyn static analysis.
What it is not yet
- The Arc mainnet contracts hold no escrow funds yet. Escrow and trading run on Arc testnet.
- Security work so far is internal review and testing, not an external audit.
- Email wallets are operated by Karwan, so they are custodial.
- The Chainlink CRE workflows run as simulations, not as a hosted deployment.
Written from karwan/README.md, karwan/docs/architecture.md, karwan/tameion/SUBMISSION.md, karwan/grant_submission/CIRCLE_GRANT_SUBMISSION_2026-09-25.md
Next project
Splits →