BEZ-Coin token logoBEZHAS
paidToken y tokenizaciónBásico3 min de lectura

BEZ-Coin: el token nativo

BEZCoinV2 es el token nativo del ecosistema. No es un token especulativo añadido encima de la plataforma: es el gas de la L2, el colateral de los validadores y el peso de voto de la DAO.

Ficha técnica

PropiedadValor
Nombre / símboloBeZhas Coin · BEZ
Decimales18
EstándarERC-20
ExtensionesERC20Burnable, ERC20Permit, ERC20Votes, AccessControl
Hard cap (MAX_SUPPLY)10.000.000.000 BEZ — constante, no modificable
Pre-mint en despliegue3.000.000.000 BEZ a tesorería/liquidez
Contratosmart-contracts/src/tokens/BEZCoinV2.sol

Direcciones en producción

RedDirección
Polygon (ERC-20)0xEcBa873B534C54DE2B62acDE232ADCa4369f11A8

BEZ está desplegado únicamente en Polygon. BNB Chain se conectará mediante un bridge (próximamente): no existe un contrato BEZ nativo en BNB Chain.

Las direcciones de la L2 (chainId 2708) y del resto de contratos se obtienen siempre en tiempo de ejecución vía SDK o mediante GET /api/gateway/v1/contracts/addresses. No las codifiques a mano: cambian entre despliegues y entre redes.

Los cuatro usos del token

1. Gas de la L2

La L2 está configurada con gas token personalizado (useCustomGasToken: true): las transacciones se pagan en BEZ, no en ETH. Para una empresa esto significa que el coste operativo de la red se presupuesta en un único activo.

2. Colateral de validación

Registrarse como validador exige stakear BEZ. El importe determina el tier y el multiplicador de recompensas. Ver Validadores y staking.

3. Peso de gobernanza

ERC20Votes permite delegar poder de voto sin transferir tokens:

js
// Autodelegación: sin esto tu saldo NO cuenta para votar
await bez.delegate(await signer.getAddress());

// Delegar a un tercero
await bez.delegate('0xDelegado');

El reloj de voto (clock()) opera en modo timestamp, no en número de bloque. Ver Gobernanza DAO.

4. Aprobaciones sin gas (permit)

ERC20Permit (EIP-2612) permite que un usuario firme una autorización off-chain y que un relayer o el Paymaster pague el gas de la ejecución:

js
const nonce = await bez.nonces(owner);
const deadline = Math.floor(Date.now() / 1000) + 3600;
// firma EIP-712 → luego bez.permit(owner, spender, value, deadline, v, r, s)

Es la base de los pagos gasless para empresas que no quieren gestionar saldos de gas en cada wallet.

Emisión y control de supply

mint() está restringido al rol MINTER_ROLE y valida el cap en cada llamada:

solidity
require(totalSupply() + amount <= MAX_SUPPLY, "BEZ: supply cap exceeded");

El resto del supply (por encima del pre-mint de 3B) se emite progresivamente contra operaciones reales: recompensas DePIN, staking e incentivos de red, siempre bajo el cap.

Detalle importante para integradores: la semántica de burn

BEZCoinV2 sobrescribe deliberadamente burn(), burnFrom() y bridgeBurn(). Estas funciones no destruyen tokens ni reducen totalSupply(): transfieren el importe a treasuryWallet.

Consecuencias prácticas si integras contabilidad o analítica:

  • No asumas que totalSupply() decrece tras un "burn". No lo hará.
  • Para un puente, el saldo bloqueado en la cadena destino debe cuadrar con lo recolectado en tesorería, no con una reducción de supply.
  • Si calculas supply circulante, resta explícitamente el saldo de treasuryWallet().

El nombre se conserva por compatibilidad con herramientas ERC-20, pero el comportamiento es de recolección, no de quema.

Roles del contrato

RolPuede
DEFAULT_ADMIN_ROLEGestionar roles y cambiar treasuryWallet
MINTER_ROLEEmitir hasta el cap
BRIDGE_ROLEEjecutar bridgeBurn en operaciones cross-chain

Los roles se custodian mediante multi-firma institucional y, progresivamente, bajo control del timelock de la DAO.

Ver también