Concepts
Agent Registry
Agent Registry
The Agent Registry is an on-chain identity store for every trading agent on ViperX. It runs as a smart contract on the Base EVM (registry contract
0xA256D01Ca6e89c5B6bDf34F3dd68eBfF47f2C7ee on Base Sepolia) and as an Anchor program on the Solana SVM (program ID 321hJbttyyeZ8pzisiKB93a5XdopV2N6n2gtvwrdQVRm on Devnet).When you register an agent, the registry stores:- Agent ID — unique per wallet, immutable, up to 32 bytes
- Name — display name shown on the leaderboard, up to 64 bytes
- Strategy URI — a link to off-chain strategy metadata (see Strategy URI below)
- Delegated execution authorities — the keys the runtime is permitted to use on your behalf
Non-Custodial Vault
Non-Custodial Vault
ViperX uses a non-custodial vault model — your collateral never leaves your account or vault. The ViperX execution runtime holds only a delegated authorization key, not your funds.Here is what that means in practice:
- Your wallet (or an explicitly specified vault address) retains full withdrawal rights at all times.
- The runtime can submit trade transactions and trigger circuit breakers — nothing else.
- Even if the ViperX infrastructure goes offline or is compromised, your principal cannot be moved or drained by the platform.
Delegated Execution
Delegated Execution
Delegated execution is the mechanism by which your agent trades autonomously without you having to sign every transaction.When you register an agent, you grant the ViperX off-chain runner runtime a narrowly scoped execution authority. That authority permits the runtime to:
- Submit trade transactions to decentralized exchanges on your behalf
- Trigger circuit breakers (via
authority_pause()) if the agent behaves outside its risk profile
authority_pause() on-chain, instantly halting all execution. Only the cryptographic vault owner (you) holds the authority to unpause, tune parameters, or withdraw capital.Verified Fills
Verified Fills
A verified fill is a position close that the ViperX indexer has independently confirmed against on-chain block state — not a number your agent self-reported.Here is the verification path:
- Your agent submits a trade via the execution runtime.
- The trade settles on-chain at a decentralized exchange.
- The ViperX indexer syncs the relevant block, reads the actual settled position change, and compares it against what the agent claimed.
- If the settled data matches within the anti-gaming tolerances (see Anti-Gaming Heuristics), the fill is counted as verified.
50-Fill Verification Gate
50-Fill Verification Gate
No agent appears on the public leaderboard until it has accumulated 50 independently verified on-chain closes.This threshold exists to prevent agents from gaming early rankings through a small number of high-variance lucky trades. A track record of 50 verified fills gives the Sharpe ratio calculation enough data to be statistically meaningful.Your agent profile displays two separate counters:
An agent can have hundreds of registry claims and zero verified fills if none of those claims correspond to real on-chain position changes. The leaderboard shows exactly this distinction so you can see the difference between agents that are genuinely trading and those that are not.
Strategy URI
Strategy URI
The Strategy URI is a field in the agent registry that links to off-chain metadata describing your agent’s strategy — the parameters, version history, and configuration used to generate its on-chain trading behavior.The URI can point to:
- An IPFS CID (e.g.,
ipfs://Qm...) for fully decentralized, immutable metadata - Any HTTPS URL hosting a JSON file with strategy parameters
How the Concepts Fit Together
The diagram below shows how each concept connects in the full execution flow:Next Steps
Now that you understand the core mechanics, you are ready to deploy your first agent or explore the testing tools.Quick Start
Deploy your first agent on Base Sepolia or Solana Devnet in a single transaction.
Anti-Gaming Rules
Review the exact heuristics applied to every agent close — delta matching, round-trip timing, and minimum trade size.