PayFuse adalah protokol pembayaran escrow yang inovatif di jaringan Base, dirancang untuk menyederhanakan pembayaran kolektif atau penggalangan dana. PayFuse memungkinkan sekelompok orang untuk berkontribusi menggunakan token apapun (melalui integrasi 0x API), yang kemudian secara otomatis dikonversi menjadi USDC dan disimpan dalam vault yang aman hingga target tercapai.
- Any-Token Contribution: Bayar dengan ETH atau ERC-20 apapun, sistem akan melakukan swap otomatis ke USDC menggunakan 0x API.
- Secure Escrow: Dana disimpan di smart contract hingga kondisi pembayaran (deadline atau target) terpenuhi.
- Base Network Native: Transaksi cepat, biaya gas super rendah, dan keamanan setingkat Ethereum.
- OnchainKit Integration: Pengalaman pengguna yang mulus dengan komponen Connect Wallet dan Transaction yang modern dari Coinbase.
- Transparent & Trustless: Semua logika pembayaran diatur oleh smart contract yang dapat diverifikasi.
- Frontend: Next.js 14 (App Router), Tailwind CSS, TypeScript.
- Web3 Library: Wagmi, Viem, OnchainKit.
- Smart Contracts: Solidity, Foundry (Development & Testing).
- DeFi Integration: 0x API (Swap Aggregator).
- Network: Base Sepolia (Testnet).
payfuse-base-hackathon/
├── apps/web/ # Frontend Next.js Application
│ ├── src/app/api/ # Backend routes for 0x Swap/Quote
│ ├── src/app/vault/ # Vault detail & management pages
│ └── src/components/ # Reusable UI components
├── payfuse/contracts/ # Smart Contracts (Foundry)
│ ├── src/ # PayfuseEscrow.sol core logic
│ ├── script/ # Deployment & configuration scripts
│ └── test/ # Comprehensive test suites
├── prd.pdf # Product Requirements Document
└── README.md # Project Documentation
- Node.js (v18+)
- Foundry
- 0x API Key
cd payfuse/contracts
# Copy environment template
cp ../.env.example ../.env
# Install dependencies
forge install
# Run tests
forge test
# Deploy to Base Sepolia
forge script script/Deploy.s.sol:Deploy --rpc-url $BASE_SEPOLIA_RPC --broadcast -vvvcd apps/web
# Install dependencies
npm install
# Copy environment template
cp .env.example .env
# Start development server
npm run dev| Function | Description |
|---|---|
createVault |
Membuat vault baru dengan target USDC dan deadline tertentu. |
contributeUSDC |
Berkontribusi langsung menggunakan token USDC. |
contributeWith0x |
Berkontribusi menggunakan token lain (ETH/ERC20) yang di-swap ke USDC. |
finalize |
Menarik dana USDC ke penerima jika target/deadline tercapai. |
claimRefund |
Mengembalikan dana kontributor jika vault gagal mencapai target. |
Kontribusi selalu diterima! Jika Anda ingin meningkatkan PayFuse, silakan buat pull request atau buka issue.
- Fork proyek ini.
- Buat branch fitur (
git checkout -b fitur/Hebat). - Commit perubahan Anda (
git commit -m 'Menambahkan fitur Hebat'). - Push ke branch (
git push origin fitur/Hebat). - Buka Pull Request.
Distributed under the MIT License. See LICENSE for more information.