Principal is not yield
hpFLR principal, validator rewards, AMM reserves, swap fees, delegation rewards, and external pool incentives have separate accounting.
Flare network
Flare-native financial infrastructure · Coston2 live rehearsal
The Forge is a modular protocol for oracle-protected exchange, hpFLR liquid staking, public liquidity coordination, opt-in shielded transfers, and independently verifiable evidence. Each surface states what is on chain, what remains operational, and what the platform does not promise.
Public on-chainCoston2 applicationLive, chain 114
Shielded transfersAttested testnet deployment
Flare mainnetNot deployed
Protocol model
The interface composes several systems without pretending they share the same assets, permissions, privacy properties, or failure modes.
hpFLR principal, validator rewards, AMM reserves, swap fees, delegation rewards, and external pool incentives have separate accounting.
Normal protocol activity is visible on chain. Only the dedicated shielded-transfer path obscures the link between one deposit and one withdrawal.
FTSOv2 references constrain protected swaps. Missing, stale, malformed, or divergent mandatory data stops the affected execution.
ProofRails can prove exact reconciled bytes were signed and anchored. It does not make arbitrary metadata true or convert testnet activity into certification.
Platform capabilities
Every card links to its executable interface. Open “Technical detail” for transaction flow, enforcement boundaries, and current limitations.
Deposit native FLR one-for-one for hpFLR, retain a transferable principal receipt, enter a FIFO redemption queue, and account for validator rewards separately from principal.
The Vault receives native FLR and mints the immutable, fee-free hpFLR token. Operations may release bounded FLR only to the configured staking destination. Pending stake, confirmed stake, returned stake, liquid reserve, recognized loss, and reward liabilities are accounted as distinct states.
Redemptions escrow hpFLR in a one-way FIFO queue. Claims become available only as the Vault funds queue positions; the corresponding hpFLR is burned on payment. Validator rewards are recognized from measured native balance changes and distributed through reproducible historical ownership rather than increasing the hpFLR exchange rate.
P-chain custody, validator operation, and the stake mirror are explicit operational trust boundaries. The deployed Coston2 instance is liquid and reconciled, but it does not currently claim an active mirrored validator delegation or validator-reward lifecycle.
Request a route across verified venues, receive an amount-bound quote, and execute only a continuous token path whose configured FTSOv2 limits still hold on chain.
The same-origin route engine searches only configured venue types, approved assets, bounded hop counts, and continuous token paths. A quote names every venue, pair, token transition, expected output, oracle boundary, block, and expiry.
The aggregator accepts typed venues rather than arbitrary call targets. It uses exact temporary token allowances, applies a fresh oracle-derived minimum to each venue, checks realized output afterward, and rejects any hop that leaves part of its exact input behind. Forge pairs also enforce their configured oracle guard when called without the application.
No route, stale data, missing policy, excessive deviation, expired quote, broken continuity, or insufficient executable liquidity stops the transaction path. The affected status explains the guard only when it triggers; a failed preflight submits no transaction.
Use a dedicated C2FLR or WFLR pool as a short-lived unlinking step, then make partial or full withdrawals without revealing which earlier commitment supplied the transition.
A valid proof shows that one unspent private balance in an accepted Merkle root authorizes an exact transition, without disclosing which commitment it is or the balance carried forward. Initial deposits, top-up amounts, withdrawal amounts, asset, transaction times, submitter, and recipient remain observable.
The pool is a temporary transfer-privacy tool. Its practical purpose is to reduce the direct on-chain link between a person's broader holdings and a routine payment address—for example, a merchant or delivery service should not gain a map of a customer's main wallet merely because the customer paid for an order. It is not intended for long-term storage.
The browser creates a high-entropy viewing key and fresh note secrets, then downloads a password-encrypted recovery kit before the first transaction is submitted. The viewing key discovers and decrypts that account's successor notes directly from on-chain events. Forge keeps no password, account database, or recovery authority.
A local Groth16 proof consumes one current note, pays a chosen public amount, and commits any private remainder to a fresh encrypted note. The recipient is proof-bound but the sender is not, so another funded wallet can import the kit, pay gas, and submit to a separately chosen recipient.
Commitments, nullifiers, and proofs include a domain derived from the exact chain and shielded-pool address. The authentic client verifies the chain, pool runtime bytecode, verifier, hasher, registry, oracle, wiring, and domain before each recovery-kit unlock.
Different public amounts and delayed submission may reduce simple matching, but they do not hide the public values themselves. A small pool, timing, wallet reuse, RPC metadata, compromised hosted page, or hostile browser extension can still destroy practical privacy.
Initial and successor notes carry a separate encrypted compliance copy. The authorized workflow validates the note and originating pool event before creating ProofRails evidence. ProofRails verifies evidence provenance; it does not make transfers private or create spend authority.
Supply assets to stable or volatile pools, receive LP ownership, and optionally deposit that ownership into vaults that account for historical fees and eligible reward streams.
Liquidity minting and burning are proportional to reserves after permanently locked initialization liquidity. Stable pools normalize decimals and enforce a minimum usable invariant. Removal honors user minimums and permits cannot be invalidated merely by a front-run that consumes the same valid approval.
Swap fees are separated from reserves. LP vaults harvest accrued ownership before minting new shares, preserving historical claims for existing holders. Rewards arriving with zero supply are queued, and unelapsed streams are re-queued when the last staker exits.
LPs bear price movement, price impact, impermanent loss, asset-contract behavior, and market-liquidity risk. FTSOv2 guards constrain configured execution deviation; they are not insurance, a price guarantee, or a promise that liquidity can always be removed at the deposited economic value.
Use fixed-supply BBX for time-weighted governance, proposal voting, gauge direction, and fee participation without a protocol-issued incentive stream.
Vote-escrow positions represent time-locked governance ownership. Proposal and quorum calculations use historical timestamp checkpoints; tokens acquired after voting begins do not retroactively add power. Liquid staking vote weight is likewise checkpointed.
A proposal must reach the required state and execute with the correct description hash. Governance can exercise only functions exposed by governed contracts and remains subject to invariant checks, hard parameter caps, ownership transitions, and applicable timelocks.
BBX is the governance asset. Supported gauges are fee-only at the protocol level, and retained legacy minter, rebase, and seasonal distribution bindings remain disabled. External pool incentives are a separate deployer responsibility.
Stake eligible LP positions for pool fees and, when offered, a pool-specific external reward token supplied and maintained by that pool’s approved deployer.
Gauge creation is restricted. Each gauge may be assigned one approved incentive deployer, and only that address can create and maintain the gauge’s external rewarder. LaunchPad-approved projects receive the assignment for their own pool.
The deployer approves the exact reward amount and funds the rewarder atomically with its chosen positive duration. The resulting rate must be nonzero. Revocation blocks new streams but cannot erase already funded liabilities.
Token behavior, value, disclosures, funding continuity, renewal, and legal obligations belong to the deployer. Reward-token failure is isolated from LP principal so an optional incentive cannot prevent principal withdrawal.
Coordinate bounded project funding, price formation, pool creation, liquidity ownership, and the handoff of a project-managed incentive program.
A project defines its paired asset, contribution window, funding target, minimum fill, curve type, and approved incentive assets. LaunchManager has narrowly scoped pair-creation permission and processes active launches in bounded rotating batches.
Successful funding creates liquidity under canonical pair identity and assigns resulting ownership pro rata. Rounding dust is assigned rather than becoming ownerless. Consumed accounting is cleared and unused token allowances are revoked.
An individual launch that cannot transition is deferred without blocking unrelated projects. Cancellation and completion loops are bounded, and a cap on distinct incentive tokens prevents an attacker from making finalization unexecutable.
Delegate WFLR held by eligible liquidity pools to approved FTSO data providers and stream measured claimed rewards to associated LP vaults.
The registry restricts eligible provider identities and the delegation manager applies bounded weights. Removing a provider also clears its lifecycle state, preventing obsolete configuration from remaining silently active.
The pair authorizes the manager through Flare’s claim-executor mechanism. A keeper supplies canonical reward proofs; the manager measures the WFLR actually received and forwards that amount to the configured distributor and LP vault.
Delegation rewards are not hpFLR validator rewards, swap reserves, or deployer-funded incentives. Provider performance, Flare reward availability, keeper liveness, and canonical proof availability can affect the stream.
Reconcile a cited settlement, construct a deterministic signed evidence archive, anchor its complete hash, and verify content, signer identity, transaction provenance, and confirmation policy together.
The service verifies chain, success, confirmations, asset, sender, receiver, and exact amount, then creates a deterministic six-file archive. Canonical file names, lengths, hashes, signature, signer fingerprint, complete ZIP hash, and on-chain anchor transaction form one verification result.
The request API does not receive signing or anchor private keys. Workers do not receive administrative or API-pepper secrets and reject accidental HTTP serving. PostgreSQL holds project-scoped durable state; authenticated Redis/RQ coordinates durable jobs and locks.
The EvidenceAnchor is live on Coston2 and the complete flow passed repeated rehearsals. The API/worker/database/queue/adapter plane currently runs separately from Cloudflare Pages; static hosting does not provide continuous evidence processing.
Find the best executable route across Forge and supported Flare liquidity venues.
Forge direct route
Balance: —
Balance: —
Mint hpFLR with C2FLR, provide liquidity on Forge, or redeem through the on-chain FIFO queue.
Your C2FLR
Your hpFLR
Queued / unfunded
Ready to claim
The vault mints hpFLR for your deposit. Eligible pooled liquidity is released to P-chain validator staking and is counted as confirmed stake only after the on-chain stake mirror observes it.
Queue allowance: —
If vault liquidity is available, the oldest queued positions are funded immediately. Otherwise your request keeps its FIFO position.
Connect your wallet to load positions from the configured on-chain queue.
Liquid reserve
—
Recognized assets
—
Liabilities
—
Recognized rewards
—
Pending validator stake
—
Confirmed validator stake
—
Direct hpFLR holders need no registration. LP, gauge, and vault exposure is attributed to the underlying wallet by the epoch calculator.
Connect your wallet to load published on-chain reward epochs.
Provide liquidity to earn swap fees, delegation yield, and any explicitly configured reward funded by that pool's approved deployer.
Pool: not yet detected
Balance: —
Connect wallet to view positions.
Lock BBX to earn veBBX voting power. Your votes determine which new trading pairs get created on Forge.
Balance: —
Voting power
—
Unlock date
—
Connect wallet to view your veNFTs.
veBBX
—
Staked BBX ×mult
—
Stake multiplier
—
Total vote power
—
—
Staking BBX earns time-weighted governance vote power. The longer you stake without withdrawing, the higher your multiplier. Any withdrawal resets the clock.
Staked: — BBX · Wallet: — BBX
Propose new trading pairs. veBBX + staked BBX holders vote — a passed proposal creates the pool on-chain and configures FTSO delegation atomically.
Total vote power
—
From veBBX
—
From staked BBX
—
Stake multiplier
—
Vote For or Against each active proposal. Passed proposals can be executed by anyone.
Loading proposals…
Requires veBBX or staked BBX above the proposal threshold.
Delegate your epoch voting to the protocol strategy. Your veNFT votes automatically each epoch on the highest-priority pool proposals.
AVM total VP
—
Status
—
—
Voting delay
2 min
Voting period
3 days
Quorum
4% veBBX
Return comes from fees, Flare delegation, or separately funded external assets. Forge does not issue protocol incentive emissions.
Every swap charges a fee that stays inside the pool. Your share grows automatically — nothing to claim or stake. You receive it when you remove liquidity.
Volatile pools
0.3%
Stable pools
0.05%
→ Add liquidity in the Liquidity tab.
An approved pool deployer may supply its own reward token to its own approved pool. Forge does not issue, fund, custody, endorse, guarantee, or maintain that token or program.
Protocol incentive emissions
Disabled
Funding source
Pool deployer
Availability, token behavior, reward rate, continuation, disclosures, and regulatory obligations remain the supplying deployer's responsibility.
Flare's network pays WFLR to anyone who delegates to an FTSO data provider. Forge pools that hold WFLR delegate automatically. A keeper bot harvests those rewards and streams them to vault depositors — 100% to LPs, 0% to the protocol.
Eligible pools
Registered WFLR pairs
fXRP / WFLR
USDT0 / WFLR
Reward token
WFLR
Protocol cut
0%
Deposit LP tokens to earn streamed WFLR delegation rewards. 7-day anti-snipe window per harvest.
Total LP Deposited
across all vaults
WFLR / week
active reward streams
Your Total Earned
claimable WFLR
Active Vaults
ERC4626 · 7-day stream
Connect wallet or loading…
Rewards stream per-second over 7 days after each keeper harvest. fLP tokens are transferable — buyers inherit the live WFLR yield stream.
Bootstrap new projects with protocol-owned liquidity.
Loading launch pools…
Temporarily separate a public C2FLR or WFLR origin from a later withdrawal without exposing the consumed note or hidden remainder.
The shielded pool hides which current note authorizes a top-up or withdrawal and hides the balance carried into its successor note. It does not hide public transaction amounts, depositing wallets, assets, transaction times, withdrawal submitters, or recipients. Matching values, close timing, or a small anonymity set can still permit correlation.
The link from a current C2FLR or WFLR commitment to a valid transition, including the note's pre-transition balance and any balance carried forward.
Swaps, hpFLR minting and redemption, validator staking, liquidity, LP vaults and rewards, delegation, launches, governance, and ordinary wallet transfers.
Private swaps, private staking, hidden public transaction amounts or recipients, private activity after withdrawal, or protection from browser and network metadata.
Each initial or successor note stores a user ciphertext and a separate compliance ciphertext on chain. A holder of the compliance decryption key can decrypt its copy; committee authorization governs official disclosure and ProofRails evidence creation.
Shielded-transfer contract: loading…
Commitments recorded · lifetime
C2FLR currently shielded
WFLR currently shielded
Assets enabled now
Lifetime commitments include initial and successor notes, including notes already consumed. Current shielded balances show only assets held by the contract now.
Before you deposit
A private account is a portable viewing key plus rolling per-asset bearer notes—not a server record, password-keyed contract mapping, or private version of the rest of Forge.
Your browser generates a high-entropy viewing key plus a fresh secret and nullifier. The plaintext never goes to a Forge server or contract.
Your wallet sends C2FLR or WFLR to the shielded contract. The contract binds the received asset and exact amount into one Merkle leaf.
Before transaction submission, the browser downloads a password-encrypted portable kit. The kit and password let any compatible client discover successor notes from chain data; losing either can make the balance unspendable.
Any funded wallet holding the kit and password can prove a top-up or withdrawal locally. The contract consumes the old nullifier and, for a partial spend, records a fresh encrypted remainder note.
Cryptographically hidden
The proof establishes valid membership and one-time spend authority without publishing those values.
Public on chain
A unique amount, short delay, small anonymity set, or reused wallet can still expose a likely correlation.
Funds the public entry transaction and creates the note. The deposit address receives no permanent withdrawal privilege.
Controls the portable kit and password. This is bearer authority: whoever reconstructs the active note can attempt its first valid transition.
Any connected funded wallet that sends the withdrawal transaction and pays gas. Its address is public but is not bound as the depositor.
The public address bound into the proof and paid by the contract. It may differ from both depositor and submitter.
Account label: a local organizer only; it is not sent to the contract and does not define an account. Labels must be unique, and Forge refuses to overwrite an existing recovery kit.
Password: protects the portable file; it is not a contract credential and never becomes an on-chain ledger key. Reuse does not merge accounts because every kit has an independent viewing key, fresh salt, and nonce, but one compromised password could expose every kit using it.
Payment reference: optional encrypted metadata. Reuse has no effect on commitments, ownership, or accounting.
Secret and nullifier: freshly generated for every initial or successor note and unavailable as form inputs. The contract rejects duplicate commitments and permits each domain-bound nullifier hash to transition only once.
Accounting: each recovery kit discovers its own on-chain notes and reconstructs one aggregate balance per enabled asset. Successful transitions consume an old note and create a fresh one for any remainder; the contract never maps balances to a wallet, label, password, or reference.
Contract binding: every commitment, nullifier, and proof includes a privacy domain derived from the exact chain ID and shielded-pool address. A proof made for a counterfeit deployment cannot authorize the configured pool.
Pre-unlock attestation: password fields remain disabled until the authentic client verifies the wallet/RPC chain, pool address and runtime code hash, verifier, hasher, registry, compliance oracle, mutual wiring, signer policy, and domain. It re-attests before deriving the password key and clears each field as soon as the value is read.
Hosted-code limit: no ordinary webpage can keep a typed password secret from malicious JavaScript already controlling that page or a hostile browser extension. Deployment binding prevents cross-contract proof use; it cannot stop compromised code from copying plaintext. Use the published standalone recovery client from a verified release on a clean device for higher-assurance recovery.
Each initial and successor note stores two ciphertexts: one decryptable through the user's recovery kit and one encrypted to the configured compliance key. The ciphertexts are public; their plaintext balances and note secrets are not.
The official disclosure workflow requires configured committee authorization, decrypts in the separate adapter, and rechecks the commitment, deposit transaction, asset, amount, and spent state before producing a public settlement projection.
ProofRails can sign, package, anchor, and later verify that evidence. It does not receive the secret or nullifier, does not create withdrawal authority, and does not turn public transaction fields into private data. A stolen compliance decryption key can bypass policy even though it cannot spend the note.
Temporary transfer layer: do not use this contract for long-term storage. Deposit only the amount you intend to transition for personal transaction privacy.
Minimum: —
Local organizer only; it is never sent on chain. A new label creates a portable recovery kit. Reusing an existing label and its password tops up that account's active balance for the selected asset.
Back up both this password and the downloaded recovery kit. Forge stores neither and cannot reset either. This field unlocks only after the authentic client attests the configured chain, pool, bytecode, dependencies, and privacy domain. Verify the browser address before entering it: a counterfeit page or hostile extension can copy anything typed into that page.
Encrypted note metadata only. It may repeat and does not affect the commitment, ownership, or pool accounting.
Any connected wallet with the encrypted backup and its password can generate and submit the proof. The submitter only pays gas and is publicly visible as the transaction sender; the contract does not require it to be the deposit wallet or the recipient. Password alone is not enough—the encrypted backup contains the bearer note secret and nullifier.
Connect any funded wallet to act as the public transaction submitter.
This field unlocks only after deployment attestation. The authentic client then uses the password locally and intentionally neither stores nor transmits it. Verify the browser address before entering it; a counterfeit page or hostile extension can copy typed data. The client reconstructs balances from confirmed chain records, and Forge maintains no account database.
May be any amount up to the reconstructed account balance. The ZK proof prevents overdrafts and carries hidden remainder into fresh encrypted on-chain state. If the amount spans independently active notes, the wallet must confirm one proof-bound transaction per consumed note.
This proof-bound address receives the withdrawn asset and is public on chain.
Proof generation uses pinned same-origin artifacts and may take several seconds. The old note is consumed atomically; a partial withdrawal creates a fresh hidden-balance note before the transaction completes.
This portable encrypted file is sufficient for any compatible recovery client to scan the pool and reconstruct current notes when combined with its password. Keep offline copies; Forge stores neither item.
Pools holding WFLR delegate to data providers. Rewards auto-compound into LP.
WFLR LP pools delegate voting power to Forge's FTSO data provider node. Delegation rewards are claimed by the keeper bot and streamed directly to LP vault stakers — 100% to LPs, 0% protocol extraction.
Registered pairs
—
Total delegated WFLR
—
Governance-created WFLR pairs are registered automatically. This recovery control registers an existing pair with the protocol's primary provider.
Harvesting is performed automatically by the Forge keeper bot each reward epoch (~3.5 days). It fetches FSP reward Merkle proofs and calls harvestAll(pairs, proofs, epochs). WFLR flows to LP vaults and streams over 7 days.
First configured vault
—
Second configured vault
—