Immutable on Ethereum

Trustless Escrow for the Real World

Lock funds in an immutable contract. Release on delivery. No custodian, no arbitrator, no admin keys. Two parties, one contract, atomic settlement. If the buyer ghosts, auto-release protects the seller.

Escrows Created
Volume Released
2%
Protocol Fee
72h
Grace Period
0
Admin Keys
🔒
Zero Owner
🧊
Fully Immutable
🤝
No Custodian
⛓️
On-Chain Forever
🛡️
No Proxy / No Pause
Escrow Deploy pending — update config.js after deployment
No admin keys.· No custodian.· No arbitrator.· No proxy.· No pause.· No upgrade.· No freeze.· No owner.· No counterparty risk.· 72-hour grace period.· 30-day dispute timeout.· Immutable escrow on Ethereum, running forever.· No admin keys.· No admin keys.· No governance.· No oracle.· No proxy.· No pause.· No upgrade.· No liquidation.· No blacklist.· No custodian.· No emergency shutdown.· Immutable smart contracts on Ethereum, running forever.·

Trustless by Design

No custodian holds your funds. The smart contract is the escrow agent. It cannot be bribed, corrupted, or hacked through social engineering. Code is the only arbiter.

No Permanent Fund Lock

Disputes have a 30-day deterministic timeout. Funds can never be locked forever. The seller can always force-claim after 30 days of unresolved dispute. Game theory, not governance.

2% Protocol Fee

Charged only on released funds. No fee on cancellations or refunds. The fee recipient is immutable — set once at deployment, never changeable. Revenue flows forever.

How It Works
Trustless escrow in four steps. No middleman. No custodian.

For Buyers

  1. Connect wallet and choose asset type (ETH or ERC-20 token)
  2. Enter seller address, deposit amount, deadline, and terms description
  3. Funds lock in the smart contract — not a company, not a wallet, just code
  4. After seller delivers, click Release. Seller gets funds minus 2% fee. Done.

For Sellers

  1. Buyer creates escrow — you see the locked funds on-chain, guaranteed real
  2. Deliver your work, product, or service off-chain
  3. If buyer releases — you get paid instantly. Happy path.
  4. If buyer ghosts — request release after deadline. 72-hour grace period, then auto-claim. If buyer disputes, 30-day timeout then force-claim. You always get paid.
Frequently Asked Questions
Your funds are locked in an immutable smart contract. Only YOU can release them. The seller cannot access the funds unless you click Release, or unless the auto-release grace period expires without you disputing. You are always in control.
If the buyer ghosts after you deliver, you can request release after the deadline. This starts a 72-hour grace period. If the buyer doesn't dispute within 72 hours, you claim the funds automatically. If they do dispute, you can force-claim after 30 days. Funds can never be locked forever.
If the buyer disputes, the escrow enters a Disputed state. Both parties negotiate off-chain (Telegram, email, etc). The buyer can choose to release at any time. Both parties can mutually cancel for a full refund. If neither acts, the seller can force-claim after 30 days. There is always a deterministic resolution — no fund lock forever.
2% of the released amount, deducted from what the seller receives. No fee is charged on mutual cancellations or refunds. The fee recipient address is set once at deployment and can never be changed.
Yes, through mutual cancel. Either party proposes cancellation, and if the other party agrees, the buyer gets a full refund with no fee. Both parties must agree — one party cannot unilaterally cancel.
ETH (native Ether) and any ERC-20 token. The contract also supports fee-on-transfer (tax) tokens by measuring actual received amounts. Whitelisted tokens on the frontend include WETH, USDC, USDT, DAI, and WBTC.
Any EIP-6963 compatible Ethereum wallet — MetaMask, Rabby, Coinbase Wallet, Rainbow, Frame, and others. The site detects all installed wallets automatically.
Nobody. The contract has no owner, no admin keys, no pause function, no upgrade proxy, and no emergency withdraw. It was deployed ownerless by design. There is nothing to renounce because ownership was never granted. It runs autonomously forever.
Escrow
Create, browse, and manage trustless escrows. 2% fee on release. No fee on cancel.
Connect wallet to interact
Escrows
📋

Click "Load Recent" to browse escrows or look up by ID.

Whitepaper
Technical specification of the Onchain Escrow protocol.

1. Overview

Onchain Escrow is a fully immutable, decentralized smart contract protocol for trustless two-party escrow on Ethereum. Buyer deposits ETH or ERC-20 tokens. Seller delivers off-chain. Buyer releases payment. If buyer goes MIA, auto-release protects the seller after a deadline and grace period. Disputes have a deterministic 30-day timeout — funds can never be locked forever.

2. Architecture

Single contract. No owner. No admin keys. No proxy. No pause. No upgrade. The only privileged value is the fee recipient, set as an immutable variable at deployment. There is no function to change it. There is no governance. There is no multisig. The contract runs autonomously forever.

3. Escrow Flow

Happy Path

Buyer creates escrow (deposits funds, sets seller, deadline, terms hash). Seller delivers off-chain. Buyer calls release(). Seller receives funds minus 2% fee. Done.

Auto-Release (Buyer MIA)

Deadline passes. Seller calls requestRelease(). 72-hour grace period starts. If buyer doesn't dispute within 72 hours, seller calls claimRelease(). Funds released with 2% fee.

Dispute

Buyer disputes during grace period. Escrow enters Disputed state. Buyer can still release at any time. Both can mutually cancel. If neither acts, seller can force-claim after 30 days. Deterministic resolution — no permanent fund lock.

Mutual Cancel

Either party proposes. Other party confirms. Full refund to buyer. No fee charged.

4. Fee Structure

Release: 2% of released amount (deducted from seller's receipt) Mutual Cancel: No fee (full refund to buyer) Dispute Resolve: 2% (same as release) Fee Recipient: Immutable, set at deployment

5. Security Model

ReentrancyGuard on all state-changing functions. SafeERC20 for all token transfers. Checks-Effects-Interactions pattern for all ETH transfers. Balance measurement for fee-on-transfer token support. No selfdestruct. No delegatecall. No external dependencies.

6. Immutability Guarantees

Owner: None Admin functions: None Proxy/Upgrade: None Pause mechanism: None Fee rate: 2%, hardcoded constant Fee recipient: Set at deployment, immutable forever Grace period: 72 hours, hardcoded constant Dispute timeout: 30 days, hardcoded constant

7. Contract Address

Onchain Escrow: Deploy pending Chain: Ethereum Mainnet (Chain ID: 1)

— Otoshi

Deployed on Ethereum. Immutable forever. No keys to lose, no admin to corrupt. Just code, holding money, releasing on command.