Skip to content
RugWard
☰ Menu

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.

RedeBase (chain id 8453)
Divisor0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab
Carteira de taxas0xd3651425E1942f6b81dE2602093BbaEac466c666
TaxaFEE_BPS = 50 (0,5%), arredondada para baixo
Hash do código em execução0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d
Ativos que passam por elesomente 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#

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: o comprador envia ETH; o contrato repassa value − fee para você e fee para a carteira de taxas na mesma chamada.
  • payToken: depois que o comprador aprova o divisor para exatamente o valor, ele move amount − fee do comprador para você e fee para a carteira de taxas com transferFrom. Os tokens nunca ficam no contrato.
  • Paid é emitido com o ref aleató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#

Checkout na Base
O checkout da Base mostra o total, os seus 99,5%, a taxa de 0,5% e o endereço do divisor
  1. A cotação contém um ref aleatório novo, o seu endereço e o endereço do divisor.
  2. 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.
  3. ETH: uma transação, payNative(merchant, ref). USDC: a carteira pede duas vezes: aprovar exatamente o valor para o divisor e depois payToken(USDC, merchant, amount, ref).
  4. A RugWard só credita o pagamento quando um evento Paid vem do divisor registrado (hash do código reverificado on-chain, em cache por 10 minutos), traz o ref desta cotação, o seu endereço e o token certo, e sua taxa é exatamente feeOf(amount). O valor creditado é o que chegou até você.
  5. 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:

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)

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

O divisor de taxa da Base (0,5%) · RugWard Documentação | RugWard