Decentralized and non-custodial
HabitProofX never asks for a seed phrase, never requests token approvals, and never sends value in a transaction. After testing, protocol contracts are immutable. The Streak Vault is not live until a real vault address is pinned. When live, you may stake any ERC-20 on PulseChain (Ethereum and Base vaults use the same bytecode once pinned). Fees from a ramp go to that destination token’s pool — not a global split a fake token can siphon. Browser marks and confirmCycle never change payouts. Protocol metadata — verified source, ABI, a frozen snapshot of the Terms, Privacy, Security and white paper, and any future vault or token metadata — is pinned to IPFS and retrieved by content hash. User habits are not stored on IPFS; they stay on-chain and, as reminders, in your browser. Ramp only through official ProveX. Security · Terms · Privacy · IPFS
Streak Vault
Yield paid for showing up.
The Streak Vault is not live until a real vault address is pinned. When live, you may stake any ERC-20 on PulseChain (Ethereum and Base vaults use the same bytecode once pinned). Fees from a ramp go to that destination token’s pool — not a global split a fake token can siphon. Browser marks and confirmCycle never change payouts. Only 1% of each ramp is a fee. You keep 99% as crypto. 100% of that small fee — not the ramp — is swapped to stablecoins when the vault is live. Single-sided deposits. Zero impermanent loss. Browser streaks do not change payouts. The vault contract, once tested, is immutable. Protocol metadata is pinned to IPFS.
Where stake sits
Stake transfers the ERC-20 out of your wallet (MetaMask, Phantom, or a connected hardware wallet) into the Streak Vault contract. The vault holds the tokens; your wallet holds the keys. Tokens are not frozen inside the wallet — EOAs cannot lock ERC-20s. Unstake sends the same token amount back. No admin can seize the vault. Cold-storage tokens that never sign a stake transaction do not earn vault yield.
Live stable APR
—
PulseChain $PRVX
—
Wallet
Not connected
Vault stake token
PLS
Pulse
PulseChain · native
Stake network
Home of the Streak Vault. Any PulseChain ERC-20 can be staked when the vault is live.
Stake any PulseChain ERC-20. Wrap PLS to WPLS first.
Stake any ERC-20 you want on a live EVM vault (PulseChain first; Ethereum and Base when those addresses are pinned). Solana and Sui vault programs are not deployed. Robinhood is a brokerage — withdraw to a chain before staking. Isolated pools; a token with no ramps earns no fees.
Eligible vault TVL
$0
0% of $500,000 HABIT gate · epochs paid 0 · on-chain habits 0
Eligible TVL and on-chain streaks stay at zero until registry and vault addresses are pinned. Browser streaks never count. HABIT (not live) still requires a 2-month on-chain streak, a 30-day window, and a 15% developer allocation locked 2 years. Independent audit is not required for the vault to go live. Do not pin contract addresses until the rest of the client is done. Addresses are the last item.
Stake / unstake
Disabled until vault address is pinned
Principal only. Unstake returns PLS and pauses that token until the next epoch. It does not pay fees. PLS · PulseChain. Max 32 tokens per wallet. Do not stake fee-on-transfer or rebasing tokens — unstake sends the accounted amount and can strand the last holders. Plain stable transfers that skip notifyFee are not credited. When the Streak Vault is live, this interface may request an ERC-20 approve of an exact stake amount to the pinned vault address only — never unlimited. Approve is fail-closed until that address is pinned. Permit / signTypedData spending paths are not used. Any ERC-20 except the vault’s stable yield token.
Wrap native coins before staking. Paste the ERC-20 contract (e.g. WPLS).
Claim fees
—
Stablecoin yield · stake stays put
Claim pays stablecoin fees only. Your staked tokens stay in the vault. Unstake withdraws principal for that token and pauses it until the next epoch. You never unstake to collect yield.
Eligible TVL formula
Indexer: empty — no vault address pinned. This is the published definition, not a marketing number.
eligible_tvl_usd =
sum over staked ERC-20 in live vaults (
staked_token[wallet] × token_usd
)
where wallet is staked, not same-epoch, not on the exclude list, token_usd > 0- •Count any ERC-20 currently staked in a live Streak Vault (PulseChain first; Ethereum/Base when pinned)
- •Price each asset at the observation block (DexScreener pair on that chain, or 0 if no print)
- •Exclude deposits in the same weekly epoch as the observation
- •Exclude published developer-controlled wallets (list is empty until TGE)
- •Do not count localStorage streaks, unstaked tokens, Robinhood balances, or off-chain promises
HABIT snapshot rules
Draft published now. No TGE date. Token does not exist until the meter hits the gate after a live vault. Token page: /habit.
- 01Eligible TVL holds at $500,000 (not a date)
- 02Wallet has been an *active* vault staker (any ERC-20 in a live vault) for ≥ 2 months (eligible epochs only — not browser marks, not self-attested confirmCycle)
- 0330-day window after snapshot — dumpers forfeit
- 0415% developer allocation locked 2 years
- 05No implied TGE date. Progress is the meter, not a calendar.
How your share is calculated
weight_wad = epoch-active raw × scale (HEX × 1e10; others 1) pool_slice = epoch_stablecoin_revenue × pool_wad / total_wad share = your raw / pool totalActive raw payout = share × pool_slice // Claim; Unstake does not pay active = staked that token since a prior epoch (top-up resets that token)
Miss a habit cycle if you want — it does not change vault payouts. Any ERC-20 in a live vault that survived an epoch delay earns that token’s destination-pool fees. A token with no ramps earns nothing. Claim pays stablecoins; unstake is principal only. Full mechanic: destination-token fee pools.
How yield is created
fee = ramp_volume × 0.01 // flat 1% treasury = swap(fee -> stablecoin) // all of the 1% fee, not the ramp epoch = treasury_collected_this_week APY = (trailing_4_epochs × 13) / staked_USD
The 1% fee is the only amount collected. 100% of that fee becomes vault yield. The rest of the ramp is yours.
Held in the vault
Stake leaves MetaMask, Phantom, or a connected hardware wallet and sits in the Streak Vault contract. Keys stay in your wallet. Unstake sends the same token amount back. Air-gapped tokens that never sign do not earn.
Paid in stablecoins
Fees are swapped to a stablecoin the moment they are collected. Click Claim to receive them. You never unstake to get paid.
Zero emissions
Nothing is minted, ever. Every cent distributed is revenue that already happened. $PRVX burns on ProveX settlement are a separate mechanism.
APR from real volume
The rate is trailing four-epoch revenue annualised over staked value — small when volume is small, because it is honest.
Weekly epochs
Each epoch pays the destination token’s isolated pool. A fake token with no ramps earns nothing and cannot siphon another pool. Stake or top-up waits until the next epoch. The vault contract is immutable after testing — no admin rewrite of the rules.
Single-sided staking
Single-sided staking: deposit one ERC-20 at a time. You never pair it with a second asset or provide AMM liquidity. Native PLS must be wrapped to WPLS.
Zero impermanent loss
Zero impermanent loss: the Streak Vault is not a two-sided AMM pool. Unstake returns the same token amount you deposited. Yield is claimed separately in stablecoins. The token’s USD price can still move — that is market risk, not IL.
Start the streak first
The vault opens for any ERC-20 on a live vault chain when a real address is pinned. Independent audit is not required to go live. Set your habit as a reminder; local streaks never set HABIT eligibility.
Set my habit