1. Introducción y Motivación
Los sistemas de lotería y apuestas han existido durante milenios como mecanismos de redistribución de riqueza y entretenimiento. Su estructura económica es fundamentalmente asimétrica: el coste de participación es cierto e inmediato, mientras que el beneficio es incierto y estadísticamente improbable. En la práctica, los juegos de azar tradicionales funcionan como un impuesto regresivo sobre la esperanza.
N0Loss propone separar el capital de participación del coste de oportunidad. En lugar de que los usuarios pierdan su dinero para financiar los premios, N0Loss captura el rendimiento generado por ese capital y lo redistribuye como recompensa. El capital de los depositantes está protegido en la práctica totalidad de los escenarios operativos, respaldado por instrumentos de bajísimo riesgo (deuda del Tesoro de EE. UU. tokenizada).
1.1 El problema de la lotería tradicional
En una lotería estándar, el operador retiene típicamente entre el 40% y el 60% del total apostado. El participante paga un precio cierto a cambio de una probabilidad diminuta de obtener un premio. El valor esperado de participación es siempre negativo para el jugador.
E[Lotería] = P(ganar) × Premio − Coste_boleto < 0
para casi todos los participantesEste modelo tiene tres consecuencias negativas documentadas: (1) destrucción neta de riqueza para participantes de bajos ingresos; (2) ausencia de incentivo al ahorro; y (3) opacidad sobre el destino de los fondos recaudados.
1.2 Prize-Linked Savings: historia y precedentes
Los sistemas de ahorro vinculados a premios (PLS) no son un concepto nuevo. El Premium Bond del Reino Unido, lanzado en 1956 por NS&I, es posiblemente el ejemplo más longevo: los tenedores compiten mensualmente por premios financiados por los intereses del fondo, sin riesgo de pérdida de capital. A julio de 2024, el programa mantenía más de 125.000 millones de libras esterlinas en depósitos.
En el contexto DeFi, PoolTogether —lanzado en 2019— fue el primer protocolo PLS nativo de blockchain. N0Loss hereda su filosofía e integra lecciones de cinco años de operación, incorporando una fuente de rendimiento institucional (RWA), un motor de distribución por niveles y un sistema de reputación de usuarios.
1.3 La oportunidad de las finanzas programables
La madurez actual de la infraestructura DeFi permite construir un protocolo PLS con propiedades imposibles en finanzas tradicionales:
- Custodia no delegada del capital por parte del usuario
- Transparencia total de los flujos de fondos en tiempo real
- Automatización de la distribución mediante contratos inteligentes sin intermediarios
- Acceso a rendimiento de calidad institucional a través de RWA tokenizados
El mercado de stablecoins reguladas supera actualmente los 150.000 millones de dólares en capitalización, con USDC de Circle como activo dominante gracias a su marco regulatorio bajo la supervisión de la FinCEN estadounidense.
2. Diseño del Protocolo
N0Loss está diseñado como un sistema modular de capas con responsabilidades claramente delimitadas. Esta arquitectura permite actualizar componentes individuales sin afectar al resto del sistema y facilita las auditorías de seguridad.
2.1 Arquitectura en capas
| Capa | Nombre | Responsabilidad | Contrato principal | Estado |
|---|---|---|---|---|
| 1 | Propuesta de Valor | Marco conceptual y legal | — | — |
| 2 | Liquidez | Captación y custodia de capital | Vault.sol | Implementado y auditado |
| 3 | Generación de Yield | Inversión del capital en RWA | YieldManager.sol | Implementado y auditado |
| 4 | Tesorería | Distribución del rendimiento | Treasury.sol | Implementado y auditado |
| 5 | Distribution Engine | Mecánica de sorteo por niveles | DistributionEngine.sol | Implementado y auditado |
| 6 | Reputación | Scoring de usuarios | Reputation.sol | Implementado y auditado |
| 7 | UX / Frontend | Interfaz de usuario | — | Pendiente |
| 8 | Gobernanza | Control del protocolo (post-MVP) | Governance.sol | Pendiente |
Tabla 1. Arquitectura en capas del protocolo N0Loss.
2.2 Capa de liquidez — Vault
El Vault es el contrato central de N0Loss. Implementa el estándar ERC-4626 (Tokenized Vault Standard), garantizando composabilidad con el ecosistema DeFi y estandarizando la contabilidad de shares.
deposit(uint256 assets, address receiver)
withdraw(uint256 assets, address receiver, address owner)
totalAssets() → TVL del protocolo (capital principal, excluye yield no cosechado)
balanceOf(address) → balance en shares del usuario
convertToAssets(uint256 shares) → precio actualUn depósito realizado a mitad de un ciclo participa en el sorteo con probabilidad pro-rata según los días restantes del ciclo. El retiro de capital está permitido en cualquier momento, sin cooldown de salida. Tras cualquier retiro —parcial o total— el usuario queda bloqueado tanto para participar en el sorteo como para volver a depositar, hasta el inicio del siguiente ciclo completo: esta doble restricción cierra el vector de depósito-retiro oportunista de forma más estricta que una simple exclusión del sorteo.
El gas de las transacciones de depósito y retiro es subsidiado por el protocolo mediante meta-transacciones (estándar ERC-2771 con un forwarder de confianza), financiado desde el presupuesto operativo.
2.3 Capa de generación de rendimiento
N0Loss adopta activos del mundo real tokenizados (RWA) como fuente de rendimiento, priorizando estabilidad, respaldo institucional y menor volatilidad de APR frente a estrategias de lending DeFi variable.
| Fase | Fuente de rendimiento | Activo subyacente | APR ref. (jul. 2026) | Riesgo |
|---|---|---|---|---|
| Fase 1 (lanzamiento) | Ondo Finance — OUSG | T-Bills EE. UU. vía BlackRock BUIDL | ≈ 3.4%–5% | Bajo |
| Fase madura | Múltiples emisores RWA | T-Bills / deuda soberana tokenizada | ≈ 3.5%–5.5% | Bajo |
Tabla 2. Fuentes de rendimiento del protocolo N0Loss.
El acceso a OUSG requiere que la entidad operadora de N0Loss complete un proceso de KYC institucional como "Accredited Investor" / "Qualified Purchaser" ante Ondo Finance, con mínimos de suscripción de aproximadamente 100.000 USDC (modo no-instantáneo) o 5.000 USDC (modo instantáneo, sujeto a límites diarios), y liquidación de 1 a 2 días hábiles para redenciones no-instantáneas. Por esta razón, el YieldManager mantiene siempre un colchón de liquidez (USDC no desplegado a Ondo) para poder servir retiros del Vault sin depender de los tiempos de liquidación de Ondo — ver Sección 5.2.
2.4 Capa de tesorería
El contrato Treasury.sol recibe el rendimiento bruto generado por el YieldManager al cierre de cada período semanal y lo distribuye según los parámetros de gobernanza vigentes:
Yield_bruto = TVL × APR_efectivo_suavizado × (7 / 365)
Reward_Pool = Yield_bruto × α (α = 0.70 por defecto)
Treasury = Yield_bruto × β (β = 0.20 por defecto)
LP_Incentive = Yield_bruto × γ (γ = 0.10 por defecto)
α + β + γ = 1.00Ecuación 1. Distribución del rendimiento bruto.
APR_efectivo_suavizado se calcula como media móvil de 4 semanas del APR real generado por el YieldManager, para amortiguar la volatilidad semana a semana antes de calcular el reparto. El destino γ (10%) es un LP Incentive Pool: financia el pago a Liquidity Providers, un grupo de aportantes de capital separado de los depositantes del Vault, cuyo capital refuerza el colchón de liquidez de YieldManager. El pago a cada LP es proporcional a su aportación al pool de LPs, calculado sobre el rendimiento total generado por todo el capital bajo gestión (tanto el de los depositantes del Vault como el de los propios LPs).
2.5 Motor de distribución
El DistributionEngine.sol determina qué usuarios reciben el Reward_Pool mediante una lotería ponderada donde la probabilidad de ganar es proporcional al Reputation Score:
P(usuario_i gana) = Score_i / Σ Score_j ∀j ∈ participantes_activosEcuación 2. Probabilidad de ganar del usuario i en un sorteo dado.
La aleatoriedad se implementa mediante Chainlink VRF v2.5, que proporciona números aleatorios verificables on-chain con pruebas criptográficas. Ningún actor puede predecir ni manipular el resultado del sorteo. Los premios se acreditan a cada ganador y se reclaman activamente (patrón pull-payment): esto evita que un único ganador con problemas para recibir fondos pueda bloquear la liquidación del sorteo para el resto de participantes.
Mecánica por niveles: mientras el TVL del protocolo sea inferior a 100.000.000 USDC, un único ganador se lleva el 100% del Reward Pool. A partir de ese umbral se activa el sorteo multinivel: 1 primer premio (50% del pool), 2 segundos premios (30% repartido) y 3 terceros premios (20% repartido). El ganador de un nivel queda excluido de los niveles siguientes en la misma ronda. Por razones de coste de gas dentro del callback de Chainlink VRF, el número de participantes procesados por ronda tiene un techo de seguridad ajustable por gobernanza.
3. Mecánica Económica
3.1 Modelo de captación de capital
N0Loss no cobra comisión de entrada ni de salida. El protocolo captura valor exclusivamente a través del spread entre el rendimiento generado y el rendimiento distribuido a usuarios (parámetro β de Treasury). Los costes operativos (desarrollo, auditorías, infraestructura, bug bounty) se financian mediante capital de inversores, independientemente del split de yield — esto evita que el protocolo dependa del propio yield durante la fase de bajo TVL inicial.
| Parámetro | Valor |
|---|---|
| Activos aceptados | USDC (Circle) en el lanzamiento; EURC (Circle Europe) en fase posterior |
| Depósito mínimo | 10 USDC |
| Depósito máximo por usuario | 100.000 USDC (fase inicial, ajustable por gobernanza) |
| Duración del ciclo | 7 días |
| Retiro | Libre en cualquier momento del ciclo; re-depósito bloqueado hasta el siguiente ciclo completo tras cualquier retiro |
| Red de despliegue | Polygon PoS (gas subsidiado por el protocolo) |
3.2 Fuentes de rendimiento
En Fase 1, el YieldManager mantiene un colchón de liquidez (propuesta inicial: 30% del capital bajo gestión, a recalibrar con datos reales de patrones de retiro) y despliega manualmente el resto a Ondo Finance (OUSG), respaldado por T-Bills de EE. UU. a través del BlackRock USD Institutional Digital Liquidity Fund (BUIDL). En Fase madura (>100M USDC TVL), el protocolo diversificará entre múltiples emisores de RWA.
3.3 Distribución del yield
Al cierre de cada ciclo semanal, el rendimiento se distribuye en tres destinos:
- 70% Reward Pool — financia los premios del sorteo semanal
- 15% Tesorería — acumula balance ciclo a ciclo para operación futura del protocolo
- 15% LP Incentive Pool — paga a los Liquidity Providers, proporcional a su aportación
3.4 Ejemplo numérico detallado
Ejemplo ilustrativo con TVL = 100.000 USDC y APR efectivo (media móvil 4 semanas, Ondo OUSG) del 4.5%:
| Concepto | Cálculo | Resultado |
|---|---|---|
| TVL del protocolo | — | 100.000 USDC |
| APR efectivo (media móvil 4 sem.) | Ondo OUSG | 4.50% |
| Yield semanal bruto | 100.000 × 4.5% × (7/365) | 863.01 USDC |
| Reward Pool (70%) | 863.01 × 0.70 | 604.11 USDC |
| Treasury (15%) | 863.01 × 0.15 | 129.45 USDC |
| LP Incentive Pool (15%) | 863.01 × 0.15 | 129.45 USDC |
| Premio al ganador (semana) | Único ganador (TVL < 100M USDC) | 604.11 USDC |
| Capital de depositantes | Protegido salvo evento excepcional | 100.000 USDC |
Tabla 3. Ejemplo numérico con TVL = 100.000 USDC y APR = 4.5%.
Ana —con 100 USDC depositados— tiene probabilidad ≈ 0.1% de ganar (antes de aplicar el Reputation Score). Si gana, obtiene 604 USDC sobre 100 USDC de depósito. Si no gana, recupera sus 100 USDC íntegros.
4. Sistema de Reputación e Identidad
El Reputation Score introduce una dimensión de mérito a la mecánica de sorteo. En lugar de una lotería puramente aleatoria ponderada solo por depósito, el sistema captura comportamientos que el protocolo quiere incentivar: fidelidad a largo plazo y volumen de capital relativo.
4.1 Estructura del Reputation Score
El Reputation Score se compone de tres factores, cada uno normalizado a una escala comparable para que los pesos controlen su influencia relativa de forma estable, independientemente de cuántos participantes o ciclos lleve operando el protocolo:
CapitalScore_i = tickets_i / (tickets_totales / participantes_totales)
TimeScore_i = ciclos_consecutivos_i (sin tope máximo)
LoyaltyScore_i = ciclos_totales_participados_i / ciclos_totales_del_protocolo
Score_i = 0.70 × CapitalScore_i + 0.20 × TimeScore_i + 0.10 × LoyaltyScore_iEcuación 3. Composición del Reputation Score de un usuario.
| Componente | Definición | Peso |
|---|---|---|
| Capital Score | Tickets del usuario, relativo a la tenencia promedio de todos los participantes activos | 70% |
| Time Score | Ciclos consecutivos participando sin interrupción (retiro). Sin tope máximo — crece linealmente | 20% |
| Loyalty Score | Ciclos totales participados a lo largo de la vida del protocolo, con o sin interrupciones | 10% |
Tabla 4. Componentes del Reputation Score y pesos.
Capital Score se mide en relación al promedio de tenencia entre todos los participantes, no como fracción lineal del depósito máximo del protocolo: un usuario con tenencia exactamente promedio puntúa como referencia base, y esa base no cambia aunque el protocolo crezca en número de participantes. Time Score no tiene tope: cada ciclo consecutivo adicional suma linealmente, de modo que la continuidad de un usuario antiguo puede pesar tanto como el capital de un usuario varias veces por encima del promedio.
Si un usuario retira capital, su Time Score se reinicia a cero (la racha se rompe); su Loyalty Score no retrocede, solo deja de avanzar mientras el usuario esté excluido del sorteo. Un usuario sin capital efectivo participando (por estar en el período de exclusión tras un retiro) tiene Score igual a cero, sin excepciones.
4.2 Impacto en probabilidades de sorteo
El Reputation Score es el único factor que determina la probabilidad de ganar. Dos usuarios con el mismo depósito pero distinta antigüedad tendrán probabilidades diferentes, creando un incentivo natural para la retención de capital a largo plazo.
En versiones futuras, el Reputation Score podrá utilizarse también para gobernanza ponderada, acceso a pools de mayor rendimiento o condiciones preferenciales en nuevos productos del ecosistema N0Loss.
5. Seguridad y Gestión de Riesgos
La gestión de riesgos es el eje central del diseño de N0Loss. El compromiso con los usuarios —capital protegido salvo eventos excepcionales— requiere mecanismos robustos para identificar, mitigar y absorber riesgos en todos los niveles del stack.
5.1 Riesgos de protocolo
| Riesgo | Descripción | Mitigación |
|---|---|---|
| Smart contract exploit | Vulnerabilidad en código de contratos | Auditoría de seguridad interna completada (ver 5.3); mínimo 2 auditorías externas antes de mainnet + bug bounty |
| Yield collapse | Caída sostenida del APR de OUSG (política monetaria) | Media móvil de suavizado (4 sem.) + diversificación en fase madura |
| Oracle manipulation | Manipulación de la aleatoriedad del sorteo | Chainlink VRF v2.5 |
| Governance attack | Control malicioso por actor mayoritario | Timelocks + multisig en fase inicial |
| Concentración RWA | 100% del TVL en único emisor (Ondo) en Fase 1 | Transición obligatoria a diversificación RWA al alcanzar 100M USDC TVL |
| Oráculo de precio centralizado (NAV de OUSG) | El valor de OUSG bajo gestión se actualiza manualmente por gobernanza, sin oráculo on-chain automático | Registro de timestamp de última actualización para detectar valores obsoletos; requiere multisig + monitoreo activo hasta integrar un oráculo verificado |
| Desfase de liquidez Vault↔Ondo | Las redenciones no-instantáneas de Ondo tardan 1-2 días hábiles, mientras que el Vault permite retiro instantáneo | Colchón de liquidez (USDC no desplegado) dimensionado y vigilado por gobernanza; rebalanceo manual en Fase 1 |
Tabla 5. Matriz de riesgos y mitigaciones del protocolo N0Loss.
5.2 Riesgos de contraparte
El protocolo delega en Ondo Finance (OUSG), respaldado por BlackRock BUIDL, con activos custodiados y legalmente segregados del balance operativo de Ondo. En Fase 1 esto representa una concentración del 100% del TVL en un único proveedor. El protocolo se compromete a diversificar al alcanzar 100.000.000 USDC de TVL.
El acceso a OUSG requiere que la entidad operadora de N0Loss complete un proceso de onboarding institucional como "Accredited Investor" / "Qualified Purchaser" ante Ondo Finance — un requisito legal y de compliance, no técnico, que debe completarse antes de operar en mainnet con fondos reales. A la fecha de este documento, dicho proceso no se ha iniciado.
5.3 Auditorías y transparencia
Los contratos core del protocolo (Vault.sol, DistributionEngine.sol, YieldManager.sol, Treasury.sol, Reputation.sol) han completado una auditoría de seguridad interna, con hallazgos categorizados por severidad y corregidos donde aplicaba código — incluyendo la corrección de un hallazgo crítico relacionado con el cálculo del precio de la share del Vault, y la implementación de un patrón de pago por reclamo (pull-payment) para los premios del sorteo, entre otras mejoras. La suite de tests del protocolo pasa en su totalidad.
Antes del lanzamiento en mainnet, N0Loss someterá sus contratos a un mínimo de dos auditorías independientes adicionales por firmas especializadas en seguridad DeFi. Se implementará un programa de bug bounty con recompensas de hasta 100.000 USDC para vulnerabilidades críticas.
Todos los flujos de capital —depósitos, rendimientos, distribuciones y retiros— son verificables on-chain en tiempo real. El protocolo publicará dashboards de transparencia con actualizaciones en cada bloque.
El marco de compliance regulatorio (tratamiento legal de "lotería" según jurisdicción, requisitos de KYC/AML, restricciones geográficas derivadas del uso de OUSG) permanece como un trabajo abierto, a definir con asesoría legal especializada antes del lanzamiento en mainnet.
6. Smart Contracts
N0Loss está implementado en Solidity sobre la EVM, para despliegue en Polygon PoS. Los seis contratos core descritos a continuación están implementados y han pasado la auditoría de seguridad interna descrita en la Sección 5.3.
Vault.sol — ERC-4626 Tokenized Vault
- Funciones: deposit, withdraw, mint, redeem, totalAssets, convertToShares
- Acceso: depósito permissionless; retiro libre en cualquier momento, con bloqueo de re-depósito y de participación en el sorteo hasta el siguiente ciclo completo tras cualquier retiro
- Eventos: Deposit, Withdraw, TicketsMinted, TicketsBurned, ParticipationSuspended
YieldManager.sol — Gestión de yield vía Ondo Finance (OUSG)
- Implementa la interfaz IYieldStrategy para extensibilidad hacia múltiples emisores RWA
- Rebalanceo manual (v1) y automático entre emisores RWA (fase madura)
- Colchón de liquidez ajustable por gobernanza, para servir retiros del Vault sin depender de los tiempos de liquidación de Ondo
- Acceso: solo Vault.sol puede llamar a deposit/withdraw de estrategias
Treasury.sol — Distribución del rendimiento semanal
- Recibe el yield bruto de YieldManager al cierre de cada ciclo (media móvil 4 semanas)
- Implementa la lógica de split α/β/γ configurable por gobernanza
- Gestiona la transferencia al LP Incentive Pool (γ) para recompensas de aporte de liquidez
- Mecanismo de reintento si DistributionEngine no puede iniciar la ronda de inmediato, sin bloquear el registro de la media móvil semanal
DistributionEngine.sol — Motor de sorteo ponderado
- Solicita número aleatorio a Chainlink VRF v2.5 al inicio de cada sorteo
- Calcula el ganador mediante algoritmo de selección ponderada (Ecuación 2)
- Comprueba el TVL frente al umbral de 100M USDC para determinar sorteo uninivel o multinivel
- En modo multinivel, excluye a cada ganador de los niveles subsiguientes en la misma ronda
- Los premios se acreditan y se reclaman activamente (pull-payment), no se transfieren automáticamente
- Eventos: RoundStarted, WinnerSelected, TierThresholdReached, PrizeAccrued, PrizeClaimed
Reputation.sol — Sistema de reputación de tres factores
- Calcula Score_i según la Ecuación 3 (Capital, Continuidad, Lealtad)
- Registra la participación de cada usuario por ciclo, alimentado por DistributionEngine.sol
- Pesos configurables por gobernanza, sujetos a que sumen 100%
LPPool.sol — Pool de Liquidity Providers En diseño
- Contrato separado del Vault, donde los Liquidity Providers depositan capital dedicado a reforzar el colchón de liquidez de YieldManager
- No participa en el sorteo; recibe en su lugar el reparto proporcional del LP Incentive Pool (γ) en cada ciclo
- Pendiente de especificación final (plazo de lock-up, depósito mínimo, relación exacta con YieldManager.sol) antes de su implementación
7. Gobernanza
En la fase inicial (MVP), N0Loss operará bajo un modelo de gobernanza centralizado controlado por el equipo fundador mediante un multisig 3/5. Todos los cambios de parámetros estarán sujetos a un timelock de 48 horas, durante el cual los usuarios pueden revisar y retirar fondos si discrepan con la modificación propuesta.
Parámetros controlados por gobernanza en fase inicial:
- Pesos del split de yield (α, β, γ)
- Depósito máximo por usuario
- Frecuencia de los sorteos
- Lista de emisores RWA autorizados
- Pesos del Reputation Score
A partir de que el TVL del protocolo alcance 100.000.000 USDC, los parámetros del sorteo multinivel (umbral, número de niveles, porcentajes de reparto) pasan a estar sujetos a votación de la futura DAO de gobernanza, en lugar de decisión unilateral del multisig fundador.
Gobernanza descentralizada (Fase 4 post-MVP): una vez que el protocolo haya alcanzado masa crítica de usuarios y haya demostrado su seguridad en producción, la gobernanza migrará hacia un modelo DAO con voting ponderado por Reputation Score. No se prevé token de gobernanza en el corto plazo, para evitar dinámicas especulativas que distorsionen el foco en la propuesta de valor central.
8. Hoja de Ruta
| Fase | Estado | Hitos principales |
|---|---|---|
| Fase 0 — Validación | Completada | Landing page + whitepaper · Lista de espera · Feedback de usuarios potenciales |
| Fase 1 — Núcleo MVP | Completada | Vault.sol, YieldManager.sol, DistributionEngine.sol, Treasury.sol y Reputation.sol implementados · Auditoría de seguridad interna completada (65/65 tests) · Chainlink VRF integrado |
| Fase 2 — Verificación externa | En curso | Onboarding KYC institucional con Ondo Finance · Mínimo 2 auditorías externas independientes · LPPool.sol · Testnet pública en Polygon |
| Fase 3 — Lanzamiento | Planificada | Governance.sol (multisig + timelock) · Mainnet Polygon (beta cerrada) · Frontend dashboard completo · Soporte MetaMask + WalletConnect |
| Fase 4 — Escala | Planificada | Gobernanza DAO · Diversificación RWA (>100M USDC TVL) · Sorteo multinivel activo · Nuevos activos (EURC) |
Tabla 6. Hoja de ruta del protocolo N0Loss (estimaciones sujetas a revisión).
9. Referencias
- [1] Tufano, P. (2008). "Saving whilst Gambling: An Empirical Analysis of UK Premium Bonds." American Economic Review, 98(2), 321–326.
- [2] Cole, S., Sampson, T., & Zia, B. (2011). "Prices or Knowledge? What Drives Demand for Financial Services in Emerging Markets?" Journal of Finance, 66(6), 1933–1967.
- [3] PoolTogether Inc. (2021). "PoolTogether V4 Protocol Specification." github.com/pooltogether/v4-core.
- [4] Circle Financial. (2024). "USD Coin (USDC): Technical Documentation and Reserves." circle.com/en/usdc.
- [5] Ethereum Foundation. (2022). "ERC-4626: Tokenized Vault Standard." eips.ethereum.org/EIPS/eip-4626.
- [6] Chainlink Labs. (2023). "Verifiable Random Function (VRF) v2.5 Documentation." docs.chain.link/vrf.
- [7] Ondo Finance. (2026). "OUSG — Ondo Short-Term US Government Treasuries Fund." ondo.finance/ousg.
- [8] BlackRock. (2024). "USD Institutional Digital Liquidity Fund (BUIDL)." blackrock.com.
- [9] NS&I. (2024). "Premium Bonds: Annual Report 2023–24." nsandi.com/premium-bonds.
- [10] OpenZeppelin. (2024). "Contracts v5.0: Security and Best Practices." docs.openzeppelin.com/contracts/5.x.
- [11] Polygon Labs. (2024). "Polygon PoS Documentation." docs.polygon.technology.