Jupiter Faucet is a perpetual cycles top-up protocol for the
Internet Computer - built to help canister smart contracts keep running
indefinitely. The
Internet Computer is designed for tamperproof, "unstoppable" on-chain services; Jupiter
Faucet focuses on the practical part: making sure canisters don’t run out of
cycles, even if nobody is maintaining the project.
The perpetual top-up workflow is intentionally designed to be so simple that anyone can
carry it out as a one-off operation directly from NNS dapp
using the enhanced transfer and memo flow - no further setup required.
See How It Works for more information.
Jupiter Faucet is built to propel big burners, including
cycle-intensive on-chain AI workloads such as WORDY,
helping projects get the most out of ICP→cycles conversion over the long run.
Due diligence:
Jupiter Faucet is open source, reproducibly buildable, and designed to
decentralize control over time.
The core components will be blackholed. A worst-case scenario
lifeline is built into the canisters so they can temporarily hand control to the
SNS DAO if a breaking change in a NNS-managed platform dependency prevents disbursals
or other core functionality, then blackhole themself again once service resumes.
Featured Projects Powered by Jupiter Faucet
If you'd like to see your project here, please start a discussion on one of Jupiter Faucet's
social channels
and/or
raise a pull request
that includes your project.
Jupiter Faucet is composed of a suite of smart contracts that are all
open source.
Anyone can verify that the system components have been built from this source code by cloning the repository and running the
reproducible build script.
The build hashes produced should match the Wasm module hashes currently deployed on mainnet.
The Wasm module hashes and controllers below are retrieved on-chain from the IC management canister (`aaaaa-aa`) via `canister_info`.
Once Jupiter Faucet is governed by an
SNS DAO, changes to these mainnet components will need to pass through consensus.
Serves the certified frontend assets and dashboard UI (this website).
Governance
Jupiter Faucet is moving toward SNS DAO control. Until the SNS launches, the suite
is being developed by Alex Lorimer,
the controller of the LORIMER ♾️ 🐶 known neuron,
a well-known ecosystem participant, so the remaining launch work can be completed, reviewed, and upgraded quickly.
The system is open source,
and its canister Wasm modules are intended to be verified through
reproducible builds
against the module hashes shown in the Source Code pane. All Jupiter Faucet suite canisters reside on either the Fiduciary or SNS subnet (both composed of over 30 nodes) for superior deterministic decentralization, resilience and security.
Blackholing:
The core value-moving canisters, Jupiter Disburser and Jupiter Faucet,
are intended to become blackholed, meaning their behavior will be locked in and no party will be able to alter them.
A narrow recovery path remains for a breaking change in an underlying Internet Computer system API
(NNS-managed code):
the affected canister can hand
control to the lifeline canister, which is controlled by the SNS DAO, so the DAO can restore service and then
return the canister to a blackholed state. After the Jupiter Faucet SNS has launched and the system has run for
at least six months without signs of weak points or a need for patching, a DAO proposal will be submitted to arm
the built-in trigger that causes both canisters to blackhole themselves.
How it works
The top-up process is intentionally simple: transfer at least
1 ICP directly into the staking account of
Jupiter Faucet's canister-controlled neuron
and set your declared canister ID as the transaction
memo (see example below). You do not need to be the owner of the canister.
1. If the memo field is hidden in the NNS dapp, press Ctrl + K, type memo, then select Show transaction memo.Optional. Add the Jupiter Faucet staking account to your NNS dapp address book with a nickname to make future commitments easier.2. Use the staking account address shown above, enter the ICP amount, and set the transaction memo to your declared canister ID.
That’s it. With your memo declaring a canister, that canister becomes the recipient
of perpetual cycles top-ups, funded by the stake’s ongoing
rewards. New commitments may not count immediately: a recognition delay applies,
mid-round commitments may be partially weighted, and very recent commitments may
wait for a later payout round.
You can monitor Jupiter Faucet top-ups to your canister via the
memo tracker.
You can estimate how much ICP needs to be committed to the Jupiter Faucet stake to keep your canister
perpetually topped up using the simulator.
Developer tip: If you need many small ICP transfers to build up to
the minimum 1 ICP threshold, you might consider deploying an instance of the
Jupiter Relay
canister. See Advanced Usage.
Advanced Usage
Jupiter Faucet supports three memo-directed flows. A plain declared canister ID keeps
the default perpetual cycles top-up behavior. Advanced users can instead route ICP
minted from maturity directly to either the default account of a declared canister or
the staking account of a declared public NNS neuron.
To enable raw ICP transfer mode for a canister, add a full stop character
('.') after the declared canister ID in the ICP commitment memo.
To target a public neuron instead, use the neuron ID in the memo. In either mode,
the full stop may be followed by optional text; Jupiter Faucet uses that optional
text as the outgoing memo on the perpetual ICP transfer. Declared neurons must be
'public' in order for Jupiter Faucet to derive their staking accounts.
The full ICP commitment memo must be ASCII and at most 32 characters.
For canister targets, hyphens in the principal may be omitted to save space. Use the
memo builder on the next slide to build a valid memo.
Developer tip: You can adjust the canister/neuron,
title, and label parameters in the following URL to customise the memo helper
form on the next slide for a smoother user experience:
#how-it-works:2?canister={protocol canister ID}&title={custom title}&label={custom label}
e.g.
ONICAI's mAIner ID Memo Builder
tops up the protocol's GameState canister with raw ICP; GameState then routes a
portion as cycles to the declared mAIner.
IO's IO Perpetual Stake Memo Builder
causes Jupiter Faucet to perpetually pay into the IO neuron's staking account,
driving an ever-increasing minimum APY for all IO holders. In this particular
case a '.' suffix is superfluous.
Extra tip: Developers may wish to deploy an instance of the
Jupiter Relay
canister. The relay acts as a singular target for perpetual top-ups using raw ICP
(the '.' memo syntax documented above). It periodically samples the
cycles balance of configured canisters, tops them up proportionally to burn rate,
then routes remaining ICP to configured treasury canisters and/or public neuron
staking accounts.
Memo Builder
This memo helper simplifies constructing a memo from your chosen ID and a protocol
canister that facilitates a specialised top-up flow.
Health & Safety Notice: Please make sure that you have identified
the controller of the protocol canister
and that it belongs to a DAO or reputable pre-DAO dev team who prescribe this
canister. Jupiter Faucet
is not responsible for lost funds resulting from user indiscretion.
Use the generated memo as described in the
basic instructions
(in place of the "declared canister ID") to make your ICP commitment and initiate
perpetual top-ups.
For more information about this memo builder see
Advanced Usage.
Base maturity: 100% of the base (non age-bonus)
maturity generated from committed stake is used to perpetually burn ICP, mint cycles,
and top up the declared canister over time.
Age bonus maturity: the age-bonus component (between
0% and 20% of total maturity depending on stake age) is split
into:
• 0%–19% distributed to SNS jUP stakers in the form of newly minted IO (a liquid staking protocol that will be launched alongside Jupiter Faucet)
• 0%–1% restaked into the
D-QUORUM
neuron to help fund decentralized due diligence of NNS proposals, because a pre-requisite for truly unstoppable canisters is a secure and decentralized network.
Rewards:
jUP SNS tokens will be minted to patrons who have
committed ICP
to the staking account
of Jupiter Faucet's neuron
(following the rules described). Contributions must meet the requirements in order to be counted (transactions of at least 1 ICP featuring a memo that declares a canister ID or neuron ID).
While the Jupiter Faucet SNS rewards components are still being finalised the ICP will accumulate in the
rewards account
(reserved until SNS launch). See Governance for more info.
Jupiter Stake
Direct ICP ledger balance plus public NNS neuron details.
The Jupiter neuron is publicly visible on the ICP dashboard. Its maturity is disbursed to the controlling disburser canister before being routed to the faucet, SNS rewards, and D-QUORUM destinations shown on the following pages.
Historian tracks the aggregate; recent rows are queried live from the ICP index canister.
Total Output counts ICP routed from the disburser staging account to the faucet payout account.
Total output
Timestamp
Amount
Tx ID
Loading…
Page 1
Total Rewards
Historian tracks the aggregate; recent rows are queried live from the ICP index canister.
Total Rewards counts ICP routed from the disburser staging account to the SNS rewards account.
Total rewards
Timestamp
Amount
Tx ID
Loading…
Page 1
D-QUORUM Route
Recent rows are queried live from the ICP index canister.
D-QUORUM Route shows ICP routed from the disburser staging account to D-QUORUM's staking account.
D-QUORUM routed shown
Timestamp
Amount
Tx ID
Loading…
Page 1
Patron Commitments
Loading next historian run…
See How It Works for qualifying commitment rules. This table shows a bounded recent view; full transfer history remains durably queryable from the ICP ledger and its archive canisters.
Declared Canisters
Timestamp
Amount
Declared
Loading…
Page 1
See Advanced Usage for raw ICP commitment rules. This table shows a bounded recent view; full transfer history remains durably queryable from the ICP ledger and its archive canisters.
Declared Raw ICP Canisters
Timestamp
Amount
Declared
Loading…
Page 1
See Advanced Usage for neuron commitment rules. This table shows a bounded recent view; full transfer history remains durably queryable from the ICP ledger and its archive canisters.
Declared Neurons
Timestamp
Amount
Declared
Loading…
Page 1
Memo Tracker
Inspect memo-based cycle top-ups, raw ICP canister inflows, and public neuron staking-account inflows.
Paste the memo you used. Plain canister memos open cycle top-up tracking; dotted canister memos show raw ICP into the target canister account; numeric memos show public neuron staking-account inflows.
Simulator
Model how much ICP you may need to commit for a declared canister so Jupiter Faucet's recurring maturity can keep pace with the canister's daily cycles burn.
Cycles per ICP
—
ICP/XDR rate source
—
Projected annual ICP to CMC
—
Projected annual cycles
—
Projected annual burn
—
Age bonus diverted
—
Effective top-up APY
—
Year-end projected balance
—
Break-even commitment
—
TOP
UPS
JUPITER
FAUCET
Powers unstoppable dapps running on a public World Computer by delivering a simple, set-and-forget, perpetual top-up solution that's trustless, permissionless and immutable. Adopters receive front-loaded jUP SNS airdrops. → How?