Introduction
What is BountyFlow?
BountyFlow is an on-chain bounty platform. Someone posts a quest — a concrete on-chain action like a set of swaps, a hold period, or a staking position — and locks the reward in escrow. A hunter completes the action from their own wallet. The chain confirms it, and the reward releases automatically. No screenshots, no forms, no moderator approval.
Every other bounty board stops at "submit your proof and wait." BountyFlow removes the wait and the human in the loop: the on-chain record is the proof, and a verifier reads it directly through an indexer.
Do an on-chain action → the chain verifies it → you get paid in SOL, automatically.
Motivation
Why BountyFlow exists
Quest and bounty platforms — Hivemind, BountyPool, BountyCraft and the rest — all share the same gap: someone has to manually verify that the work was done. That means uploading a screenshot, filling a form, and waiting for a reviewer to approve it. It is slow, gameable, and entirely trust-dependent: the hunter hopes they get paid, the poster hopes the hunter was honest.
For on-chain actions, that manual step is unnecessary. A swap, a hold, a stake — they all leave a permanent, public record. BountyFlow reads that record and settles against it. The result is the one thing the others can't offer: trustless verification.
| Step | Typical bounty board | BountyFlow |
|---|---|---|
| Proof of work | Screenshot / form | On-chain record |
| Verification | Manual review by a mod | Indexer reads the chain |
| Payout | Manual, after approval | Automatic on settle |
| Trust required | In the reviewer | In math, not people |
| Time to settle | Hours to days | Seconds after conditions met |
Fundamentals
Core concepts
Four primitives make up the whole system. Understand these and the rest follows.
Primitive 01
The Quest
A precise, machine-checkable on-chain task: "10 swaps on Jupiter in 7 days," "hold token X for 30 days," "stake in pool Y." Defined by the creator.
Primitive 02
The Escrow
The reward is locked in a smart contract the moment a quest goes live. Hunters can see the prize is real and funded before they lift a finger.
Primitive 03
The Verifier
An indexer-backed service that reads wallet activity and evaluates a quest's conditions. It counts swaps, tracks balances, detects rebalances. Math, not moderators.
Primitive 04
Auto-Settle
When the verifier confirms the conditions are met, the escrow releases the reward to the hunter's wallet — no claim button, no approval queue.
End to end
The quest lifecycle
From posting to payout, every quest follows the same five stages.
- Create & fundCreator defines the action, deadline, and reward, then funds the escrow. The quest is now live and discoverable.
- AcceptA hunter connects a wallet and accepts the quest. The wallet address is bound to the quest as the address that will be checked.
- PerformThe hunter completes the on-chain action on the protocols they already use — Jupiter, a token, an LP pool.
- VerifyThe verifier reads the wallet's activity through an indexer and evaluates the conditions continuously.
- SettleConditions met → the escrow contract releases the reward automatically. The quest closes.
Verification is continuous, not a one-shot check. A hold quest, for example, is re-evaluated until the full duration elapses or the condition breaks.
Bounty Types
What you can post
BountyFlow ships with three verifiable quest families. Each maps to a class of on-chain action the verifier knows how to read deterministically.
| Type | Example | Reward | Settles when |
|---|---|---|---|
| Swap | 10 swaps on Jupiter / week | 0.5 SOL | Nth qualifying swap confirms |
| Hold | Hold token for 30 days | 0.2 SOL | Duration elapses, balance intact |
| Stake / LP | Stake in pool | 0.1 SOL | First rebalance after entry |
Bounty Types · Swap
Swap quests
Reward hunters for routing volume through a DEX. The verifier counts qualifying swaps from the bound wallet within the time window. Partial fills count toward the target.
Example
"Make 10 swaps on Jupiter in a week → 0.5 SOL." The hunter routes any 10 swaps through Jupiter within 7 days of accepting. On the 10th confirmed swap, the escrow releases 0.5 SOL.
Configuration
{
"type": "swap",
"venue": "jupiter",
"count": 10,
"window": "7d",
"minNotionalUsd": 5, // ignore dust swaps
"reward": { "asset": "SOL", "amount": 0.5 }
}
Bounty Types · Hold
Hold quests
Reward conviction. The hunter must keep a minimum balance of a token in the bound wallet for a continuous duration. The verifier watches the balance — sell below the threshold and the quest resets or fails, depending on the rule.
Example
"Hold this token for 30 days → 0.2 SOL." Keep the token in your wallet for 30 continuous days. The indexer tracks the balance, not a moderator. After the 30th day with the balance intact, 0.2 SOL releases.
Transferring the token out — even to another wallet you own — breaks the continuous-hold condition. Verification is per the bound address only.
Bounty Types · Stake / LP
Stake / LP quests
Reward providing liquidity or staking. The hunter enters a position and stays in through a defined on-chain event — most commonly the pool's first rebalance after entry. The verifier detects the position and the event.
Example
"Stake in this pool → 0.1 SOL after first rebalance." Provide liquidity and remain staked through the pool's next rebalance. Once that rebalance event is observed on-chain with the position still active, the payout releases.
Mechanics
Trustless verification
Verification is the heart of BountyFlow. Instead of trusting a submission, the verifier subscribes to the bound wallet's activity through an indexer and evaluates the quest's conditions against the raw on-chain history.
- Deterministic — given the same chain state, every evaluation returns the same result. No discretion, no disputes.
- Continuous — conditions are re-checked as new blocks land, so time-based quests (holds, durations) resolve exactly when they should.
- Sybil-aware — quests bind to the accepting wallet; spreading activity across wallets doesn't satisfy a single quest.
- Auditable — anyone can replay the same indexer reads and arrive at the same settle decision.
What the verifier reads
| Quest family | Signal read on-chain |
|---|---|
| Swap | DEX program instructions & fill events from the wallet |
| Hold | Token account balance over time (snapshots per block) |
| Stake / LP | Position accounts & pool rebalance events |
Mechanics
Settlement & payouts
When the verifier marks a quest's conditions as satisfied, it submits the settle instruction to the escrow contract. The contract verifies the proof and transfers the reward to the hunter's wallet in the same transaction.
- Conditions metThe verifier flips the quest to
SETTLEABLEthe instant the on-chain criteria are satisfied. - Settle instructionThe escrow program checks the verifier's attestation against the quest rules stored at creation.
- ReleaseIf valid, the reward transfers to the hunter. The quest moves to
SETTLEDand is closed.
Hunters don't claim — settlement is pushed automatically. If a quest expires unmet, the escrow refunds the creator.
Mechanics
Fees
BountyFlow charges a small protocol fee on settled rewards. Posting and accepting are free; you only ever pay network gas plus the protocol fee on a successful settle. Expired, unmet quests are refunded in full minus network gas.
| Action | Cost |
|---|---|
| Post a quest | Free + network gas to fund escrow |
| Accept a quest | Free |
| Successful settle | Protocol fee on the reward + network gas |
| Expired / unmet | Full refund to creator, minus network gas |
Mechanics
Security & trust model
The escrow contract is the only component that moves funds, and it only releases against rules fixed at creation time. The verifier can attest that conditions are met, but it cannot change a quest's terms or redirect a payout.
- Funds are escrowed, not custodied — rewards sit in a program-owned account, released only by the settle path.
- Rules are immutable post-funding — a creator can't move the goalposts after a hunter accepts.
- Connect-only auth — you sign to prove wallet ownership; BountyFlow never asks for private keys or token approvals beyond what a quest needs.
- Replayable settlement — every settle decision can be independently reproduced from public chain data.
BountyFlow is non-custodial. Always confirm the program and the quest terms in your wallet before signing.
Guides
For hunters
Earning a bounty takes three actions and zero paperwork.
- Connect your walletOpen the app and connect. You're signing to prove ownership — nothing is moved.
- Pick a quest and acceptBrowse live quests, read the conditions and reward, and accept. Your wallet becomes the bound address.
- Do the action and get paidComplete the swap, hold, or stake from your wallet. When the chain confirms, the reward lands automatically.
Guides
For creators
Posting a bounty means defining a checkable action and funding the prize.
- Define the actionChoose a type — swap, hold, or stake — and set the parameters (count, duration, venue, thresholds).
- Set the reward and deadlinePick the payout amount and the window in which hunters can complete it.
- Fund the escrowLock the reward in the contract. The quest goes live and discoverable the moment it's funded.
- Let it settle itselfNo reviewing submissions. Met quests pay out automatically; expired ones refund you.
Guides
API & webhooks
Read quest state and subscribe to settlement events programmatically. The public read API requires no auth; webhooks let your backend react the moment a quest settles.
Fetch a quest
# Read a quest's live status
curl https://api.bountyflow.xyz/v1/quests/QUEST_ID
Subscribe to settlements
{
"event": "quest.settled",
"questId": "q_8f2a…",
"wallet": "7xKX…9fQ",
"reward": { "asset": "SOL", "amount": 0.5 },
"txSignature": "3Vn…"
}
API endpoints are illustrative for this preview. Production base URLs and auth scopes ship with the public launch.
Reference
Frequently asked questions
Do I have to submit proof of my work?
No. The on-chain record is the proof. The verifier reads your wallet's activity directly — there's nothing to upload.
How fast do I get paid?
As soon as the conditions are met on-chain. For swap quests that's the moment the qualifying swap confirms; for holds it's when the duration completes.
Can I use multiple wallets to complete one quest?
No. A quest binds to the wallet that accepted it. Activity from other wallets doesn't count toward that quest.
What happens if nobody completes a quest?
When the deadline passes with the conditions unmet, the escrow refunds the creator in full, minus network gas.
Is BountyFlow custodial?
No. Rewards sit in a program-owned escrow and you connect with a wallet signature. BountyFlow never holds your keys.
Which chain does it run on?
Solana. The verifier reads Solana program activity and the escrow is a Solana program.
Reference
Glossary
| Term | Meaning |
|---|---|
| Quest | A machine-checkable on-chain task with a reward and deadline. |
| Bound wallet | The wallet that accepted a quest; the only address checked for that quest. |
| Verifier | The indexer-backed service that evaluates quest conditions against chain data. |
| Escrow | The program account holding a quest's reward until settle or refund. |
| Auto-settle | Automatic release of the reward when conditions are met — no claim step. |
| Rebalance | A pool event that adjusts liquidity allocation; used as a settle trigger for LP quests. |