● Pre-launch · v0 docs · mainnet contracts not yet deployed

Prism // docs.

Prism is an on-chain registry pioneering the ERC-7730 Clear-Signing standard. It turns opaque calldata into human-readable transactions across wallets, custodians, and exchanges. These docs cover the protocol, the $PRISM token, the V4 hook, and how to integrate.

// One-line framing

Prism is an ERC-7730 protocol with an ERC-20 governance token. ERC-20 is the token interface; ERC-7730 is the off-chain JSON metadata standard for clear-signing. Prism the protocol implements the latter — it is the on-chain registry, staked-auditor network, and slashing infrastructure that makes ERC-7730 work in production.

The ERC-7730 standard

ERC-7730 is a draft Ethereum standard (proposed in 2024 by Ledger as part of the Clear Signing initiative) that defines a JSON schema for describing what a smart-contract call actually does in plain language. Each descriptor maps a contract address + function selector to a human description plus per-field formatting rules.

Before clear signing

0xa9059cbb000000000000000000000000d8da6bf26964af9d7e
ed9e03e53415d37aa96045000000000000000000000000000000
00000000000000000003782dace9d900000

No one — not even auditors — reads that by eye. Phishing kits thrive in this gap.

After clear signing

Action      Transfer USDC
Amount      64.00 USDC
To          vitalik.eth
Contract    USDC (verified)
Descriptor  prism://usdc/transfer

A signed ERC-7730 descriptor lives in Prism's registry. Wallets fetch it, verify the keccak-256 hash against the on-chain anchor, and render plain text.

Wallet integrators — quickstart

To render a transaction with Prism descriptors, a wallet performs three steps:

  1. Read PrismRegistry.latestDescriptor(chainId, target, selector) for the call being signed.
  2. Fetch the descriptor JSON from the returned uri (IPFS / Arweave / HTTPS).
  3. Recompute keccak256(canonical(JSON)) and compare to the on-chain hash. If they match, render using the descriptor's display.formats.

SDKs and reference integrations are in progress. Until then, the publish flow is documented in github.com/prism-protocol.

Architecture

The mainnet protocol is intentionally minimal — four immutable contracts with no upgrade proxies:

LayerContractResponsibility
TokenPRISM.solERC-20 + Permit + Votes, hard-capped at 1B
RegistryPrismRegistry.solAppend-only anchor for descriptor hashes
StakingPrismStaking.solAuditor bonding, challenges, slashing
HookPrismHook.solUniswap V4 hook — 10/10 launch tax → 1/1 steady, ETH-only fees

Off-chain ERC-7730 descriptor JSONs live on IPFS / Arweave / HTTPS and are referenced by URI in the registry. The on-chain hash is the canonical anchor; wallets verify before rendering.

Contracts

PRISM token

Standard ERC-20 with EIP-2612 permit and Compound-style governance votes. One-shot mintTGE mints the full 1B supply to a distributor Safe; ownership is renounced post-distribution so the token is forever immutable. No minter, no pause, no blacklist.

PrismRegistry

Maps (chainId, target, selector) → versioned list of descriptor anchors. Writes gated by the staking contract via IAuditorGate.isAuditor. Revocation is a soft flag set by the staking module during slashing; historical entries remain queryable for audit replay.

PrismStaking

Auditors bond at least minStake PRISM to qualify as publishers. Anyone can file a challenge within the fraudWindow by posting challengeBond PRISM. The arbiter multisig resolves; if upheld, the auditor is slashed and the descriptor revoked.

Staking & slashing

The cryptoeconomic security model:

ParameterDefaultPurpose
minStake50,000 PRISMminimum bond to qualify as an auditor
withdrawalDelay14 daysunbonding delay; keeps stake slashable
fraudWindow7 dayswindow during which descriptors can be challenged
challengeBond5,000 PRISMchallenger's bond; refunded if upheld

All four are governor-tunable. Slashed PRISM flows to the treasury Safe.

Uniswap V4 hook

The PrismHook attaches to the canonical PRISM/ETH pool and implements a two-phase, snipe-resistant launch profile. All parameters are immutable — there is no admin, no pause, no upgrade path.

Phase 1 — launch window (10 minutes after enableTrading())

The 10-minute clock does not start at TGE mint. It starts when PRISM.enableTrading() is called, which is the same transaction that lifts the pre-launch transfer lock. The deployer calls it immediately after the V4 pool's LP is seeded, so the cliffs align with real-world trading.

  • 10% tax applied to both buys and sells, paid to the treasury.
  • Max-tx cap of 0.5% of the LP (= 750,000 PRISM ≈ 0.0163 ETH ≈ $37 at $2,300/ETH) on either side. Enforced in the V4 hook — swaps over the cap revert.
  • Max-wallet cap of 2% of the LP (= 3,000,000 PRISM ≈ $150 at launch price). Enforced in the PRISM ERC-20 itself via the _update override — receiving more than this during the window reverts. Auto-disables when the window expires.

Phase 2 — steady state (forever after the window expires)

  • 1% tax on both directions, paid to the treasury.
  • No caps. No revert paths. Aggregator-friendly.
// Why the treasury never sells on the chart

The hook is dual-sided: buy fees are skimmed from input ETH in beforeSwap; sell fees are skimmed from output ETH in afterSwap. The treasury only ever receives ETH. The protocol never needs to convert PRISM → ETH on its own behalf, so there are zero "contract is selling" candles.

Tokenomics

AllocationShareAmountNotes
Ecosystem & Auditors30%300,000,000rewards for honest publishers
Community & Airdrops22%220,000,000early supporters, retroactive drops
Treasury18%180,000,000controlled by governance
Team15%150,000,0004-year linear vest
Liquidity Pool15%150,000,000single-sided V4 LP seed (PRISM/ETH)

Launch parameters

Assumes ETH at $2,300 at TGE. Rebalance the ETH-side numbers if the price moves materially before launch.

ParameterValue
Starting market cap~$50,000 FDV
Starting price$0.00005 / PRISM (≈ 0.0000000217 ETH)
LP seed150,000,000 PRISM (the full 15% LP bucket), single-sided
LP rangeup to 20× initial price ($1M FDV cap)
Launch window10 minutes
Launch tax10% buy + 10% sell → treasury
Steady-state tax1% buy + 1% sell → treasury, forever
Max tx (launch window)750,000 PRISM (0.5% of LP) ≈ 0.0163 ETH ≈ $37
Max wallet (launch window)3,000,000 PRISM (2% of LP) ≈ $150 at launch price

Addresses

Filled in once the deploy completes on each network.

Ethereum mainnet (chainId 1)

ContractAddress
PRISM tokenTBD — not yet deployed
PrismRegistryTBD
PrismStakingTBD
PrismHookTBD
V4 Pool (PRISM/ETH)TBD

Sepolia testnet (chainId 11155111)

ContractAddress
PRISM tokenTBD — deploy in progress
PrismRegistryTBD
PrismStakingTBD
PrismHookTBD

Integrate

If you are a wallet, custodian, exchange, or dApp builder and you want to render Prism-published descriptors:

  • Read PrismRegistry.latestDescriptor(chainId, target, selector) on Ethereum L1.
  • Fetch the JSON at the returned URI.
  • Verify the keccak-256 hash matches the on-chain anchor.
  • Render the call using the descriptor's display.formats entries.

Reach out at integrations@prism7730.xyz if you want help shipping a first integration.

Audits

Audit reports will be published here before mainnet liquidity is added. Targeted audit scope:

  • PRISM.sol, PrismRegistry.sol, PrismStaking.sol — core protocol
  • PrismHook.sol — V4 hook, separate report

Auditors: TBD. Expected publication: pre-mainnet.

Brand kit

Logos, color palette, and typography for press, integrations, and ecosystem partners. Coming soon.

FAQ

Is $PRISM an ERC-7730 token?

No — there is no such thing. ERC-7730 is a metadata standard, not a token standard. $PRISM is a regular ERC-20 token. It happens to be the governance token of a protocol that implements ERC-7730.

Why does the registry only store the hash, not the descriptor itself?

On-chain storage is expensive; descriptor JSONs are tens of KB. We anchor the keccak-256 hash on-chain and host the JSON off-chain. Wallets re-hash on fetch to verify authenticity.

What stops auditors from publishing wrong descriptors?

Skin in the game. Auditors bond PRISM that can be slashed via the challenge/arbiter flow within the 7-day fraud window. Bad publishes cost real money.

Why two phases on the hook?

Phase 1's high tax and per-tx cap deter bots and snipers at TGE. Phase 2's low tax and removed caps make the pool aggregator-friendly forever after.

Can the hook parameters change?

No. The hook is immutable. To change anything, deploy a new pool.

Is the LP locked?

The LP NFT is held in the deployer EOA. It is not lock-contract-protected; standard token-info trackers may flag this. See the Tokenomics section.