RugWard Pay
O divisor de taxa da Base (0,5%)
Como os pagamentos em ETH e USDC na Base são divididos on-chain entre você (99,5%) e a RugWard (0,5%) na própria transação do comprador, e como verificar o contrato você mesmo.
Nesta página
O que é#
Na Base, os pagamentos em ETH e USDC passam por um contrato pequeno e imutável: o divisor do RugWard Pay (splitter). Na única transação do comprador, ele envia 99,5% para o seu endereço e 0,5% para a carteira de taxas da RugWard. O dinheiro vai direto do comprador para você; o contrato nunca guarda saldo.
| Rede | Base (chain id 8453) |
| Divisor | 0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab |
| Carteira de taxas | 0xd3651425E1942f6b81dE2602093BbaEac466c666 |
| Taxa | FEE_BPS = 50 (0,5%), arredondada para baixo |
| Hash do código em execução | 0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d |
| Ativos que passam por ele | somente ETH-8453 e USDC-8453 |
Só a Base usa divisor. Em todas as outras redes (Bitcoin, Monero, Solana, Ethereum, Arbitrum, BNB Chain, Polygon), os pagamentos vão direto para o seu endereço, sem divisão on-chain e sem taxa da RugWard (promoção de lançamento). USDT não é oferecido na Base.
Por que um divisor#
A taxa é cobrada de forma transparente, on-chain, no momento do pagamento, sem que a RugWard jamais segure o seu dinheiro. Você e o comprador veem as duas transferências no BaseScan, e ninguém pode mudar a porcentagem: ela é uma constante em código imutável.
O contrato#
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: o comprador envia ETH; o contrato repassavalue − feepara você efeepara a carteira de taxas na mesma chamada.payToken: depois que o comprador aprova o divisor para exatamente o valor, ele moveamount − feedo comprador para você efeepara a carteira de taxas comtransferFrom. Os tokens nunca ficam no contrato.Paidé emitido com orefaleatório de 32 bytes da cotação; é por esse evento que a RugWard associa o pagamento à fatura.- Não há dono, função de administração, pausa, atualização nem forma de sacar nada: as cinco funções públicas acima são o contrato inteiro. Pagamentos para o endereço zero ou para o próprio divisor são revertidos.
O que o checkout faz#

- A cotação contém um
refaleatório novo, o seu endereço e o endereço do divisor. - Antes de qualquer assinatura, o navegador do comprador lê o código do divisor na Base e compara o hash com a versão revisada. Se não bater, ele para.
- ETH: uma transação,
payNative(merchant, ref). USDC: a carteira pede duas vezes: aprovar exatamente o valor para o divisor e depoispayToken(USDC, merchant, amount, ref). - A RugWard só credita o pagamento quando um evento
Paidvem do divisor registrado (hash do código reverificado on-chain, em cache por 10 minutos), traz orefdesta cotação, o seu endereço e o token certo, e sua taxa é exatamentefeeOf(amount). O valor creditado é o que chegou até você. - Após 30 confirmações de bloco, a fatura fica paid.
Consequências importantes:
- Uma transferência simples de ETH ou USDC para o seu endereço numa cotação da Base não é detectada automaticamente. Se um comprador fizer isso por engano, o dinheiro está na sua carteira; resolva manualmente (veja Pagamentos não associados).
- A fatura é paga quando 99,5% do valor cotado chega até você (o comprador paga 100%).
- Se o seu endereço de recebimento for uma carteira de contrato inteligente, ela precisa aceitar transferências simples de ETH (uma Safe ou smart account comum aceita).
- Se um comprador aprovar USDC e depois abandonar o pagamento, fica no divisor uma permissão desse valor exato. Ela é inofensiva (só o comprador pode gastá-la via
payToken, e apenas para pagar um lojista), e o comprador pode removê-la em Approvals.
Verifique você mesmo#
Qualquer pessoa pode verificar a implantação com ferramentas públicas, por exemplo o cast do Foundry:
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)Ou abra o endereço no BaseScan e veja os eventos Paid e as transferências internas.
Teste na Sepolia#
A mesma versão do contrato está implantada na Ethereum Sepolia em 0xbcb045fba82ce46ac073ac609cb227d20c450ce5, com a mesma divisão 99,5% / 0,5%. As faturas de teste do painel a usam com ETH e USDC de teste gratuitos, para você acompanhar o fluxo exato antes de receber dinheiro real.
Status da revisão#
O divisor foi revisado internamente pela RugWard e é coberto pelos nossos próprios testes Foundry (unitários e fuzz). Ele não foi revisado por uma empresa independente. O código e o comportamento são pequenos o suficiente para ler em poucos minutos; a interface acima está completa.
Última atualização: 30 de outubro de 2026