Documentation Index
Fetch the complete documentation index at: https://docs.ryvo.network/llms.txt
Use this file to discover all available pages before exploring further.
The Ryvo protocol is currently live on Solana devnet. This page records the canonical identifiers and parameters of that deployment.
Live deployment
| Field | Value |
|---|
| Program ID | 3UyUFeNsUYPpM6hMRf7H8wg3MKEXQ82rqnsXhZrUwgSD |
| Cluster | devnet |
| Chain ID | 1 |
| Message domain | a58a109a38f14cc27ef174135176cab3 |
| Gateway-channel settlement token | Official devnet USDC, mint 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
| Framework | Anchor |
| Source | github.com/Ryvonetwork/ryvo-protocol |
Chain IDs
Ryvo distinguishes deployments by a protocol-level chain ID stored in GlobalConfig and folded into the signed message domain.
| Chain ID | Network |
|---|
0 | Mainnet |
1 | Devnet |
2 | Testnet |
3 | Localnet |
Different chain IDs produce different message domains even when the program ID is identical. A commitment signed for one chain will never verify on another.
Live devnet timing
The current devnet deployment uses the production channel-unlock policy while keeping participant withdrawals instant:
| Action | Live devnet value |
|---|
| Participant withdrawal | Instant (0 seconds) |
| Unilateral channel unlock | 72 hours (259200 seconds) |
| Cooperative channel unlock | Immediate with both parties’ consent |
| Gateway-channel collateral token | Official devnet USDC; resolve the token_id from TokenRegistry or RYVO_PROTOCOL_DEVNET_USDC_TOKEN_ID |
Gateway-channel v1 uses locked channel collateral only. General participant balances remain withdrawable immediately, while channel collateral becomes spendable again through cooperative unlock or the 72-hour unilateral fallback.
Fee parameters
| Parameter | Range |
|---|
Withdrawal fee (fee_bps) | 3–30 bps (0.03%–0.3%) |
| Minimum withdrawal fee | 50,000 native units (6-decimal tokens) |
| Registration fee | 0, or between 0.001 SOL and 0.01 SOL |
The fee recipient is a wallet configured in GlobalConfig and can be updated by the config authority.
Authority model
Ryvo uses two administrative roles, both of which use a two-step pending/accept handoff:
- Config authority - can update
fee_recipient, fee_bps, registration_fee_lamports, and nominate a successor.
- Registry authority - can register new settlement tokens in
TokenRegistry.
Neither authority can:
- move participant funds
- alter settled balances
- rewrite the chain ID or message domain (these are fixed at initialize time)
- upgrade which token an existing
token_id maps to
See Trust model for the full security posture and upgrade model.
Agentic surfaces
Agents can discover the live deployment and prepare protocol actions through the published agentic tooling:
| Surface | Package or path | Scope |
|---|
| Protocol CLI | @ryvonetwork/protocol-cli | Read protocol state and prepare unsigned transactions/messages |
| Protocol MCP | @ryvonetwork/protocol-mcp | Mirrored read/prepare tools plus ryvo://protocol/llm.txt |
| Skills repo | github.com/Ryvonetwork/ryvo-agentic | Gateway and protocol skills for agent runtimes |
See Agentic tools for package names, skills, LLM text, and the channel-payment guardrails.
Message domain
The signing domain for a deployment is derived inside the program as:
message_domain = SHA256(
"ryvo-message-domain-v1"
|| program_id
|| chain_id (little-endian u16)
)[..16]
Every signed ryvo-cmt-v5 and cooperative-round message carries this 16-byte domain, and the program rejects any message whose domain does not match GlobalConfig.message_domain for the executing deployment. See Message formats.
See also