Web3 Marketplace

A decentralized marketplace where funds are held in escrow, ensuring trustless transactions.

Web3 Marketplace

Created At

ETHOnline 2025

Project Description

This project is a decentralized marketplace built with Vue 3, TypeScript, and Solidity, designed to enable trustless peer-to-peer trading of digital goods using stablecoins such as PYUSD and USDC. It is deployed on the Sepolia testnet and provides a seamless, gas-efficient user experience through integration with Uniswap Permit2 for gasless token approvals.

How it's Made

This project was built collaboratively through Cursor, which served as the main AI-assisted coding environment for both frontend and smart contract development. Cursor’s inline code suggestions and context-aware completions significantly accelerated the integration process between the Vue 3 frontend and Solidity smart contracts, helping maintain consistent types, ABI bindings, and deployment scripts.

On the frontend, I used Vue 3 + TypeScript + Vite to build a lightweight and reactive decentralized marketplace interface. Wagmi and Viem handle wallet connections and contract interactions, while TanStack Query manages on-chain state and caching, ensuring smooth real-time updates when transaction events occur. The design uses Tailwind CSS for responsiveness, with a modular page structure that separates buyer, seller, and admin functionalities for clarity and maintainability.

The backend logic is entirely on-chain. Using Hardhat 3, I developed and tested the main contract, EscrowMarketplace.sol, which implements a full escrow system to secure trades between buyers and sellers. I also integrated Uniswap’s Permit2 to allow gasless token approvals, reducing friction for users and removing the need for pre-approval transactions. This integration required customizing Permit2’s SignatureTransfer flow and adapting it to the escrow payment model—a slightly hacky but fun part of the build that involved manually constructing EIP-712 domain data for signature verification.

For security and reliability, I applied OpenZeppelin v5.4.0 libraries such as ReentrancyGuard and Ownable. Hardhat Ignition was used to automate contract deployment and parameter configuration across the Sepolia testnet. The system includes over 60 unit tests covering payment flow, escrow release, and fee management to ensure production-grade robustness.

Overall, this project demonstrates how a modern AI-assisted workflow (Cursor) can bridge Web2-style frontend development with Web3 smart contract engineering. The result is a fully decentralized, gas-optimized, and secure marketplace that highlights composability between cutting-edge Ethereum tools like Permit2, Wagmi, and Hardhat.

background image mobile

Join the mailing list

Get the latest news and updates