TratoHecho_P2P

Hybrid P2P market for Latam: Sell onchain, buy with fiat offchain with trustless settlement

TratoHecho_P2P

Created At

ETHGlobal Cannes

Project Description

Real world problem: Bolivia has no regulated crypto exchanges that let citizens move between bolivianos (BOB) and stablecoins (USDC).

What am I building? A trust-minimised P2P ramp that lets two people swap: USDC on-chain (the crypto leg) <-> BOB or any fiat sent by bank transfer (the off-chain leg) with atomic settlement and very low friction UI (thanks 7702)

Why it matters : Shortage of dollars in Bolivia, giving oportunity to non crypto users (using Privy for a simple sign in without external wallet) to get USDC without using a escrow system or a centralized P2P market

High level idea: Seller lists an offer: Specifies how much USDC they are willing to sell, the fiat price, and an expiry time.

Instead of locking tokens in escrow, they sign a time-bound EIP-7702 delegation authorising the contract to move their USDC only until the order deadline.

Buyer accepts and pays off-chain : Buyer chooses where they want to receive the USDC (same network or another Circle-supported chain).

They make the bank transfer and submit the payment reference to the contract.

Automatic verification: A Chainlink Functions job queries the seller’s banking API and when the API confirms the transfer, the contract is notified on-chain.

USDC settlement : The contract uses the seller’s temporary delegation to move their USDC: either at the same-chain – direct transfer to the buyer or doing a cross-chain transfer through Circle CCIP-v2, so an equivalent amount is minted to the buyer on the selected destination chain.

All done without any further signature from the seller.

How it's Made

Main building blocks

Smart contracts (Solidity, Sepolia testnet (because it has ERC 7702) Marketplace logic, order tracking, delegated settlement, and CCTP calls.

Chainlink Functions : Runs a JavaScript snippet that polls the bank’s API, returns the payment status and triggers the transfer from the seller to the buyer. This piece is key for the offchain/onchain approach

Circle CCIP-v2 : Standards-based “burn-and-mint” for native USDC across Ethereum Sepolia, Avalanche Fuji, Arbitrum Sepolia, Base Sepolia, and Polygon Amoy. Give's end user flexibility on which chaiin he wants to receive their USDC.

Privy with EIP-7702 (temporary delegation for EOAs) : Lets the seller keep custody, yet empowers the contract to execute exactly one action (transfer/burn) within a fixed time window.

Security & trust model Seller risk: Limited to the order size and to the expiry time they signed in the delegation. They can revoke early at any time. Buyer risk: Protected by Chainlink DON; USDC is only released after the bank confirms the fiat transfer. Bridge risk: Minimized because CCTP mints canonical USDC rather than wrapped IOUs.

User experience highlights One transaction per side. Seller signs once; buyer submits two calls (accept + verify) and receives funds automatically. Chain-agnostic payouts. Buyer can ask to receive USDC on a cheaper or preferred network.

background image mobile

Join the mailing list

Get the latest news and updates