Node Delegation for Hosting Providers
Assign delegate keys to hosting providers for remote node management without exposing collateral private keys. P2SH-based, introduced with PoUW v2.
Node Delegation for Hosting Providers
🚧 Work in Progress — The CLI command examples in this article (startfluxnodewithdelegates, createp2shstarttx) have not yet been verified against the official fluxd source code. Parameter names and order may be inaccurate. Please refer to flux-cli help <command> on a running node for authoritative usage.
The Flux Node Delegation system, introduced with the PoUW v2 fork (fluxd v9.0.0, October 2025), allows a node owner to authorize up to four delegate public keys that can restart and manage the node on the owner's behalf. This eliminates the need to share collateral private keys with hosting providers, enabling a clean separation between node ownership (holding collateral) and node operation (restarting, upgrading, monitoring).
Delegation is optional and was activated at block height 2,020,000 (October 25, 2025). It requires fluxd v9.0.0 or later. Both Zelcore and SSP wallets support the new node management system with delegation.
Why Delegation Matters for Providers
Before delegation, hosting providers faced a fundamental security dilemma: to restart a customer's node (e.g., after a DOS event or benchmark failure), the provider needed access to the customer's collateral private key. This meant customers had to trust providers with the key that controls their 1,000 / 12,500 / 40,000 FLUX collateral. Delegation solves this entirely.
- 1
No private key exposure
Providers manage customer nodes using their own delegate key. The customer's collateral key never leaves their wallet.
- 2
Remote restart capability
When a node goes offline (DOS status, benchmark failure, network issues), the provider can restart it using the delegate key without contacting the node owner.
- 3
Autonomous maintenance
Providers can remotely upgrade and restart nodes without notifying the owner, reducing response time for outages.
- 4
Scalable fleet management
A provider can use a single delegate key across hundreds of customer nodes, enabling centralized management from a single dashboard.
How Delegation Works
Delegation is implemented at the blockchain level using P2SH (Pay-to-Script-Hash) technology. Delegate authorization is encoded directly into FluxNode start/update transactions, making it a first-class protocol feature rather than an application-layer hack.
| Aspect | Details |
|---|---|
| Maximum delegates per node | Up to 4 compressed public keys |
| Cryptographic basis | P2SH (Pay-to-Script-Hash) scripts on the Flux blockchain |
| Key format | Compressed public keys only (33 bytes, hex-encoded) |
| Introduced in | fluxd v8.0.0 (prep), v9.0.0 (activation at block 2,020,000) |
| Activation date | ~October 25, 2025 |
| Wallet support | Zelcore, SSP Wallet |
What Delegates Can and Cannot Do
| Operation | Delegate | Owner |
|---|---|---|
| Restart a node that went offline | Yes | Yes |
| Start a node using delegate key | Yes | Yes |
| Remote upgrade / restart without notification | Yes | Yes |
| Modify the delegate list (add/remove delegates) | No | Yes |
| Move or unlock collateral | No | Yes |
| Change collateral configuration | No | Yes |
| Start node with new collateral | No | Yes |
A delegate can restart and manage a node but can NEVER access or move the collateral. The code explicitly prohibits delegated signatures for "update delegate" operations, so a delegate cannot escalate their own permissions. Only the collateral owner can change who the delegates are.
Setup: Node Owner's Perspective
The node owner assigns delegates when starting or updating their node. This can be done via the Flux daemon RPC commands or through the Zelcore/SSP wallet interface.
- 1
Ensure fluxd v9.0.0+
Verify your Flux daemon is updated to v9.0.0 or later. ArcaneOS nodes receive this update automatically.
- 2
Obtain delegate public keys
Your hosting provider will give you their delegate public key (a 66-character hex string). You can assign up to 4 delegate keys.
- 3
Start node with delegates
Use the startfluxnodewithdelegates RPC command, providing your collateral details and an array of delegate public keys.
- 4
Verify delegation
After the transaction confirms, the delegate(s) can now manage the node without your private key.
Start a node with delegates via RPC
# Start a FluxNode with delegates assigned
# Parameters: collateral_txhash, output_index, [delegate_pubkeys], lock_wallet
flux-cli startfluxnodewithdelegates \
"your_collateral_txhash" \
0 \
'["delegate_pubkey_1", "delegate_pubkey_2"]' \
true
# For P2SH (multisig) nodes, include delegates in the start transaction
flux-cli createp2shstarttx \
"redeem_script" \
"collateral_txid" \
0 \
"vps_pubkey" \
'["delegate_pubkey_1"]'Setup: Hosting Provider's Perspective
As a hosting provider, you generate a delegate key pair and share the public key with your customers. You keep the private key secure in your management system.
- 1
Generate a delegate key pair
SSH into any running Flux node and run
flux-cli createdelegatekeypair. This returns a compressed public key (66 hex characters) and a private key. Alternatively, use SSP Wallet in "Node Management Provider" mode to generate one through the UI. You can use a single key pair for all managed nodes or separate keys per customer group. - 2
Share the public key with customers
Provide your delegate public key to node owners. They will add it as a delegate when starting or updating their node.
- 3
Import the delegate key into your manager
Import the delegate private key into your node management dashboard or wallet. This allows you to sign restart transactions.
- 4
Restart nodes as needed
When a customer's node goes offline, use the startfluxnodeasdelegate or startp2shasdelegate RPC command to restart it.
Generate your delegate key pair
# Run on any Flux node with fluxd v9.0.0+
flux-cli createdelegatekeypair
# Output:
# {
# "pubKey": "02abc123...def456", ← share this with customers
# "privKey": "Kx..." ← keep this SECRET, import into your manager
# }Restart a node as a delegate
# Restart a standard FluxNode as a delegate
# Parameters: collateral_txhash, output_index, delegate_privkey, vps_pubkey
flux-cli startfluxnodeasdelegate \
"customer_collateral_txhash" \
0 \
"your_delegate_privkey" \
"vps_pubkey_of_server"
# Restart a P2SH (multisig) FluxNode as a delegate
# Parameters: redeem_script, collateral_txid, output_index, delegate_privkey, vps_pubkey
flux-cli startp2shasdelegate \
"redeem_script" \
"customer_collateral_txid" \
0 \
"your_delegate_privkey" \
"vps_pubkey_of_server"RPC Commands Reference
| Command | Who Uses It | Purpose |
|---|---|---|
| createdelegatekeypair | Provider / anyone | Generate a new compressed delegate public/private key pair |
| startfluxnodewithdelegates | Node owner | Start a node with up to 4 delegate public keys assigned |
| startfluxnodeasdelegate | Delegate (provider) | Start/restart a standard node using a delegate key |
| startp2shasdelegate | Delegate (provider) | Start/restart a P2SH (multisig) node using a delegate key |
| createp2shstarttx | Node owner | Create a P2SH start transaction with optional delegate keys |
VPS Public Key Separation
The PoUW v2 delegation system separates the delegate key from the VPS public key. These are two independent cryptographic identities:
- •Delegate key: Proves you are authorized to manage the node. This is the key the provider holds.
- •VPS public key: Proves which physical server the node runs on. This is tied to the actual hardware.
- •Even if a delegate key is compromised, an attacker cannot impersonate the VPS because the VPS key is separate and stored on the server itself.
Node Management Dashboard
The new node management system (available in Zelcore and SSP wallets) includes a dedicated Node Management Provider mode. This mode is designed for users who "do not own any nodes but manage them for others". Features include:
- •Fleet overview: Track status and uptime of all delegated nodes from a single dashboard
- •Tiered notifications: Assign different alert settings to groups of nodes (by tier, customer, or region) and route to specific email addresses
- •Daily reports: Scheduled daily performance reports, configurable by time zone
- •Automatic retooling: The system supports automatic node retooling in the event of an outage, reducing manual intervention
Security Considerations
- 1
Collateral is always safe
The collateral private key never needs to leave the owner's wallet after initial setup. Delegates cannot access or move funds.
- 2
No permission escalation
Delegates cannot modify the delegate list. Only the collateral owner can add or remove delegates, preventing escalation attacks.
- 3
Compromised delegate key has limited blast radius
If a delegate key is compromised, the attacker can only restart nodes — they cannot steal funds, change configuration, or modify other delegates.
- 4
VPS key separation
The VPS verification key is independent from the delegate key. Compromising one does not compromise the other.
- 5
Compressed keys only
The system requires compressed public key format (33 bytes), preventing weak key attacks. Duplicate keys are rejected.
- 6
Feature is optional
Node operators who prefer the traditional method can continue as before. Delegation is entirely opt-in.
Best Practices for Providers
- •Use separate delegate keys per customer segment: If managing different tiers or customer groups, consider using different delegate keys for isolation.
- •Rotate delegate keys periodically: For high-security environments, rotate delegate keys and have customers update their delegation.
- •Store delegate private keys securely: Use HSMs (Hardware Security Modules) or encrypted key stores for production environments.
- •Document the process for customers: Provide clear instructions on how to add your delegate key when setting up their node.
- •Monitor proactively: Combine delegation with monitoring to automatically detect and restart offline nodes before customers notice.
Integration with Titan Nodes
For users who prefer a fully managed experience without running their own hardware, Titan Nodes offer a delegation-like staking model. Users stake 50–10,000 FLUX in enterprise-grade nodes managed by InFlux Technologies Limited. This is a complementary option — delegation is for providers managing customer-owned nodes, while Titan Nodes are for passive stakers.
Looking for the client-side walkthrough? See Delegation Guide for Node Owners for a step-by-step setup using Zelcore or SSP Wallet. Have questions? Check the Delegation FAQ.
Other articles in Node Hosting
Hardware Requirements
Minimum and recommended hardware specifications for each node tier.
FluxOS Setup Guide
Set up a Flux node using ArcaneOS (recommended) or legacy method.
Understanding Node Benchmarks
How benchmarks work, what EPS means, and how to optimize performance.
Uptime Monitoring
Tools and strategies for monitoring node uptime and maintaining high availability.
Progressive Node Rewards (PNR)
How PNR works, eligibility requirements, and maximizing your rewards.
Parallel Assets & Fusion
Cross-chain assets on 8 blockchains, claiming process, and the Fusion bridge.
Delegation Guide for Node Owners
Step-by-step setup for delegating your node to a hosting provider via Zelcore or SSP Wallet. Keep your collateral safe while your provider manages operations.
Delegation FAQ
Frequently asked questions about delegation — security, costs, revocation, PNR impact, wallet support, and what happens if your provider disappears.