Skip to content
RugWard
☰ Menú

RugWard Pay

El divisor de comisiones de Base (0,5 %)

Cómo los pagos en ETH y USDC en Base se dividen on-chain entre tú (99,5 %) y RugWard (0,5 %) dentro de la propia transacción del comprador, y cómo comprobar el contrato tú mismo.

En esta página

Qué es#

En Base, los pagos en ETH y USDC pasan por un contrato pequeño e inmutable: el divisor de RugWard Pay (splitter). En la única transacción del comprador envía el 99,5 % a tu dirección y el 0,5 % a la cartera de comisiones de RugWard. El dinero va directamente del comprador a ti; el contrato nunca guarda saldo.

RedBase (chain id 8453)
Divisor0x476EB0fECACA54d1311DB81bD3523cB0Dc66Dfab
Cartera de comisiones0xd3651425E1942f6b81dE2602093BbaEac466c666
ComisiónFEE_BPS = 50 (0,5 %), redondeada hacia abajo
Hash del código en ejecución0xfbeadea59a5f03449a5e59bf11709160e03040568062bb2f0ba8fa779b8fd64d
Activos que pasan por élsolo ETH-8453 y USDC-8453

Solo Base usa divisor. En todas las demás redes (Bitcoin, Monero, Solana, Ethereum, Arbitrum, BNB Chain, Polygon) los pagos van directamente a tu dirección, sin división on-chain y sin comisión de RugWard (promoción de lanzamiento). USDT no se ofrece en Base.

Por qué un divisor#

La comisión se cobra de forma transparente, on-chain, en el momento del pago, sin que RugWard retenga nunca tu dinero. Tú y tu comprador podéis ver ambas transferencias en BaseScan, y nadie puede cambiar el porcentaje: es una constante en código inmutable.

El 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: el comprador envía ETH; el contrato reenvía value − fee a ti y fee a la cartera de comisiones en la misma llamada.
  • payToken: después de que el comprador apruebe al divisor por exactamente el importe, mueve amount − fee del comprador a ti y fee a la cartera de comisiones con transferFrom. Los tokens nunca se quedan en el contrato.
  • Paid se emite con el ref aleatorio de 32 bytes de la cotización; ese evento es como RugWard asocia el pago a la factura.
  • No hay propietario, ni función de administración, ni pausa, ni actualización, ni forma de retirar nada: las cinco funciones públicas de arriba son todo el contrato. Los pagos a la dirección cero o al propio divisor se revierten.

Qué hace el checkout#

Checkout en Base
El checkout de Base muestra el total, tu 99,5 %, la comisión del 0,5 % y la dirección del divisor
  1. La cotización contiene un ref aleatorio nuevo, tu dirección y la dirección del divisor.
  2. Antes de firmar nada, el navegador del comprador lee el código del divisor en Base y compara su hash con la versión revisada. Si no coincide, se detiene.
  3. ETH: una transacción, payNative(merchant, ref). USDC: la cartera pide dos veces: aprobar exactamente el importe para el divisor y luego payToken(USDC, merchant, amount, ref).
  4. RugWard acredita el pago solo cuando un evento Paid viene del divisor registrado (hash del código verificado de nuevo on-chain, en caché 10 minutos), lleva el ref de esta cotización, tu dirección y el token correcto, y su comisión es exactamente feeOf(amount). El importe acreditado es lo que te llegó.
  5. Tras 30 confirmaciones de bloque, la factura queda paid.

Consecuencias importantes:

  • Una transferencia simple de ETH o USDC a tu dirección para una cotización de Base no se detecta automáticamente. Si un comprador lo hace por error, el dinero está en tu cartera; resuélvelo a mano (consulta Pagos sin asociar).
  • La factura se considera pagada cuando te llega el 99,5 % del importe cotizado (el comprador paga el 100 %).
  • Si tu dirección de recepción es una cartera de contrato inteligente, debe aceptar transferencias simples de ETH (una Safe o una smart account normal lo hace).
  • Si un comprador aprueba USDC y luego abandona el pago, queda en el divisor una autorización por ese importe exacto. Es inofensiva (solo el comprador puede gastarla mediante payToken, y solo para pagar a un comerciante), y el comprador puede eliminarla con Approvals.

Compruébalo tú mismo#

Cualquiera puede verificar el despliegue con herramientas públicas, por ejemplo cast de 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)

O abre la dirección en BaseScan y mira los eventos Paid y las transferencias internas.

Pruébalo en Sepolia#

La misma versión del contrato está desplegada en Ethereum Sepolia en 0xbcb045fba82ce46ac073ac609cb227d20c450ce5 con la misma división 99,5 % / 0,5 %. Las facturas de prueba del panel la usan con ETH y USDC de prueba gratuitos, para que veas el flujo exacto antes de cobrar dinero real.

Estado de la revisión#

El divisor ha sido revisado internamente por RugWard y está cubierto por nuestras propias pruebas de Foundry (unitarias y fuzz). No ha sido revisado por una empresa independiente. Su código y comportamiento son lo bastante pequeños para leerlos en unos minutos; la interfaz de arriba está completa.

Última actualización: 30 de octubre de 2026

El divisor de comisiones de Base (0,5 %) · RugWard Documentación | RugWard