Settings
NovaToken NOVA
A supply-capped ERC-20 with burn, pause and gasless EIP-2612 permits — 100% written from scratch, no OpenZeppelin.
Token Actions
Transfer
Send tokens to any address.
Approve
Allow a spender to move your tokens.
Transfer From
Move tokens on behalf of someone who approved you.
Burn
Permanently destroy tokens (reduces total supply).
Burn From
Burn someone else's tokens using your allowance.
Permit EIP-2612
Gasless approval: sign a typed message in your wallet — anyone can submit it. No approve transaction needed.
Balance Checker
Read anyone's balance (no wallet needed).
Allowance Checker
Read any owner → spender allowance.
Owner Controls you are the owner
Mint
Create new tokens (hard-capped at 100M NOVA).
Emergency Pause
Freeze all token movement instantly (transfer, mint, burn, permit).
Ownership (2-step)
Nominate a new owner; they must accept. Current pending: none
Live Activity (recent events from the chain)
| Event | Details | Block | Tx |
|---|---|---|---|
| Loading… | |||
Understand this dApp (how to use it + the on-chain process)
How to use
The dApp is configured for the Sepolia testnet. Six quick steps:
- Connect your wallet — press Connect Wallet (top-right) and make sure your wallet is on Sepolia.
- Get test ETH — grab some Sepolia ETH from a faucet to pay gas, then read any balance for free with the Balance Checker card.
- Send & approve — use Transfer to send NOVA, Approve to authorize a spender, or Transfer From to spend an allowance someone gave you.
- Go gasless — in the Permit card enter a spender and value, then press Sign & Submit Permit: one signature lets anyone submit your approval for you.
- Burn tokens — Burn your own NOVA or Burn From an account that approved you; burning is permanent and lowers total supply.
- Watch the chain — the Live Activity table shows the latest 15 events (press ↻ Refresh). Owner-only cards (Mint, Pause, Ownership) only appear if you are the contract owner.
The process — what happens on-chain
Every button submits a signed transaction to the project's contracts:
- Your wallet builds a transaction against the NovaToken contract (src/Token.sol), deployed on Sepolia at 0x26b4…8B62 — you sign it and pay gas in test ETH.
- NovaToken updates its state — transfer, approve, transferFrom, burn and burnFrom edit the internal balances and allowances mappings; checked math reverts anything invalid (no funds, over the 100M cap, or paused).
- Events are recorded on-chain — NovaToken emits Transfer, Approval, Minted and Burned events, which is what the Live Activity table reads to show history.
- Owner actions route through Ownable — mint, pause/unpause and ownership changes are guarded by the onlyOwner modifier inherited from src/Ownable.sol; only the owner can call them.
- Two-step ownership — Ownable first records a pending owner when you press Nominate; the nominee must then call acceptOwnership (Accept) for the change to take effect, and renounceOwnership locks admin forever.
- Permit skips the approve tx — your wallet signs EIP-712 typed data off-chain; NovaToken.permit verifies it with ecrecover, checks the nonce and deadline, and sets the allowance in one transaction.
Flow graph
The happy path, left to right — from your wallet to on-chain events on Sepolia.