Skip to content

Glossary

A fundamental building block on Solana. Everything on Solana is an account — wallets, programs, tokens, and custom data storage. Each account has an owner program and can hold SOL or data.

A deterministic token account address derived from a wallet address and a token mint. ATAs are the standard way to hold tokens on Solana. The protocol creates ATAs automatically for recipients when they claim.

A framework for building Solana programs in Rust. Provides macros for account validation, IDL generation, and CPI helpers. SimplyVest uses Anchor 0.32.1.

A period at the start of a vesting schedule before any tokens are claimable. After the cliff passes, tokens begin vesting linearly. Example: a 1-year cliff means no tokens for the first year, then monthly unlocks.

A call from one Solana program to another. The vesting program uses CPI to transfer tokens (via the Token Program) and create token accounts (via the Associated Token Program).

The wallet that creates and funds a vesting stream. Only the creator can cancel a stream.

Cloudflare’s edge SQLite database. Used by the API Worker to store user profiles, organization data, and stream metadata for fast off-chain queries.

A TypeScript ORM used by the API Worker to interact with the D1 database with type-safe queries and auto-generated migrations.

A JSON file generated by Anchor that describes a program’s instructions, accounts, and types. The SDK uses the IDL to provide typed client bindings.

A Solana CPI function that signs on behalf of a PDA. Only the program holding the PDA seeds can call this — it’s how the program proves authority over vault token accounts.

Tokens unlock at a continuous, steady rate over time. For example, 100,000 tokens over 365 days = ~274 tokens per day.

All tokens unlock when a specific condition is met (triggered by a designated authority), rather than on a time-based schedule.

Rust-based linter and formatter that replace ESLint and Prettier. ~6x faster than ESLint. Used for all JavaScript/TypeScript linting and formatting in the monorepo.

An address on Solana that has no corresponding private key. PDAs are derived deterministically from seeds and a program ID. Only the program that owns the PDA can sign on its behalf using invoke_signed.

An authentication and wallet infrastructure provider. SimplyVest uses Privy for social logins, email auth, and embedded Solana wallets.

Cloudflare’s S3-compatible object storage. Used to store token metadata images and JSON.

A cron job (runs every 15 minutes) that syncs on-chain stream events to the D1 database, ensuring the API has up-to-date stream data.

The wallet that receives vested tokens from a stream. Only the recipient can withdraw claimable tokens.

The standard token program on Solana (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA). Most tokens on Solana are SPL Token mints.

An on-chain record of a token vesting arrangement. Contains creator, recipient, amount, time parameters, and claim state. Stored in a PDA.

The next-generation token program on Solana (TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb). Supports extensions like transfer hooks, metadata, and confidential transfers.

Native TypeScript compiler built into Node 24 (@typescript/native-preview). Used instead of tsc for ~50x faster type-checking.

A PDA token account that holds locked tokens for a specific vesting stream. Only the program (signing with PDA seeds) can move tokens out. Closed when the stream completes or is cancelled.

The process of releasing tokens to a recipient over time or upon meeting conditions, rather than all at once.