Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Veilify home pagelight logodark logo

    Developer Guide

    • Prerequisites
    • Local Setup
    • Repository Structure
    • Deploying to Robinhood
    • Integration Checklist

    Appendix

    • Glossary
    • Constants
    • FAQ
    • Glossary
    • FAQ
    Documentation
    Token
    Protocol
    Smart Contracts
    RPC API
    Developers
    Veilify home pagelight logodark logo
    • Glossary
    • FAQ
    Documentation
    Token
    Protocol
    Smart Contracts
    RPC API
    Developers
    Appendix

    Glossary

    Terms used throughout the Veilify docs.

    TermDefinition
    NoteA private UTXO: an encrypted value container owned by an inbox key
    Note commitmentPoseidon2(rkCommitment, valueCommitment, nullifiersHash). The only public trace of a note.
    Note nullifierPoseidon2(commitment, nk). Published when the note is spent.
    Transaction nullifierPoseidon2(nk, nonce·2³² + chainId, rkHash). Stops replay of a signed transaction.
    Nullifiers hashHash of the six input nullifiers, bound into every output commitment
    Viewing key(pk, nk, ivk, ovk), derived from a wallet signature. Reads, never spends.
    Inbox key(pk, keyData, pnk, ek), registered on-chain once
    Nullifying key (nk)Secret used to derive nullifiers
    Public nullifying key (pnk)Poseidon2(nk)
    Incoming viewing key (ivk)Decrypts incoming notes
    Outgoing viewing key (ovk)Recovers notes you sent
    Encryption key (ek)Grumpkin point ivk · G
    veiled balanceSum of your unspent notes. Also called veiled balance.
    DepositDeposit public funds into the pool
    Private transferPrivate payment between inbox keys
    Private withdrawalExit to a public address. Amount and recipient are public.
    Private swapSwap through a Uniswap V2 router inside the pool
    Instant withdrawalProven and sent immediately
    Round withdrawalQueued and sent at a round
    RoundA scheduled departure time for Round withdrawals
    Join cutoffMinutes before a round after which new withdrawals roll to the next round
    Staggered withdrawalOne exit divided into up to five independently scheduled legs
    IntentA prepared withdrawal returned by veilify_prepareWithdrawal
    Gas reserveNative amount set aside per Round leg
    Veilify NetworkThe virtual EVM network your wallet signs for
    Virtual chain IDChain ID of Veilify Network. VIRTUAL_CHAIN_ID in the contract.
    Settlement chainRobinhood Chain, where the pool lives
    RPC proxyThe Veilify Network endpoint
    RelayerAllowlisted submitter that pays gas and collects the proven fee
    GatekeeperService that screens and approves or rejects deposits
    Gas escrowETH sent with a deposit to pay the gatekeeper’s gas
    Trace keyGatekeeper-chosen key bound into a deposit note, for retrospective taint recovery
    Pull intentEIP-712 consent letting the gatekeeper pull an ERC-20 deposit
    Privacy poolThe Veilify pool contract
    LeanIMTLean Incremental Merkle Tree, depth ≤ 32
    Poseidon2 T4ZK-friendly hash used for commitments and trees
    BN254Pairing curve for proofs
    GrumpkinCurve over BN254’s scalar field, used for note encryption
    UltraHonkProof system (Barretenberg)
    NoirCircuit language
    UUPSUpgrade pattern where the implementation authorizes upgrades
    Faerie Gold attackCreating two identical notes so only one can be spent. Prevented by nullifiersHash.
    Trial decryptionTrying every new note with your ivk to find yours
    Previous
    Constants
    Fixed values in the contracts, and reference policy values.
    Next
    ⌘I
    Veilify home pagelight logodark logo
    x

    Documentation

    Protocol introductionGetting StartedWithdrawal Rounds

    Build

    Contract ReferenceRPC APIDeploying to Robinhood

    Robinhood Chain

    Network docsMainnet explorerTestnet faucet
    x
    Powered byThis documentation is built and hosted on Mintlify, a developer documentation platform