The Vault
๐Ÿค Delegation

๐Ÿ“ฆ Stake-as-a-Service (SaaS)

View as Markdown

The Vault runs a Stake-as-a-Service (SaaS) subscription model for validators receiving undirected stake delegation from our pool. This system is designed to support the protocol's long-term financial sustainability, align incentives with validators, and provide transparent and recurring revenue.

Banner: Two collaborators connect a customizable orange-and-cream vault module to a tidy network of server towers, beside blank modular token discs.

Key principles

  • Sustainability: Introduces a fee structure to maintain and grow our operations.
  • Fairness: Equal access to stake for approved validators, contingent on consistent subscription payments.
  • Transparency: Invoices and payment statuses are tracked through our dApp.
  • Simplicity: Fixed-rate system, with a payment bot that pays your invoices automatically.

Payment terms

  • Who must pay: Validators who are on the approved list and receive undirected stake.
  • Payments: Have vSOL or SOL in your wallet to pay.
  • Rate: 25% of validator earnings generated from undirected stake.
  • Invoice timing: Issued one epoch after the stake is received.
  • Payment deadline: Must be paid within 20 epochs of invoice issuance.

The rate is calculated using the following formula: [((avg_mev_per_block ร— validator mev commission) + avg_rewards_per_block) ร— (stake by the vault รท avg_stake_per_leader_slot) + (stake by the vault ร— (chain inflation rate รท epochs per year) ร— validator inflation commission)] ร— 0.25 (Figure 7.18).

The SaaS rate scales average MEV per block times validator MEV commission plus average rewards per block by The Vault's stake divided by average stake per leader slot, adds The Vault's stake times chain inflation rate divided by epochs per year times validator inflation commission, then multiplies the total by 0.25.

Figure 7.18: How the SaaS rate is calculated

Enforcement

If an invoice stays unpaid for 20 epochs, the stakebot blocks delegation to your validator from the Direct Stake Leaders and Elite Performance buckets until your invoices are settled. Your validator stays on the approved list (Figure 7.19).

The SaaS invoice cycle issues an invoice one epoch after a validator receives undirected stake for 25% of the earnings generated from that stake, paid by the SaaS payment bot or manually in vSOL or SOL within 20 epochs of invoice issuance; if unpaid, the stakebot blocks delegation from the Direct Stake Leaders and Elite Performance buckets until settlement while the validator stays on the approved list.

Figure 7.19: The SaaS invoice cycle

Pay your fees automatically

The Vault's SaaS payment bot pays your invoices for you. It runs once a day on GitHub Actions in your own copy of the repository, checks your validator for outstanding invoices, stakes SOL from a payer wallet for vSOL and pays them. The payer wallet can be any wallet; it doesn't need to be connected to your validator.

Fork the repository

Sign in to GitHub and fork SolanaVault/saas-payment-bot to your account.

Add the secrets

In your fork, open Settings, then Secrets and variables, then Actions, and add three repository secrets: RPC_URL with your RPC URL, PRIVATE_KEY with the payer wallet's private key in the [1,2,3,...] format, and VOTE_KEY with your validator's vote account public key.

Enable the workflow

Open the Actions tab of your fork and enable workflows. GitHub turns them off in new forks until you do.

Keep the payer wallet funded

Keep enough SOL in the payer wallet to cover your invoices and transaction fees. The bot pays from this balance every day.

The bot needs the payer wallet's private key. Use a separate wallet that holds only the SOL for your invoices, never a wallet with your validator keys or other funds.

GitHub can pause scheduled workflows in a repository with no activity for 60 days. Check the Actions tab now and then, and push a commit at least every 60 days to keep the bot running. You can also run the bot in your own environment instead of GitHub Actions; the repository's README explains how.

Pay your fees manually

You can also pay your invoices yourself on the validator dashboard.

Select your validator

Find your validator in the list and click on it.

Find your outstanding fees

Find any outstanding epoch fees on your dashboard.

Connect your wallet

Connect your wallet to the site.

Pay the fees

Click the Pay button. It shows how many invoices it pays, for example Pay 3 invoices.

Sign the transaction

Sign the transaction using your wallet.

Invoices are quoted in vSOL, but you can pay in either vSOL or SOL. A new invoice can take a few epochs to become payable.

FAQ

What if I don't pay on time?

If an invoice stays unpaid for 20 epochs, the stakebot blocks delegation to your validator from the Direct Stake Leaders and Elite Performance buckets until your invoices are settled.

Can I pay my invoices automatically?

Yes. Set up the SaaS payment bot: it checks for outstanding invoices once a day and pays them from a payer wallet you choose. See Pay your fees automatically.

Can an invoice be paid twice by mistake?

No. An invoice can only be paid once, so a second payment for the same invoice doesn't go through. If the payment bot runs twice at the same moment, the second run can still stake SOL for vSOL, and that vSOL stays in your payer wallet.

Why do some validators have no Stake-as-a-Service invoices?

The fee applies only to stake from the Direct Stake Leaders and Elite Performance buckets, so a validator with only gauge stake or direct stake has nothing to pay. Validator Board members are also exempt from Stake-as-a-Service fees.

Can I track how much I owe?

Yes. Validators can view current and past invoices on the dApp.

Is this system permanent?

This is a pilot structure. The Vault may adapt the pricing or model based on validator feedback and protocol needs.

On this page