Skip to content
RugWard
☰ Menu

RugWard Pay

Pemisah biaya Base (0,5%)

Bagaimana pembayaran ETH dan USDC di Base dibagi on-chain antara Anda (99,5%) dan RugWard (0,5%) di dalam transaksi pembeli sendiri, dan cara memeriksa kontraknya sendiri.

Di halaman ini

Apa itu#

Di Base, pembayaran ETH dan USDC melewati kontrak kecil yang tidak dapat diubah: pemisah RugWard Pay (splitter). Dalam satu transaksi pembeli, kontrak ini mengirim 99,5% ke alamat Anda dan 0,5% ke dompet biaya RugWard. Uang berpindah langsung dari pembeli ke Anda; kontrak tidak pernah menyimpan saldo.

JaringanBase (chain id 8453)
Pemisah0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab
Dompet biaya0xd3651425E1942f6b81dE2602093BbaEac466c666
BiayaFEE_BPS = 50 (0,5%), dibulatkan ke bawah
Hash kode runtime0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d
Aset yang melewatinyahanya ETH-8453 dan USDC-8453

Hanya Base yang memakai pemisah. Di semua jaringan lain (Bitcoin, Monero, Solana, Ethereum, Arbitrum, BNB Chain, Polygon), pembayaran langsung masuk ke alamat Anda tanpa pembagian on-chain dan tanpa biaya RugWard (promo peluncuran). USDT tidak ditawarkan di Base.

Mengapa pemisah#

Biaya diambil secara transparan, on-chain, pada saat pembayaran, tanpa RugWard pernah memegang uang Anda. Anda dan pembeli dapat melihat kedua transfer di BaseScan, dan tidak ada yang dapat mengubah persentasenya: itu konstanta dalam kode yang tidak dapat diubah.

Kontraknya#

RugWardPaySplitter (public interface)
uint256 public constant FEE_BPS = 50;        // 0.5 %
address public immutable feeWallet;          // 0xd3651425E1942f6b81dE2602093BbaEac466c666

event Paid(bytes32 indexed ref, address indexed merchant, address indexed token,
           address payer, uint256 amount, uint256 fee);   // token = 0x0 for ETH

function feeOf(uint256 amount) public pure returns (uint256);   // amount * 50 / 10000, rounded down
function payNative(address merchant, bytes32 ref) external payable;
function payToken(IERC20 token, address merchant, uint256 amount, bytes32 ref) external;
  • payNative: pembeli mengirim ETH; kontrak meneruskan value − fee ke Anda dan fee ke dompet biaya dalam panggilan yang sama.
  • payToken: setelah pembeli menyetujui pemisah untuk tepat sejumlah tagihan, kontrak memindahkan amount − fee dari pembeli ke Anda dan fee ke dompet biaya dengan transferFrom. Token tidak pernah tersimpan di kontrak.
  • Paid dipancarkan dengan ref acak 32 byte milik kuotasi; melalui event inilah RugWard mencocokkan pembayaran dengan invoice.
  • Tidak ada pemilik, fungsi admin, jeda, upgrade, maupun cara menarik apa pun: lima fungsi publik di atas adalah seluruh kontrak. Pembayaran ke alamat nol atau ke pemisah itu sendiri akan di-revert.

Yang dilakukan halaman checkout#

Checkout Base
Checkout Base menampilkan total, 99,5% bagian Anda, biaya 0,5%, dan alamat pemisah
  1. Kuotasi berisi ref acak baru, alamat Anda, dan alamat pemisah.
  2. Sebelum apa pun ditandatangani, browser pembeli membaca kode pemisah dari Base dan membandingkan hash-nya dengan build yang telah ditinjau. Jika tidak cocok, proses berhenti.
  3. ETH: satu transaksi, payNative(merchant, ref). USDC: dompet meminta dua kali: setujui tepat sejumlah tagihan untuk pemisah, lalu payToken(USDC, merchant, amount, ref).
  4. RugWard hanya mengkreditkan pembayaran jika event Paid berasal dari pemisah terdaftar (hash kode diperiksa ulang on-chain, di-cache 10 menit), membawa ref kuotasi ini, alamat Anda, dan token yang benar, serta biayanya tepat feeOf(amount). Jumlah yang dikreditkan adalah yang sampai ke Anda.
  5. Setelah 30 konfirmasi blok, invoice menjadi paid.

Konsekuensi penting:

  • Transfer biasa ETH atau USDC ke alamat Anda untuk kuotasi Base tidak terdeteksi otomatis. Jika pembeli melakukannya karena keliru, uangnya ada di dompet Anda; selesaikan secara manual (lihat Pembayaran tak cocok).
  • Invoice lunas ketika 99,5% dari jumlah kuotasi sampai ke Anda (pembeli membayar 100% penuh).
  • Jika alamat penerimaan Anda adalah dompet smart contract, dompet itu harus menerima transfer ETH biasa (Safe atau smart account biasa bisa).
  • Jika pembeli menyetujui USDC lalu meninggalkan pembayaran, izin sebesar jumlah itu tetap ada pada pemisah. Izin ini tidak berbahaya (hanya pembeli yang dapat memakainya melalui payToken, dan hanya untuk membayar merchant), dan pembeli dapat menghapusnya lewat Approvals.

Periksa sendiri#

Siapa pun dapat memverifikasi deployment dengan alat publik, misalnya cast dari Foundry:

Check the contract yourself (Foundry cast)
RPC=https://mainnet.base.org
SPLITTER=0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab

cast keccak $(cast code $SPLITTER --rpc-url $RPC)
# expected: 0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d

cast call $SPLITTER "feeWallet()(address)" --rpc-url $RPC
# 0xd3651425E1942f6b81dE2602093BbaEac466c666
cast call $SPLITTER "FEE_BPS()(uint256)" --rpc-url $RPC
# 50
cast call $SPLITTER "feeOf(uint256)(uint256)" 25000000 --rpc-url $RPC
# 125000  (0.125 USDC of a 25 USDC payment)

Atau buka alamatnya di BaseScan dan lihat event Paid serta transfer internal.

Uji di Sepolia#

Build kontrak yang sama di-deploy di Ethereum Sepolia pada 0xbcb045fba82ce46ac073ac609cb227d20c450ce5 dengan pembagian 99,5% / 0,5% yang sama. Invoice uji di dasbor menggunakannya dengan ETH dan USDC uji gratis, sehingga Anda dapat melihat alur persisnya sebelum menerima uang sungguhan.

Status peninjauan#

Pemisah ini telah ditinjau secara internal oleh RugWard dan dicakup oleh pengujian Foundry kami sendiri (unit dan fuzz). Pemisah ini belum ditinjau oleh perusahaan independen. Kode dan perilakunya cukup kecil untuk dibaca dalam beberapa menit; antarmuka di atas sudah lengkap.

Terakhir diperbarui: 30 Oktober 2026

Pemisah biaya Base (0,5%) · RugWard Dokumentasi | RugWard