Security model · beta

Read-only, by design.

What this build of Assay does, and what it never does. It reads public Solana data and shows what it read. It never asks for keys, never signs for you, never holds your tokens and takes no payments.

At a glance

Reads
Public Solana mainnet data about a token: its mint account, its largest holders, a holder count and its first transactions.
Never: Keys
We never see, store or ask for a private key or a seed phrase.
Never: Signing for you
Sign-in is a message, not a transaction. Nothing in this build asks you to sign a transaction.
Never: Custody
Assay never holds or moves tokens.
Payments
None in beta: no balance, no top-ups, no API keys. Paid plans open later.

What we read

A launch-risk check reads public Solana mainnet data through a Solana data provider (Helius), and nothing else:

  • The token’s mint account: supply, decimals, mint and freeze authority, Token-2022 extensions.
  • Its name and symbol, from the token’s metadata.
  • The 20 largest accounts that hold it, and who owns them.
  • A holder count, from the first 1,000 accounts.
  • The token’s first 100 transactions, to see who sent tokens to whom.

From you, the check needs one thing: the token’s mint address. It goes to the data provider as part of those reads. The answer is built from public data about a token, not about a person, and it shows its evidence: the wallets, the transfers and what wasn’t read.

What we never do

  • Ask for keys.No seed phrase and no private key, anywhere: site, app or API. Anyone asking for one in Assay’s name is not Assay.
  • Sign on your behalf.Sign in with Solana is a plain message with a one-time nonce. It can’t move funds, and nothing else in this build asks your wallet to sign.
  • Take custody or payments.Assay never holds or moves your tokens, and the beta charges nothing.
  • Write on-chain.The analysis is read-only. Assay sends no transactions.

Sign-in

Connect wallet opens your wallet (Phantom, Solflare or Backpack) with a sign-in message that carries a one-time nonce. It isn’t a transaction and can’t move funds. Your wallet address is your account: no email, no password.

The signed-in session, and the list of tokens you check in the app, live in that browser tab’s storage. They are cleared when you sign out or close the tab, and they aren’t sent to a server. The demo workspace uses sample data that ships with the app.

Data retention

Beta: we keep request logs for 30 days; no accounts, no personal data.

A check’s answer is cached for 5 minutes per mint, so repeated checks of the same token don’t read the chain again.

Limits

  • Checks are rate-limited per IP address. Over the limit, the API answers 429 with a Retry-After header.
  • A check gives up on slow reads after 8 seconds and says what it couldn’t read.
  • List assays, appeals, API keys and payments are not part of this build. This page will cover them when they ship.

Report a problem

Found a security issue? DM us on X at @Assay_sol (opens in a new tab) with what you saw and how to reproduce it. Please test only against tokens and wallets you own.

Changes to this model go in the changelog.