Appearance
This is the canonical protocol Terms of Use. Its SHA-256 hash —
ea2f811bd00f54d5851cfa3d2c6d7308630940d15d02337f8dbb18eac7f51cb2— is what wallets acknowledge on-chain, and what the SDKs verify before displaying it.
vrand Protocol — Terms of Use
Version 1 — 2026-08-11
These Terms of Use ("Terms") govern every interaction with the vrand verifiable-randomness protocol (the "Protocol"): the on-chain program, the prover network, the client libraries, and any interface published by the Protocol's maintainers (together, the "Maintainers"). The Protocol records your acceptance on-chain: a wallet must submit an acknowledge_terms transaction referencing the hash of this exact document before the Protocol will accept value-bearing instructions from it. Signing that transaction is your binding agreement to everything below. Any other use of the Protocol — including interactions that are not technically gated — likewise constitutes acceptance.
1. What the Protocol is
The Protocol is experimental, autonomous smart-contract software that delivers publicly verifiable random values on the Solana blockchain. It is infrastructure, not a financial product: it takes no deposits, holds no user funds beyond per-request fee escrow, pays no yield, and offers nothing for investment. Provers post a performance bond that the code — not any person — may forfeit under conditions fixed in the program.
2. THE CODE IS THE AGREEMENT
The deployed on-chain program is the sole and final authority on what the Protocol does. Documentation, this document included, is a best-effort description and creates no obligation that the code does not itself enforce. If any description conflicts with the deployed code, the code governs. You are responsible for reading, or having someone competent read, the code before you rely on it.
3. NO WARRANTY
THE PROTOCOL IS PROVIDED "AS IS" AND "AS AVAILABLE", WITH ALL FAULTS AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE — INCLUDING WITHOUT LIMITATION ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, ACCURACY, AVAILABILITY, DELIVERY OF ANY RANDOM VALUE WITHIN ANY TIME, OR THAT THE SOFTWARE IS FREE OF DEFECTS OR VULNERABILITIES. NO ORAL OR WRITTEN STATEMENT BY ANY MAINTAINER CREATES A WARRANTY.
4. ASSUMPTION OF RISK — ALL RISK IS YOURS
You use the Protocol entirely at your own risk. You acknowledge and accept, without limitation, each of the following:
- Total loss. Any value you place under the Protocol's control — fees, prover bonds, or funds in applications built on it — can be lost entirely, including through defects in the Protocol itself.
- Smart-contract risk. The code may contain errors. Audits, where performed, reduce risk and eliminate none of it.
- Novel cryptography. The Protocol uses a custom VRF ciphersuite (VRAND-R255-TAI). It is differentially tested against a reference implementation but is not a standardized suite.
- Pre-publication visibility ("peek"). Until threshold proving is deployed and shares are distributed across independent parties, the prover a request is pinned to can compute the outcome before publishing it. The Protocol makes non-delivery costly; it cannot prevent a prover from knowing an outcome early. Do not build anything whose security assumes otherwise.
- Economic-security limits. Slashing compensates a declared at-risk amount and no more. The deterrent is real only where the compensation destination is economically independent of the prover's operator, which the Protocol cannot verify. Consumers must carry their own backstop or verify independence themselves.
- Prover risk. If you operate a prover: your bond is forfeitable by permissionless instruction under code-defined conditions, including outages entirely outside your control (infrastructure failure, RPC failure, Solana congestion or halt). Registration is acceptance of those conditions.
- Blockchain risk. Solana may halt, fork, reorder or censor transactions, or change behavior under protocol upgrades. Fee markets may make timely interaction uneconomical or impossible.
- Key risk. Whoever controls your key is you, as far as the Protocol can see. Lost or stolen keys are unrecoverable; no Maintainer can reverse any transaction.
- Immutability risk. Parameters may be frozen, and administrative keys may be reduced or renounced over time. Defects discovered after such steps may be permanently unfixable.
5. Eligibility and sanctions
By interacting with the Protocol you represent, warrant and covenant, on each interaction, that:
- you are of legal age and have full capacity to contract in your jurisdiction;
- you are not a person or entity subject to sanctions administered by the United States (including the OFAC SDN and Consolidated lists), the European Union, the United Kingdom, or the United Nations, and you are not owned or controlled by, or acting for, any such person;
- you are not located in, organized in, or a resident of any comprehensively embargoed jurisdiction;
- your use of the Protocol is lawful where you are, and you have satisfied yourself of that — determining legality in your jurisdiction is your responsibility alone, and no Maintainer makes any representation about it; and
- you are acting for yourself and not to circumvent any restriction that applies to another person.
6. No custody, no fiduciary, no advice
The Protocol is not a custodian, bank, broker, exchange, gambling operator, or money transmitter. No Maintainer is your fiduciary, agent, or adviser. Nothing produced by the Protocol or its Maintainers is legal, financial, tax, or investment advice. Applications built on the Protocol are the sole responsibility of their own operators, including all licensing and regulatory compliance; the Protocol supplies them nothing but verifiable random numbers.
7. Fees and taxes
Request fees are set by on-chain parameters, visible before you transact, escrowed per request, and paid to provers on delivery. All fees paid to a prover are final upon delivery. All taxes arising from your use of the Protocol are yours.
8. LIMITATION OF LIABILITY
TO THE MAXIMUM EXTENT PERMITTED BY LAW: (a) IN NO EVENT WILL ANY MAINTAINER BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY OR PUNITIVE DAMAGES, OR FOR ANY LOSS OF PROFITS, REVENUE, DATA, GOODWILL OR DIGITAL ASSETS, ARISING FROM OR RELATING TO THE PROTOCOL, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY, EVEN IF ADVISED OF THE POSSIBILITY; AND (b) THE AGGREGATE LIABILITY OF ALL MAINTAINERS FOR ALL CLAIMS RELATING TO THE PROTOCOL WILL NOT EXCEED THE GREATER OF (i) THE PROTOCOL FEES YOU PAID IN THE THREE (3) MONTHS BEFORE THE EVENT GIVING RISE TO THE CLAIM AND (ii) ONE HUNDRED UNITED STATES DOLLARS (US$100). SOME JURISDICTIONS DO NOT ALLOW CERTAIN EXCLUSIONS; WHERE A TERM CANNOT LAWFULLY APPLY TO YOU IT APPLIES TO THE MAXIMUM EXTENT PERMITTED.
9. Indemnification
You will defend, indemnify, and hold harmless the Maintainers and their affiliates and contributors from any claim, damage, loss, or expense (including reasonable legal fees) arising out of your use of the Protocol, your violation of these Terms, your violation of law or the rights of any third party, or any application you build on or operate against the Protocol.
10. Changes to these Terms
The Terms may be revised. Each revision carries a new version number and hash, published on-chain. Gated instructions require a wallet's recorded acknowledgment to match the current version, so continued gated use after a revision requires — and constitutes — acceptance of the revision. In-flight requests resolve under the code's own snapshotted rules regardless.
11. General
These Terms are the entire agreement between you and the Maintainers about the Protocol and supersede all prior statements. If any provision is held unenforceable, the remainder stands, and the provision applies to the maximum enforceable extent. No failure to enforce is a waiver. You may not assign these Terms; they bind your successors. Nothing here creates any partnership, joint venture, or employment relationship, or any obligation on any Maintainer to operate a prover, maintain an interface, or continue developing the Protocol.
Canonical hash: sha256 over the exact bytes of this file. Compute it with scripts/terms-hash.sh. The on-chain TermsState account carries the authoritative current hash and version.