Appearance
Environment Registry
This page records the environment constants the team needs during development, deployment, and incident response.
WARNING
This page intentionally avoids raw secrets. It records secret names, expected locations, and ownership. Never paste private keys, API keys, webhook secrets, database tokens, or seed phrases into the wiki.
Solana Environments
Devnet
| Item | Value |
|---|---|
| Cluster | Solana devnet |
| Default RPC | https://api.devnet.solana.com |
| Vela Protocol program | CVM6UqbwKgHckZzm8R2qbN3BWhCTdk1PsSeEQLchkwKT |
| Vela Transfer Hook program | 3agVoFp4NZFuKbVqCV8HbjSZn1xW4Utk4U1Wir3TKjZ9 |
| Current upgrade authority | EkyMDqChwLDyx8XUxEFB7Ngvk9Yfp2DGEJ6VzqqbgErD |
| Program keypair directory | ~/.config/velapay/keys/devnet/ |
| Protocol manifest | vela-protocol/config/program-ids.json |
| Commerce release | v1.9.0-devnet.3 |
| Commerce SDK | @velapay/sdk@0.5.0 |
| Default Commerce USDC mint | 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
Commerce cluster selection is server-side. Checkout query parameters and API request bodies must never override devnet. Only public Payment Intents execute.
Expected devnet keypair files:
text
~/.config/velapay/keys/devnet/vela_protocol-keypair.json
~/.config/velapay/keys/devnet/vela_transfer_hook-keypair.jsonMainnet
| Item | Value |
|---|---|
| Cluster | Mainnet beta |
| Program IDs | Not frozen |
| Program keypair directory | ~/.config/velapay/keys/mainnet/ |
| Upgrade authority | Not frozen |
| Status | Pre-launch |
Mainnet keypairs must be generated once, backed up, restored, and verified before launch. See Protocol Deployment Runbook.
Domains
| Surface | Domain | Repo |
|---|---|---|
| Marketing site | velapay.io | vela-web |
| Developer docs | docs.velapay.io | vela-docs |
| Merchant dashboard | Dashboard domain, Railway + Cloudflare | vela-dashboard |
| Hosted checkout | pay.velapay.io | vela-checkout |
| Subscriber portal | portal.velapay.io | vela-portal |
| Widget loader | widget.velapay.io | vela-widget |
| Admin console | Internal-only domain | vela-admin |
If a domain changes, update:
- Cloudflare DNS
- Worker routes
- app environment variables
- public docs
- dashboard links
- internal wiki environment registry
Runtime Services
| Service | Used by | Purpose |
|---|---|---|
| Solana RPC / Helius | Protocol consumers, keepers, dashboard, admin, SDK | On-chain reads, transaction submission, webhooks |
| Cloudflare Workers | Dashboard worker, admin, checkout, portal, docs/web hosting | Edge runtime |
| Cloudflare D1 | Dashboard, admin via service binding, checkout, portal | App data and sessions |
| Cloudflare KV | Session/cache paths where configured | Low-latency key-value storage |
| Cloudflare Queues | Dashboard webhook fanout and async processing | Retryable event delivery |
| Cloudflare R2 | Dashboard exports and receipts | Object storage |
| Railway | Merchant dashboard runtime where configured | App hosting |
| Resend | Invoice and transactional email | Email delivery |
| Turnstile | Checkout/auth surfaces | Bot protection |
v1.9 canonical devnet commerce resources
| Resource | Canonical development name |
|---|---|
| D1 | vela-dashboard-v19-devnet |
| KV | vela-dashboard-kv-v19-devnet |
| R2 | vela-invoices-v19-devnet |
| Backend Worker | vela-dashboard-worker-dev |
| Dashboard API/UI Worker | vela-dashboard-api-dev |
| Checkout Worker | vela-checkout-dev |
| Webhook queues | vela-webhook-events-v19-devnet, vela-webhook-dispatch-v19-devnet, vela-webhook-dispatch-dlq-v19-devnet |
| Document/mail queues | vela-invoice-queue-v19-devnet, vela-mail-queue-v19-devnet and their DLQs |
The legacy vela-dashboard-dev database is rollback-only and must not receive v1.9 migrations in place. Resource IDs, version IDs, checksums, and rollback bookmarks live in the dashboard rollout report rather than this registry.
Secret Registry
| Secret | Where it lives | Used by | Notes |
|---|---|---|---|
| Devnet program keypairs | Operator secret storage and local key dir | vela-protocol deploy scripts | Defines program addresses |
| Mainnet program keypairs | Not yet finalized | Future mainnet deploy | Generate once and back up three ways |
| Solana wallet keypair | Operator machine or hardware wallet | Deploy/upgrade authority operations | Defines authority, not program address |
| Helius API key | Worker/app env | Dashboard, SDK helpers, synthetic checks | Rotate if leaked |
| Webhook HMAC secrets | Dashboard D1/env depending on endpoint | Webhook delivery consumers | Support dual-secret rotation |
| D1 credentials/bindings | Cloudflare config | Dashboard, admin, checkout, portal | Do not copy between envs blindly |
| Resend API key | Worker env | Email/invoice delivery | Least privilege sender domain |
| Turnstile secret | Worker env | Public checkout/auth | Never expose client-side |
Local Workspace Paths
| Repo | Path |
|---|---|
| Workspace root | /Users/laitsky/Developments/vela-labs |
| Protocol | /Users/laitsky/Developments/vela-labs/vela-protocol |
| SDK | /Users/laitsky/Developments/vela-labs/vela-sdk |
| Dashboard | /Users/laitsky/Developments/vela-labs/vela-dashboard |
| Webhook package | /Users/laitsky/Developments/vela-labs/vela-webhook |
| Docs | /Users/laitsky/Developments/vela-labs/vela-docs |
| Internal wiki | /Users/laitsky/Developments/vela-labs/internal-wiki |
Environment Drift Checks
Run these before a protocol deploy:
sh
cd /Users/laitsky/Developments/vela-labs/vela-protocol
solana config get
solana-keygen pubkey
bun run program-ids:check
bun run verify:rolloutRun these after a protocol deploy:
sh
bun run verify:deployedSearch for stale program IDs across the workspace:
sh
cd /Users/laitsky/Developments/vela-labs
rg -n "CVM6UqbwKgHckZzm8R2qbN3BWhCTdk1PsSeEQLchkwKT|3agVoFp4NZFuKbVqCV8HbjSZn1xW4Utk4U1Wir3TKjZ9" \
vela-* internal-wiki \
-g '!node_modules' -g '!dist' -g '!build' -g '!target'