Skip to main content
Everything in the Singularity Engine is on-chain Anchor state. Understanding the accounts makes the rest of the docs click.

A “position” = one stake account per role

Each wallet has one position per role — a Program-Derived Address (PDA) seeded by your wallet and the role:
So a single wallet can hold up to three positions at once — Compute, Validator, and Yield — each tracked independently with its own amount, status, and reward checkpoints. The reward checkpoints are how the engine pays you only for distributions made after you staked — see How Rewards Work.

The vaults

Staked tokens never sit in a wallet the platform controls. They live in program-owned vaults whose authority is a PDA, so only the program can move them — and only back to you: This separation is what makes staking non-custodial: your principal and the platform’s reward deposits are distinct, and the program only releases principal to the original staker after a cooldown.

Config

A single StakingConfig account holds the live parameters — minimums, cooldowns, and the authority keys. These are adjustable on-chain (no redeploy), so the network can tune economics over time. The current values are listed on each Staker Type page.