Hanami花見

An AI bouncer for your whitelist.

Every bouncer iNFT mints its own seal.

Your project sets the criteria. The bouncer holds a private conversation with each applicant inside a TEE. The bouncer itself is an ERC-7857 iNFT with a generated seal.

Bouncer3
Mei-chanAoyama · 23 yrs
Seal of №3ERC-7857
花見 · №30552…a59
hover or click to flip
How it works

From persona to Merkle root in four moves.

Hanami runs the first pass on your whitelist. Your team reviews the borderline cases by hand, then drops the exported root into your existing mint contract on any EVM chain.

  1. 01
    Write the persona

    Describe the bouncer in your own voice — the values, the criteria, what makes a member. Persona is encrypted-by-tokenURI and stored on 0G Storage.

  2. 02
    Mint the bouncer

    One on-chain transaction: a new ERC-7857 iNFT on 0G Chain. You get a shareable applicant link and a procedural seal derived from the tokenId.

  3. 03
    Applicants interview

    Each applicant connects their wallet and holds a 3–6 turn private conversation with the bouncer. Inference runs inside a TEE; every verdict is on-chain with its attestation hash.

  4. 04
    Export the root

    When you're ready, finalize the campaign. You get a Merkle root + proofs. Drop the root into your mint contract on Ethereum, Base, Arbitrum, OP, or 0G.

Start with a persona →
Featured bouncers

Recent mints.

See the full gallery →
Why Hanami is on 0G

Four primitives, one tool.

The bouncer's reasoning is private but verifiable. The persona is durable. The iNFT is tradable. The Merkle root is chain-agnostic. Each piece sits on the part of 0G that fits.

0G Compute · Sealed inference

The interview runs inside a TEE

Every applicant turn is forwarded to a TEE-attested provider. The bouncer's criteria stay private — jailbreak attempts and screenshot leaks don't expose them. We verify the provider signature on every response and reject any reply that didn't pass.

0G Storage · KV + Log

Persona, lorebook, and reasoning land on 0G

The bouncer's persona prompt and reference lorebook are uploaded to 0G Storage at mint. Every approved decision's reasoning is also pinned. The encryptedPersonaURI on the iNFT points at the storage root.

0G Chain · ERC-7857 iNFT

The bouncer is its own NFT

BouncerRegistry implements ERC-7857 — the iNFT standard. Each bouncer holds a private persona pointer, accumulates a reputation score from approvals, and authorizes campaign contracts to record decisions on its behalf.

EIP-712 · Merkle export

Drops into any EVM mint

The campaign's approved list exports as a Merkle root + per-applicant proofs. Paste the root into your mint contract on Ethereum, Base, Arbitrum, Optimism, or 0G itself. One bouncer, any chain.