Decide what the server will do before choosing a VPS
A VPS can run customer-managed blockchain software, but that does not make every crypto workload a sensible VPS workload. A public node, private RPC endpoint, indexer, explorer, analytics service, or automation worker has different consequences from a wallet or signing service. Start by naming the exact process, data, network listeners, signing authority, recovery target, and operator.
The central design decision is whether the server can move assets. A node that validates and relays public chain data may not need private keys at all. A system that can sign a transaction has a materially larger loss boundary. Do not combine those roles merely because they use the same protocol.
This is an infrastructure and security-planning guide, not financial advice. It does not promise trading profit, execution speed, availability, or protection from compromise.
Build a threat model before setup
Write the plausible failure and attack paths before installing software. At minimum, assess:
- stolen administrator or deployment credentials;
- an exposed RPC, API, metrics, database, or dashboard listener;
- a vulnerable node client, dependency, plugin, bot, or web application;
- malicious code introduced through a package, container, image, repository, or update;
- privilege escalation from one service to another;
- seed phrases, private keys, API secrets, or exchange credentials copied into logs, shell history, backups, environment files, or support messages;
- corrupted chain data, database state, configuration, or automation output;
- loss of the VPS, provider account, domain, DNS, or an operator device;
- denial of service, resource exhaustion, or unexpected storage growth; and
- an operator mistake during deployment, key rotation, restoration, or incident response.
For each path, record what an attacker could read, alter, sign, spend, or interrupt. Then define the preventive control, detection signal, containment step, recovery source, and person responsible. If compromise of one internet-facing VM could expose long-term custody keys or all exchange authority, the trust boundary is too broad.
Separate node hosting from wallet and key custody
Keep seed phrases and long-term private keys out of routine application and server storage. Do not place them on an internet-facing VPS unless a specific security design requires online signing, the exposure is documented, and the value at risk is deliberately limited.
A safer separation for many operations is:
| Role | Suitable boundary | Secret-handling rule |
|---|---|---|
| Public node or relay | Internet-facing service with only required peer ports | No wallet seed or signing key required |
| Private RPC node | Network-restricted service reached only by approved clients | Authenticate requests; do not treat a private URL as sufficient protection |
| Indexer, explorer, or analytics API | Separate service account and data store | Read-only chain data where possible; no custody authority |
| Automation or trading worker | Isolated process with narrowly scoped external credentials | Limit permissions and withdrawal authority; rotate credentials independently |
| Transaction builder | Application that prepares unsigned payloads | Keep signing authority outside the builder when the workflow permits |
| Online signer or hot wallet | Separate, explicitly accepted high-risk boundary | Minimise stored value, access paths, privileges, and key lifetime |
| Offline or hardware-backed signer | Separate device or signing system | Keep recovery material and signing procedure outside the VPS |
Do not put a seed phrase in a shell command, source repository, container image, cloud-init file, ticket, chat, monitoring field, or ordinary backup. If an application requires a hot key, document why it must be online, who can invoke it, which transactions it can authorise, how limits are enforced, and how the key will be revoked and replaced.
Restrict node, RPC, API, and dashboard exposure
Inventory every listening socket after installation and after each material update. A service binding to all interfaces is not automatically intended for the public internet.
- Expose only the protocol ports required for the chosen node role.
- Keep administrative interfaces, wallet RPC, databases, debug endpoints, and metrics private by default.
- Restrict private services with host firewall rules and an authenticated private network or similarly controlled access path.
- Require application authentication and authorisation even when network access is restricted.
- Put public HTTP APIs behind a deliberately configured reverse proxy with TLS, request-size limits, timeouts, and rate controls appropriate to the application.
- Separate peer-to-peer traffic from operator access and application traffic where practical.
- Test the public address from outside the server network; a local firewall listing alone does not prove the exposure boundary.
Treat CORS, an obscure port, a changed URL, or a login page as application behavior rather than a network security boundary. Record each approved port, source range, protocol, owner, and removal condition.
Use least privilege and independent access paths
Create a dedicated operating-system service account for each node, indexer, database, bot, or web process. Deny interactive login where it is unnecessary, restrict filesystem access to that service's files, and avoid running application processes as root.
Use individual administrator accounts and SSH keys rather than shared credentials. Protect the hosting account and the systems used to administer it with strong, independent authentication. Keep deployment credentials separate from runtime credentials, and give automation only the permissions required for its task.
Where two components do not need to trust each other, do not place them under the same user, credential set, writable directory, or database role. A compromised explorer frontend should not automatically become a node administrator, deployment operator, wallet signer, or exchange account owner.
Patch software without turning updates into blind trust
The customer manages the operating system, node client, application, dependencies, security configuration, updates, monitoring, and incidents on a self-managed VPS.
Maintain an inventory of the operating system, node/client build, plugins, libraries, images, repositories, and installation source. Subscribe to the relevant project security and release notices. Verify release provenance through the project's documented method, stage material upgrades, read migration notes, and keep a tested rollback path.
Patch the operating system and exposed software on a defined schedule, with an emergency path for actively exploited or high-impact issues. Remove abandoned packages and disabled services rather than leaving them reachable. An automatic updater can reduce delay, but it does not replace compatibility testing, restart verification, or an owner who responds when an update fails.
Back up recoverable data without copying secret risk everywhere
Classify data before backing it up:
- Re-creatable data: public blockchain state or caches that can be rebuilt, subject to acceptable rebuild time.
- Configuration and service state: node configuration, deployment definitions, indexes, application databases, and operator-maintained allowlists that may need protected backups.
- Credentials and secrets: API tokens, hot-wallet material, encryption keys, and signing keys that need a separate, deliberately designed recovery process.
- Long-term custody recovery material: seed phrases or equivalent recovery secrets that should remain outside routine server backups.
Encrypt customer-owned backups, restrict who can retrieve them, and keep at least one recovery copy outside the VPS failure boundary. Test restoration into an isolated environment and measure the time required to reconstruct the service. A backup job reporting success does not prove that the data is complete, internally consistent, decryptable, or restorable.
Every Virtarix VPS and VDS includes one backup and one snapshot. Those recovery points do not replace customer-owned copies or an independent recovery plan. No retention period, schedule, storage location, consistency model, or restore mechanism is stated here.
Monitor security, correctness, and resource pressure
CPU and RAM graphs alone do not show whether a crypto service is correct or compromised. Build alerts around the role:
- process restarts, crash loops, failed updates, and unexpected service changes;
- node peer count, sync or validation lag, chain height, reorganisation handling, and disk growth where relevant;
- RPC authentication failures, unusual methods, request spikes, rejected requests, and unexpected source addresses;
- administrator logins, privilege changes, firewall changes, new listening ports, and credential use;
- application queue depth, failed jobs, stale market or chain data, and repeated transaction errors;
- filesystem capacity, inode use, I/O latency, database health, backup completion, and restore-test age; and
- outbound connections or transfer patterns that do not match the documented service.
Send alerts somewhere that remains reachable when the VPS is unavailable. Define who receives each alert, what evidence they inspect first, and when they disable a listener, revoke a credential, stop signing, or fail over to a recovery procedure.
Check provider policy and legal constraints
Before deployment, confirm that the exact workload, software, network behavior, and jurisdiction comply with the provider's current acceptable-use terms and applicable law. “Crypto operations” can describe very different activities; a node, explorer, exchange integration, faucet, mining proxy, mixer, or financial service may carry different policy, licensing, abuse, and compliance implications.
Do not assume that technical ability means provider approval or legal permission. Document the current policy source, account owner, legal/compliance owner where required, expected inbound and outbound traffic, abuse-contact process, and shutdown or migration plan.
Compare infrastructure using the same responsibility model
The table uses Cloud VPS S as a concrete Virtarix reference, not as a universal crypto sizing recommendation. Benchmark the exact client, chain state, database, API load, and storage-growth rate before choosing any allocation.
| Feature | Cloud VPS S | Other provider VM |
|---|---|---|
| Standard monthly price | $5.50/month | Confirm compute, storage, transfer, addresses, monitoring, and support for the selected services |
| Allocation | 3 CPU cores, 6 GB RAM, 50 GB NVMe | Select and verify the exact instance and storage allocation |
| Bandwidth and network | Unlimited*; IPv4 + IPv6 | Confirm transfer pricing, quotas, address scope, and network design |
| Administrative access | Full root | Confirm the selected image, identity, and administrative access model |
| Security responsibility | Self-managed: the customer manages software, access, firewall policy, patching, monitoring, and incidents | Define customer and provider responsibilities for every selected service |
| Availability wording | 99.99% uptime SLA | Confirm the exact service SLA, architecture coverage, exclusions, and remedies |
| Included recovery points | One backup and one snapshot; no retention or restore mechanism stated here | Confirm scope, consistency, retention, restore procedure, regional boundary, and charges |
| Capacity change | No resize mechanism or timing stated here | Confirm available change or migration paths, downtime, quotas, and rollback |
\* Unlimited bandwidth is subject to fair use, acceptable-use requirements, network integrity, and service limits.
The 99.99% uptime SLA is provider availability wording, not a promise that a node, bot, API, wallet, or signing workflow will be correct or continuously available. Application architecture, maintenance, dependencies, credentials, resource exhaustion, and operator actions remain separate failure paths.
Prepare a compromise and credential-rotation runbook
Assume that one day a credential, application, node, or administrator device may be compromised. Write the response while the system is healthy:
- Identify who can declare an incident and pause public access, automation, or signing.
- Preserve logs and volatile evidence without continuing to trust the affected host.
- Revoke hosting, SSH, deployment, API, exchange, RPC, database, and application credentials from a separate trusted device.
- Move exposed funds or authority according to the custody plan; do not improvise from the suspected host.
- Rebuild from trusted sources instead of treating malware removal as proof of recovery.
- Restore only classified data whose integrity can be established.
- Validate node state, application output, exposure, monitoring, and transaction policy before resuming.
- Record the cause, affected boundary, credential rotations, financial or legal escalation, and controls changed.
Test the runbook with a harmless scenario such as a revoked API token or disposable service credential. A recovery procedure that depends on the compromised VPS, the same lost device, or one unavailable person is not independent.
Deployment decision record
Before launch, record the workload and owner, public listeners, custody boundary, maximum value or authority exposed, service accounts, credential scopes, patch cadence, data classification, customer-owned backup location, restore-test result, monitoring destinations, provider-policy check, incident contacts, stop conditions, and next review date.
Use a VPS only if that record shows an acceptable and recoverable trust boundary. Choose a separate managed service, dedicated design, offline signer, hardware-backed custody system, or other architecture when the team cannot safely own the operating, signing, compliance, or incident responsibilities.
Source
- Virtarix frozen Source of Truth, version 2.2, effective 16 July 2026 and frozen for this remediation on 11 August 2026: self-managed service boundary, Cloud VPS S specification, bandwidth qualification, access, recovery inclusion, and approved SLA wording.
Test a non-custodial crypto workload
Consider Cloud VPS only after separating signing authority, restricting listeners, and defining customer-owned recovery and incident response.
VPS S
For small sites, dev servers and Docker
- ✓ 3 cores
- ✓ 6 GB
- ✓ 50 GB NVMe
- ✓ Unlimited
VPS M
For growing apps, websites and staging
- ✓ 6 cores
- ✓ 16 GB
- ✓ 100 GB NVMe
- ✓ Unlimited