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 Wallet→Swap→hookData→v4 Hook→Minted Event→UNI20 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