RugWard Pay
Base ücret bölücüsü (%0,5)
Base üzerindeki ETH ve USDC ödemelerinin, alıcının kendi işleminde zincir üstünde sizinle (%99,5) RugWard (%0,5) arasında nasıl bölündüğü ve sözleşmeyi kendiniz nasıl kontrol edeceğiniz.
Bu sayfada
Nedir#
Base üzerinde ETH ve USDC ödemeleri küçük ve değiştirilemez bir sözleşmeden geçer: RugWard Pay bölücüsü (splitter). Alıcının tek işleminde %99,5'i adresinize, %0,5'i RugWard ücret cüzdanına gönderir. Para doğrudan alıcıdan size gider; sözleşme hiçbir zaman bakiye tutmaz.
| Ağ | Base (chain id 8453) |
| Bölücü | 0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab |
| Ücret cüzdanı | 0xd3651425E1942f6b81dE2602093BbaEac466c666 |
| Ücret | FEE_BPS = 50 (%0,5), aşağı yuvarlanır |
| Çalışma zamanı kod hash'i | 0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d |
| Üzerinden geçen varlıklar | yalnızca ETH-8453 ve USDC-8453 |
Bölücüyü yalnızca Base kullanır. Diğer tüm ağlarda (Bitcoin, Monero, Solana, Ethereum, Arbitrum, BNB Chain, Polygon) ödemeler zincir üstü bölme olmadan ve RugWard ücreti alınmadan doğrudan adresinize gider (lansman kampanyası). Base üzerinde USDT sunulmaz.
Neden bölücü#
Ücret, ödeme anında zincir üstünde şeffaf biçimde alınır ve RugWard paranızı hiçbir zaman tutmaz. Siz ve alıcınız her iki transferi de BaseScan'de görebilirsiniz ve kimse yüzdeyi değiştiremez: değiştirilemez koddaki bir sabittir.
Sözleşme#
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: alıcı ETH gönderir; sözleşme aynı çağrıdavalue − feetutarını size,feetutarını ücret cüzdanına iletir.payToken: alıcı bölücüyü tam olarak tutar kadar onayladıktan sonra,transferFromileamount − feetutarını alıcıdan size,feetutarını ücret cüzdanına taşır. Token'lar asla sözleşmede kalmaz.Paid, teklifin rastgele 32 baytlıkrefdeğeriyle yayımlanır; RugWard ödemeyi faturayla bu olay sayesinde eşleştirir.- Sahip, yönetici fonksiyonu, duraklatma, yükseltme veya herhangi bir şeyi çekme yolu yoktur: yukarıdaki beş public fonksiyon sözleşmenin tamamıdır. Sıfır adrese veya bölücünün kendisine yapılan ödemeler geri alınır (revert).
Ödeme sayfası ne yapar#

- Teklif yeni bir rastgele
ref, adresinizi ve bölücü adresini içerir. - Herhangi bir şey imzalanmadan önce alıcının tarayıcısı bölücünün kodunu Base'den okur ve hash'ini incelenmiş derlemeyle karşılaştırır. Uyuşmazlık varsa durur.
- ETH: tek işlem,
payNative(merchant, ref). USDC: cüzdan iki kez sorar: bölücü için tam tutarı onaylayın, ardındanpayToken(USDC, merchant, amount, ref). - RugWard ödemeyi yalnızca bir
Paidolayı kayıtlı bölücüden geldiğinde (kod hash'i zincir üstünde yeniden kontrol edilir, 10 dakika önbelleğe alınır), bu teklifinrefdeğerini, adresinizi ve doğru token'ı taşıdığında ve ücreti tam olarakfeeOf(amount)olduğunda hesaba geçirir. Hesaba geçen tutar size ulaşan tutardır. - 30 blok onayından sonra fatura paid olur.
Önemli sonuçlar:
- Bir Base teklifi için adresinize yapılan düz bir ETH veya USDC transferi otomatik olarak algılanmaz. Alıcı bunu yanlışlıkla yaparsa para cüzdanınızdadır; elle çözün (bkz. Eşleşmeyen ödemeler).
- Teklif edilen tutarın %99,5'i size ulaştığında fatura ödenmiş olur (alıcı %100'ün tamamını öder).
- Alıcı adresiniz bir akıllı sözleşme cüzdanıysa düz ETH transferlerini kabul etmelidir (normal bir Safe veya smart account kabul eder).
- Bir alıcı USDC onaylayıp ödemeyi yarıda bırakırsa, bölücü üzerinde tam o tutar için bir izin kalır. Zararsızdır (yalnızca alıcı onu
payTokenile ve yalnızca bir satıcıya ödeme yapmak için harcayabilir) ve alıcı bunu Approvals ile kaldırabilir.
Kendiniz kontrol edin#
Herkes dağıtımı açık araçlarla doğrulayabilir, örneğin Foundry'nin cast aracıyla:
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)Ya da adresi BaseScan üzerinde açıp Paid olaylarına ve dahili transferlere bakın.
Sepolia'da test edin#
Aynı sözleşme derlemesi Ethereum Sepolia'da 0xbcb045fba82ce46ac073ac609cb227d20c450ce5 adresinde aynı %99,5 / %0,5 bölmesiyle dağıtılmıştır. Paneldeki test faturaları bunu ücretsiz test ETH ve test USDC ile kullanır; böylece gerçek para almadan önce akışın tam olarak nasıl işlediğini izleyebilirsiniz.
İnceleme durumu#
Bölücü RugWard tarafından dahili olarak incelenmiştir ve kendi Foundry testlerimizle (birim ve fuzz) kapsanmaktadır. Bağımsız bir firma tarafından incelenmemiştir. Kaynağı ve davranışı birkaç dakikada okunacak kadar küçüktür; yukarıdaki arayüz eksiksizdir.
Son güncelleme: 30 Ekim 2026