Please switch to Arc Testnet to buy, rent, sell, or list on terra.
Live on Arc Testnet · USDC-native settlement

Property deals, closed the moment both sides agree — never before.

terra holds every sale and rental payment in on-chain escrow until buyer and seller both confirm. No wire delays, no informal middleman, no funds released on trust alone.

Settlement asset
USDC, native gas
Local rail
Naira via Yellow Card
Chain
Arc · 5042002
Dispute path
On-chain arbiter
The problem

Nigerian real estate runs on trust that isn't backed by anything.

Every step of a typical sale or rental leaves one side exposed — usually the one sending money first.

01

No neutral holder

Funds go straight from buyer to seller, or through an informal agent, with nobody accountable in between.

02

Slow, costly transfers

Bank wires between parties take days and carry fees that eat into the deal before it's even closed.

03

Currency instability

Naira-denominated deals expose both sides to swings in value between the day of agreement and the day of payment.

04

No paper trail

When a deal goes wrong, there's rarely an auditable record of who paid what, and when.

How it settles

One escrow contract. Four states. Funds move only when both sides say so.

Listings live in a normal database — the money never does. Every sale is a single on-chain record that moves through these states in order.

createSale

Listed

Seller and buyer agree a price; the sale record is created on-chain.

fundEscrow

Funded

Buyer deposits USDC into the contract. Funds are locked, visible to both parties.

confirm ×2

Confirmed

Each party confirms their side of the deal independently.

auto-release

Settled

Once both confirm, funds release to the seller automatically — no manual step.

If either side raises a dispute after funding, the sale freezes for arbiter review — funds only move to a refund or a release, never anywhere else.

Why Arc

USDC is the gas. There's nothing else to acquire.

Arc is Circle's EVM-compatible chain, built so USDC is the native gas token. A buyer funding a sale never needs to hold a separate token just to pay network fees — the currency of the deal and the currency of the network are the same thing.

That removes the single biggest UX barrier for someone who has never touched crypto before: there's no bridging step, and fees stay predictable in dollar terms instead of swinging with a volatile gas token.

Gas tokenUSDC (native)
Bridging requiredNone
Fee predictabilityDenominated in $
Contract standardsOZ IERC20 / ReentrancyGuard
Who's in the room

Three roles, one contract keeping everyone honest.

Buyer / Renter

Browses, pays, confirms

Searches listings and pays in USDC directly, or in Naira through an automatic conversion — no wallet experience required to get started.

  • Browse sale & rental listings
  • Pay via USDC or Naira on/off-ramp
  • Confirm receipt to release funds
Seller / Landlord

Lists, receives, cashes out

Lists a property, waits for escrow to fund, and can convert settled USDC straight back to a Nigerian bank account.

  • List a property for sale or rent
  • Receive USDC on settlement
  • Cash out to Naira via Yellow Card
Admin / Arbiter

Moderates, resolves

Holds on-chain authority to step in only when a dispute is raised — never to touch a sale that's proceeding normally.

  • Moderate and approve listings
  • Review disputes raised on funded sales
  • Resolve to refund buyer or release seller
Architecture

Listings live off-chain. Money never does.

Everything that doesn't need to be trustless — search, photos, KYC status, notifications — stays in a normal database. Everything that touches money is a Solidity contract on Arc.

Off-chain

Listings database
Property details, photos, price, sale/rental status, location.
Search & filtering
Standard query layer over the listings table.
User accounts & KYC status
Tracks verification state ahead of any on-ramp interaction.
Admin dashboard
Listing moderation, dispute resolution interface, transaction history.
Event indexer
Listens to on-chain contract events and syncs status back — e.g. "Funded" marks a listing Pending.
Notifications
Email / SMS / push on funded, confirmed, disputed, and completed events.

On-chain · Arc network

SaleEscrow.sol
createSale · fundEscrow · confirm · raiseDispute · resolveDispute · cancel. One contract, unlimited sales via incrementing saleId.
RentalAgreement.sol
Security deposit escrow, recurring rent, early termination, late payment handling.
Standards
OpenZeppelin IERC20 / SafeERC20, ReentrancyGuard, Ownable.
Currency boundary
Contracts only ever handle USDC — conversion happens entirely at the wallet or ramp layer.
Solidity → Remix → Arc Testnet
Supabase (Postgres)
React frontend
MetaMask / WalletConnect
Vercel + GitHub
Yellow Card on/off-ramp
Optional, sale listings

Auction mode

Highest confirmed bid wins — automatically.

A timed bidding window with a minimum increment. The highest bid locks in escrow as it comes in; every losing bidder is refunded the moment the auction closes, with no manual intervention.

Window closes in
02:14:37
Build status

What's live, what's next.

SaleEscrow.sol written
complete
Logo / icon designed
complete
Contract deployed to Arc Testnet
in progress · Remix
RentalAgreement.sol
pending
Supabase listings database
pending
Frontend — listings, wallet connect, buy/sell/rent flows
pending
Admin dashboard
pending
Yellow Card on/off-ramp integration
pending
Event indexer
pending
Get involved

Watch a sale settle on testnet.

terra is live on Arc Testnet today. Connect a wallet, fund a sale with test USDC, and see escrow close in real time.

Open ArcScan explorer

Wallet dashboard

0x0000...0000
Not connected
USDC balance
—
Escrow balance
—
USDC balance reads live from Arc Testnet. Escrow balance syncs once the event indexer ships.
Properties purchased
—
Populates once listings and the on-chain indexer are live — see the Build status section.