Cuando una canasta se completa, el contrato calcula el porcentaje destinado al ganador, otro para cubrir el gas de la transacción y el pequeño fee asignado al desarrollador. El 90% del balance acumulado de la canasta se envía directamente al ganador mediante una llamada interna segura.
El contrato también contempla la existencia de residuos generados por la división del balance. Estos residuos no se pierden ni quedan bloqueados; se acumulan y son transferidos automáticamente cuando superan un umbral específico.
Este diseño evita que valores muy pequeños queden atrapados en el contrato. La lógica del pago se ejecuta antes de emitir el evento del ganador, siguiendo el patrón de seguridad “checks-effects-interactions”.