Caper Docs
Caper is a Radix-native platform for launching DAOs with a permanent bonding-curve AMM and ranked-choice governance. This page covers the concepts you need to use the app.
In plain English
A caper is a small internet company that anyone can launch in one tap. It has its own token, its own treasury, and its own community of holders who steer it by vote. Caper is the launchpad that creates these companies and keeps them honest.
The four promises:
- Launch instantly.No paperwork, no team, no upfront capital. Pick a name, sign one transaction, you're live.
- Always tradeable. Every caper has a built-in market — you can buy in or cash out at any time, against a pool that never disappears. No exchange listing, no liquidity provider who can walk away.
- Real say. Holders vote on every meaningful decision — payouts, investments, partnerships — and your voting weight comes from tokens you actually hold. No insiders with hidden allocations.
- Always exit.Don't like where it's going? Burn your stake and walk away with your share of the treasury. The door is never locked.
If the rest of this page reads like math homework, that's because the system is precise on purpose. But the experience is simple: launch, trade, vote, exit.
Getting started
You need a Radix wallet. Tap Connect in the top navbar, choose an account, and sign the connection challenge — caper uses ROLA (Radix Off-Ledger Auth), so signing is free and produces a session, not a transaction.
Some surfaces are gated by an XRD balance check. Holding any XRD on the connected account unlocks them; you never send XRD to caper to authenticate.
What is a caper
A caper is a DAO with three permanent components:
- A fixed-supply governance token — 100 billion units, minted once at genesis. The token resource has no mint or burn role, so the supply is structurally unchangeable.
- A treasury that holds XRD and any tokens the DAO accumulates (from payouts received, cross-caper investments, etc.).
- A perpetual bonding-curve AMM that mediates every buy and sell of the governance token.
All 100bn tokens are minted into a single inventory vault on the curve component. There is no upfront founder allocation and no pre-allocated Caper Commons bucket — both of those accrue continuously, per buy, as a small fraction of each trade.
Bonding curve
The curve is a perpetual AMM defined by the price function P(s) = K · √s / (1 − s), where s = total_tokens_sold / N is the fraction of the governance supply currently in circulation and K = 0.001. Price starts at zero and rises smoothly with circulation, going asymptotic as s → 1 (the contract clamps at s_max = 0.999999 to avoid the singularity).
Buying moves XRD into the curve vault and tokens out of the inventory vault; selling reverses both. The cumulative XRD held by the curve at circulation s has a closed form (X(s) = K · N · [ln((1+√s)/(1−√s)) − 2√s]); sells use that integral directly, buys solve for the new s via Newton iteration.
On every buy, an additional small slice of the buyer's curve-derived tokens is taken from the same inventory vault and split:
- 30/31 goes to the founder vault.
- 1/31 goes to the Caper Commons — the protocol-wide treasury, denominated in
$CAPER.
Founder and Commons rewards therefore scale with curve activity rather than being front-loaded. For vampirecapers (those bound to an origin token), this slice is forced to zero — the founder's entire bootstrap is the migration vault populated when origin holders migrate.
Trading
Each caper's profile page has a buy/sell panel against the curve. Slippage is implicit in the curve shape: every trade nudges s along P(s) = K · √s / (1 − s), so large trades pay (or receive) progressively worse marginal prices the further they push s toward 1. The Max button computes the exact gateway-decimal string for your full balance, so the rounding matches what the ledger will accept.
The curve vault is permanent — tokens you sell return to the inventory vault and become available to the next buyer. There is no external liquidity provider and no separate AMM pool.
Proposals
A proposal is a ranked-choice ballot with one or more options. Each option is either signal-only (legislative) or carries an executable action (executive). Caper supports four action kinds:
- TEXT — legislative, no on-chain action. Pure signal; useful for community direction.
- PAYOUT — calls
treasury.transfer(recipient, currency, amount). The recipient is either another caper's treasury or a raw account. - INVEST— withdraws XRD from this treasury, buys a target caper's governance token on its curve, and deposits the result back into this treasury. Cross-caper position.
- VOTE— casts a pre-committed ranked ballot on a target caper's proposal using one held governance token of that target. The treasury admin badge is briefly exposed to the worktop to prove authority.
Every proposal has a no-execution option (isNo) that voters can rank above any of the executive options. If it wins, nothing happens on-chain — the proposal closes as resolved without an action.
Voting
Voting is ranked-choice. You submit an ordered list of options; tallies use weighted preferences from your governance token balance at the snapshot block. Each cast vote mints a soulbound vote token into your account — your proof of participation. Vote tokens drive exit redemption: burning them in the future returns a pro-rata share of the treasury.
A proposal closes when its expiry passes. The winning option (or the no-execution option, if it placed first) determines what happens next.
Execution
For TEXT and PAYOUT, execution is one transaction: the manifest calls the relevant treasury method and finalizes the proposal.
INVEST and VOTE are split across two top-level frames in a single manifest:
- A phase-1 call returns the buckets and badges required (e.g. XRD from the treasury, the treasury admin badge for VOTE).
- A middle step invokes
main.buy_token(INVEST) orDaoTreasury.vote_via_main(VOTE) in a fresh frame. - A finish call settles state and emits the executed event. For VOTE, the treasury admin badge is returned to the treasury vault before this step ends.
If you ever hand-roll an executor manifest, end it with a try_deposit_*_or_abort. Radix Engine's General classifier only whitelists the _or_abort variants — _or_refundcauses the wallet to render the transaction as "Complex transaction," which is a worse signing experience.
FAQ
Why can't I see the create-proposal button?
You need to hold the caper's governance token in the connected account. Buy any amount on the curve and the button appears.
What happens to the inventory vault when I sell?
Your tokens go back into the inventory vault and your XRD comes out of the curve vault, priced along the same curve. The protocol does not burn anything on sell.
Can I withdraw governance tokens to another wallet?
Yes. Governance tokens are normal fungibles — they trade on the curve and transfer freely between accounts. Vote tokens are soulbound and cannot be transferred between holders, only withdrawn to your own worktop to feed exit().
What is the Caper Commons?
The protocol-wide treasury that holds the 1/31 slice of every per-buy founder/Commons allocation across all capers. Its policy is set by $CAPERgovernance. (In the contract source it's referenced as cvf_recipient for historical reasons.)