Protocol flow

How it works

Every mint is a Uniswap v4 swap with hookData.

_01
Connect Wallet
Connect through MetaMask or WalletConnect to authorize the swap transaction.
MetaMask / WC
_02
Swap
The frontend submits a Uniswap v4 swap through a custom router on Ethereum.
Custom Router
_03
hookData
The transaction carries encoded inscription data: op=MINT, ticker=UNI20, amount=1000.
JSON encoded
_04
Hook Execution
The v4 hook validates payment, ticker, and remaining supply before proceeding.
ERC-1155
_05
Minted
The hook emits a Minted event and credits 1000 UNI20 to your wallet address.
inscription event
Connect WalletSwaphookDatav4 HookMinted EventUNI20 Balance

Protocol spec

Protocol manifest

The full config — onchain by design.

uni20.config.json
{
"name": "UNI20",
"protocol": "Uniscribe",
"base": "Uniswap v4 hooks",
"standard": "UNI-20",
"storage": "ERC-1155",
"ticker": "UNI20",
"maxSupply": "21,000,000",
"mintPerCall": "1,000",
"price": "0.0005 ETH",
"input": "hookData",
"output": "Minted event"
}

Contract notes

Mint is triggered by Uniswap v4 hookData, not a direct contract call.
The hook uses tx.origin to identify the swapper — EOAs only.
Balances stored as ERC-1155 inscription amounts (whole numbers, 0 decimals).
No approval or separate step required — swap is the mint.
Each successful mint emits a Minted inscription event onchain.
Hook-nativeUNI-20ERC-1155EOA only