Action
Buy / sell / swap on th…ections, peak 100%, half by 1.0199% sold, 1% by 10.821.4%, then a halving every 120% of the supply sold (both le…this shape since 19 September 2026, halving every 20% since 1 October 2026) · 49.5% to the traded ca… (/wiki/markets/raising-funds)
How a trade moves the vaults
…That set's logic was upgraded once, on 30 Septemtwice. The second upgrade, on 1 October 2026 at 16:41:332:21:12Z, to component_tdx_2_1cqma5fhpltlrz… (https://dashboard.radixscan…o/component/component_tdx_2_1cqma5fhxglr6z6s6ym9y73zm4r9lnuzq474ent08xtsplmdufn8npmpltlrzfnvky7ekmtvlzr55fa8hzwddt7tmmdn2q3jrqc8pske3jk5) , which is what current_main… serves the buy/sell panel now. The one thing that upgrade, slowed the skim's fall by half: both halvings take twice the supply, so the rate is half the peak by 1.99% sold, 1% by 21.4%, and halves every 20% sold after that. The first, on 30 September 2026 at 16:41:33Z, was to component_tdx_2_1cqma5fh… (https://dashboard.radixscan.io/component/component_tdx_2_1cqma5fhxglr6z6s6ym9y73zm4r9lnuzq474ent08xtsplmdufn8npm) , and the one thing it changed for a trader is how t…fter it, on 19 September 2026, and on 30 September 2026 and on 1 October 2026, and none of it carried a…ger rather than off this page.
How a trade moves the vaults
…uz8uxqlj0szvu9) , at 06:28:33Z, which is what current_main resolves to and what serves the buy/sell panel now. That set's logic was upgraded once, on 30 September 2026 at 16:41:33Z, to component_tdx_2_1cqma5fh… (https://dashboard.radixscan.io/component/component_tdx_2_1cqma5fhxglr6z6s6ym9y73zm4r9lnuzq474ent08xtsplmdufn8npm) , which is what current_main resolves to and what serves the buy/sell panel now. The one thing that upgrade changed for a trader is how the skim is read: one rate per trade – a buy's where it starts, a sell's at the bottom it would reach if every token handed in retired – in place of the integral along the curve, so a trade pays at least what the same trade cut into pieces would (see Bonding curve (/wiki/markets/bonding-curve) ). Every time above is the firs…day's redeploy, once after it, on 19 September 2026, and on 1930 September 2026, and none of i…ger rather than off this page.
The two directions are not sym…vergence test is deliberately one-lopsided. The loop breaksaccepts an answer only when the residual sits at or below zero and no further from it than the tolerance, so an accepted answer always consumes slightly less XRD than was paid, never more. Rounding falls to the curve rather than the buyer, andno more than the tolerance below zero and no more than 0.0000000001 XRD above it, so an answer the loop accepts consumes at most a ten-billionth of an XRD more than was paid, and usually slightly less. Rounding falls to the curve rather than the buyer. The loop also stops when a Newton step no longer moves the circulation at all, because every step left would price the same point again, and it accepts that point if the residual is within the tolerance either side of zero. So a mint can come up short bu, and it cannot run over by at most 0.0000001 XRD.
That asymmetry is not a rou…bove, and the seed the solver used to starts from landsed far above the true answer for…upply sold, a 100 XRD buy seedsed at s ≈ 0.649 against a true s…0.5000007. In that region the one-lopsided break can neverould not fire, so the iteration musthad to reach the root inside its 16 …ed with a hard floor, and the seed now starts lower as well: the solver takes the smaller of that estimate and the point where the curve’s tangent at the current circulation reaches the payment, which convexity keeps at or above the root and which lands close to it for any buy small against the curve. The case is now pinned by a regression test n…lready knows undershoots — so thea mint it returns is short of the paymentthat leaves the loop more than the tolerance over the payment is replaced by one short of it, by construction rather than b…. The guard is what makes the one-sided contractbound above a guarantee instead of …in contracts/logic/src/lib.rs.
A round trip cannot pay out mo…bout eleven times the floor. Threewo of the seven cases were added…ershoot guard exists to catch. The third late addition is the near-clamp case above, which tests the logarithm noise rather than the solver.
That bound holds before the …e is that it extracts nothing.
Action
Buy / sell / swap on th…nt inventory vault
Trade fee
0.5% on buys only, into the treasury of the caper you buy (written once at instantiation; no setter on the deployed logic, so moving it takes a governed UPGRADE). A sell pays none
Founder sNone since 25 September 2026; the skim is the only trade charge
Skim
Both directions, peak 100%…shape since 19 September 2026) · 49.5% to the traded caper's treasury, 50% to the founder, 0.5% to the $CAPER treasury
Vote tokens
None – trading s…s if it lands high
Swap cost
One trade fee, 0.5% on the buyThe skim on both legs, plus the founder skim on botheach at its own caper's rate; no trade fee
Related
Bonding curve (/wik… (/wiki/markets/raising-funds)
How a trade moves the vaults
… instead of retiring, and the founder's XRD sliceskim's XRD part, for the caper's treasury and the founder, comes off the payout; both sh…ave paid to reach that point. SellingNeither direction pays noa trade fee. Buying pay: the skim is the configured 0.5% trade fee inly charge, and 49.5% of it goes to the treasury of the caper you buytrade (see Raising funds (/wiki/markets/raising-funds) ). Thate skim's peak rate is a stored field on the shared logic component, collateralization_peak, rather than a constant of the…ades today is none of those. Fourive genesis redeploys have replac…4g7qxyhuxrck0u) , at 14:43:55Z, which is what current_main resolves to and what ser. For a trader that component added one method, exit_open, which an exit calls first in the same transaction. The one on 25 September 2026 retired the 21 September set to removes the buy/sell panel now. For a trader the new component adds one method, exit_open, which an exit calls first in the same transactiontrade fee and give each caper's treasury 49.5% of the skim: its registry, component_tdx_2_1cpndqmgr… (https://dashboard.radixscan.io/component/component_tdx_2_1cpndqmgr5n6fsf6kausxlyllm4rpuc2zwhn94adws7zegkenqsad8z) , at 06:28:10Z, and its CaperMain, component_tdx_2_1cr40xf3h… (https://dashboard.radixscan.io/component/component_tdx_2_1cr40xf3hk3wauqz7pjnvvm067a5hu9ss52wwawdzuz8uxqlj0szvu9) , at 06:28:33Z, which is what current_main resolves to and what serves the buy/sell panel now. Every time above is the firs…nd kind happened on 11, 15, 18, 21 and 215 September. The first kind hap…er state on 25 September 2026: there is no trade_fee is 0.005field, collateralization_peak is 1,…no fee setter among them. The fee and the missing setter survived all fourive redeploys and every upgrade, and the trade fee survived four; the components carrying them…ger rather than off this page.
A round trip cannot pay out mo…
That bound holds before the trade fee, which takes its 0.5% off the payment on the way in, and the founder skim, which comes off both leg…e is that it extracts nothing.
Swapping and exiting
Two vari…your vote tokens — a claim on the accumulatedwhat the treasury has accumulated from the skim, fees and investments, separat…oundations/leaving-a-caper) ).
What a swap actually costs
A …he destination caper's curve. Only the buy leg carries the trade fee:
- Sell leg, no trade fee – the origin curve pays out its XRD less the founder skim.
- Buy leg, 0.5% —Each leg pays the skim to its own caper:
- Sell leg – the skim takes part of the tokens you hand in and part of the XRD the origin curve pays out, for the origin caper's treasury, its founder and the Commons.
- Buy leg – the skim takes part off the XRD arriving at the destination curve, into and part of the tokens it mints, for that caper's own treasury.
A swap therefore pays the trade fee once, the same 0.5% a direct buy pays. On top of that y, its founder and the Commons.
There is no trade fee on either leg. You walk two curves, down the o…p the destination's, and the founder sliceskim (/wiki/markets/raising-funds)…a convenience, not a discount.
A sale nobody placed
Not ever… closed-form payout, the same founder skim withand no trade fee, and the same Se…ury_deposit on the state tier.
Price impact, and how it compa…that point — the wedge is the 0.5% trade fee skim (/wiki/markets/raising-funds) on a buy, plus the founder skim on both legs, largest on a young …f the deployed source of each.
Trading & exit
There are four…ew tokens at the currentprice.0.5% feeskim → this caper · founder · $CAPERSELLtokens → XRDThe curve buys them back from its reserve.no trade feeskim → this caper · founder · $CAPERSWAPcaper A → caper BSell on…nother in a singletransaction.0.5% fee on the buythe skim on each legEXITvotes + tokens → tre…sury.Buy, sell, swap, or exit —– all on-chain.caper.networkBuy…e · exit redeems the treasury.
How a trade moves the vaults
…s no fee setter at all: twenty-one public methods and one instan…rades today is none of those. ThreeFour genesis redeploys have replac…caper at 09:00:46.937Z. That state package and registry still serve. Theiret's logic hwas been upgraded three times sincebefore the next redeploy, each time by a new logic pac…l73f8x7wrxjwnzmth93aruhv43pm) , which is what current_main resolves to and what serves the buy/sell panel now. The one thing that last upgr…/wiki/markets/raising-funds) ), and it carried into the next set unchanged. The one on 21 September 2026 retired the 18 September set to bind an exit's vote tokens to the account it pays (see Leaving a caper (/wiki/foundations/leaving-a-caper) ): its registry, component_tdx_2_1czpmphaq… (https://dashboard.radixscan.io/component/component_tdx_2_1czpmphaq634vp8t6vuqhujgcx056gseprzejluktgnexleczmt0jda) , at 14:43:41Z, and its CaperMain, component_tdx_2_1czmc8h0… (https://dashboard.radixscan.io/component/component_tdx_2_1czmc8h097upkzdpptzjz7k00fh8msjtq7m634zd74g7qxyhuxrck0u) , at 14:43:55Z, which is what current_main resolves to and what serves the buy/sell panel now. For a trader the new component adds one method, exit_open, which an exit calls first in the same transaction. Every time above is the firs…second kind happened on 11, 15, 18 and 218 September. The first kind hap…it, and on 19 September 2026, which is why everyand none of it carried a caper, treasury andor proposal from the 18 September set is still therepast 21 September, when the record started over again. Re-read from the live component’s on-ledger state on 1925 September 2026, after the latest upgrade: trade_fee is 0.005, collater…its blueprint publishes twenty-one methods and the one init func…e missing setter survived all threefour redeploys and every upgrade; …ger rather than off this page.
How a trade moves the vaults
…heir logic has been upgraded twicehree times since, each time by a new log…yvwsdgddgvv87230z8qmq0wav20) , and again that evening at 22:03:11Z to component_tdx_2_1czqsy8n… (https://dashboard.radixscan.io/component/component_tdx_2_1czqsy8ncz6mcfp43mmnus39kk2l73f8x7wrxjwnzmth93aruhv43pm) , which is what current_main re…ger rather than off this page.
Action
Buy / sell / swap on th…ections, peak 100%, half by 1.301% sold, 1% by 10.8%, never below 0.5%then a halving every 10% of the supply sold (both legs since 15 September… (/wiki/markets/raising-funds)
How a trade moves the vaults
…of 100% that falls to 1% by 10.8% of the supply sold and never below 0.5%halves again with every further tenth sold (see Raising funds (/wiki/ma…ger rather than off this page.
Action
Buy / sell / swap on th…er skim
Both directions, peak 5100%, half by 6.751.3% sold, 1% by 10%, never below 0.745% (both legs since 15 September 2026, this shape since 189 September 2026)
Vote tokens
… (/wiki/markets/raising-funds)
How a trade moves the vaults
…s no fee setter at all: twenty-two public methods and one instan…ades today is none of those. Twohree genesis redeploys have replac… the founder skim on both legs. That set; its logic was upgraded once, activated at 06:07:10Z on 18 September, to a skim that kept falling with circulation instead of stopping. The one on 18 September 2026 retired the 15 September set to remove the $XRD caper and the trade fee on sells, and went up inside twenty-foursix seconds: the state package at 20:41:59.4009:00:20.983Z, the registry at 20:42:08.490Z, the logic package at 20:42:16.445Z, and its CaperMain at 20:42:22.60909:00:28.637Z, its CaperMain set on the registry at 09:00:43.861Z, and the $CAPER caper at 09:00:46.937Z. Theat state package and the registry still serve. ItsTheir logic lhasted un been upgraderd three days. On 18 September 2026 a new logic package was published at 06:06:57Z andwice since, each time by a new logic package, a new CaperMain instantiated from it, at 06:07:03Z;nd the protocol admin badge proposeding it to the registry at 06:07:08Z and activateding it: at 06:07:10Z. That component (15:25:00Z the same day, to price the skim along the curve and drop two address reads, and on 19 September 2026 at 16:32:11Z, to component_tdx_2_1cr3qm57qadjtv… (https://dashboard.radixscan…o/component/component_tdx_2_1cr3qm57h5fld30uq8ufefx60ycfuucyu5m7v4zkl9pwkca6d6g7zgg) )qadjtv57kjsswhzftulwh6cek2yvwsdgddgvv87230z8qmq0wav20) , which is what current_main resolves…sell panel now. The one thing ithat last upgrade changed for a trader is the founder skim: a lower peak, and a rate that keeps falling with circulation instead of stoppingpeak of 100% that falls to 1% by 10% of the supply sold and never below 0.5% (see Raising funds (/wiki/ma… no longer wired to anything. Only tThe second kind happened on 11, 15 and 158 September. The first kind happened on 18 September before that day's redeploy, once after it, and on 19 September 2026, which is why every caper, treasury and proposal from the 158 September set is still there.…mponent’s on-ledger state on 189 September 2026, after the latest upgrade: trade_fee is 0.005, collateralization_peak is 0.051, and its blueprint still publishes twenty-two methods and the one init func…d the missing setter survived bothall three redeploys and theevery upgrade; the components carry…ger rather than off this page.
Action
Buy / sell / swap on th…s if it lands high
Swap cost
Both feeOne trade fee, 0.5% on the buy legs, compounded (≈0.9975%)plus the founder skim on both
Related
Bonding curve (/wik… (/wiki/markets/raising-funds)
Action
Buy / sell / swap on th…ory vault
Trade fee
0.5% on both directionsuys only, into the treasury of the caper you buy (written once at instantiatio…g it takes a governed UPGRADE) – the buy leg into the caper you buy, the sell leg into the base $XRD caper. A sell pays none
Founder skim
Both directions… (/wiki/markets/raising-funds)
How a trade moves the vaults
…each that point. Selling pays the configured 0.5% trade fee to the base $XRD caper's treasury, whose members claim it at the canonical exit weight (/wiki/governance/voting) when they leave (/wiki/foundations/leaving-a-caper) rano trade fee. Buying pays the configured 0.5% trade fee into ther than as a flat pro-rata split, and against a fixed 24bn denominator (/wiki/markets/raising-funds) , since XRD's supply cannot be read on-ledger. Buying pays its own 0.5% intoreasury of the caper you buy instead (see Raising funds (/wiki/mar…ger rather than off this page.
A round trip cannot pay out mo…s before the trade fee, which then takes its 0.5% off the payoutment on the way in, and the founder skim, which comes off both legs, so a real round trip always …e is that it extracts nothing.
What a swap actually costs
A …st the origin caper's curve, takes the sell-leg fee out of the proceeds, then hands the net XRD into a buy on the destination caper's curve — which charges its own fee off that amount as gross. Both legs fire, in different directions and into different treasuries:
- Sell leg, 0.5% — out of the XRD the origin curve pays, into the root $XRD caper's treasuryhen hands the XRD it pays out into a buy on the destination caper's curve. Only the buy leg carries the trade fee:
- Sell leg, no trade fee – the origin curve pays out its XRD less the founder skim.
- Buy leg, 0.5% — off the X…o that caper's own treasury.
Because the second fee is charged on what the first left behind, the two compound raA swap therefore pays ther than add: the combined bite is 1 − 0.995² ≈ 0.9975%, not 0.5%rade fee once, the same 0.5% a direct buy pays. On top of that you walk two …a convenience, not a discount.
A sale nobody placed
Not ever… closed-form payout, the same 0.5% sell-leg fee into the root $XRD caper's treasuryfounder skim with no trade fee, and the same SellToken event…ury_deposit on the state tier.
The one caper you cannot trade
The protocol's root $XRD caper — the one native XRD holders migrate into, and the one that collects every sell-leg fee in the system — has no bonding curve at all. All three trading entry points refuse it by name rather than failing incidentally: a buy is told to use migration instead, a sell is refused because governance tokens are non-salable, and a swap rejects $XRD as either side of the pair.
So the members whose treasury accrues the sell-side churn of every other caper have no curve to sell on themselves. The way in is migration (/wiki/markets/raising-funds) from native XRD; the way out is the exit (/wiki/foundations/leaving-a-caper) , which redeems a treasury share at the canonical exit weight (/wiki/governance/voting) (t·v)/(V·T). It is the same reason $XRD is the one caper whose exit divides by a fixed 24bn constant (/wiki/markets/raising-funds) rather than a live float: XRD's on-ledger supply is untracked, and there is no curve to read a circulation off.
Everything above is read off b…ntracts/core/src/caper_dao.rs.
Price impact, and how it compa…(/wiki/markets/raising-funds) on a buy, plus the founder skim on bot…f the deployed source of each.
Trading & exit
There are four…ys them back from its reserve.0.5% fee → $XRDno trade feeSWAPcaper A → caper BSell on…nother in a singletransaction.both0.5% fee legs applyon the buy legEXITvotes + tokens → treasur…e · exit redeems the treasury.
How a trade moves the vaults
…he platform onto that package isrepoints the registry's current_main, either through an UPGRADE proposal (/wiki/g…oposals) in the $CAPER caper against the registry's currentor through the operator backstop the protocol admin badge holds (propose_main, then activate_main) – so “never assigned again” i… founder skim on both legs. The currenat set went up inside twenty-fo…package at 20:42:16.445Z, and theits CaperMain component that serves the buy/sell panel at 20:42:22.609Z. Each of that 20:42:22.609Z. The state package and the registry still serve. Its logic lasted under three days. On 18 September 2026 a new logic package was published at 06:06:57Z and a new CaperMain instantiated from it at 06:07:03Z; the protocol admin badge proposed ist to the first transaction ever to touch that entity, read off the Gateway rather than off a changelog, and the component is what the registry’s current_main resolved to on 16 September 2026registry at 06:07:08Z and activated it at 06:07:10Z. That component ( component_tdx_2_1cr3qm57… (https://dashboard.radixscan.io/component/component_tdx_2_1cr3qm57h5fld30uq8ufefx60ycfuucyu5m7v4zkl9pwkca6d6g7zgg) ) is what current_main resolves to and what serves the buy/sell panel now. The one thing it changed for a trader is the founder skim: a lower peak, and a rate that keeps falling with circulation instead of stopping (see Raising funds (/wiki/markets/raising-funds) ). Every time above is the first transaction to touch that entity, or the registry call itself, read off the Gateway rather than off a changelog.
That is the difference betwe…ppened on 11 and 15 September. The first kind happened on 18 September, which is why every caper, treasury and proposal from the 15 September set is still there. Re-read from the live compone…ger state on 18 September 2026, after the upgrade: trade_fee is 0.005, collater…he fee and the missing setter both survived both redeploys and the upgrade; the components carrying them…ger rather than off this page.
Action
Buy / sell / swap on th…
Founder skim
Both directions while a caper is under 30% sold, peak 7.5% (, peak 5%, half by 6.75% sold, never below 0.74% (both legs since 15 September 2026, this shape since 158 September 2026)
Vote tokens
… (/wiki/markets/raising-funds)
How a trade moves the vaults
…ed for the tokens it retires. On a caper under 30% sold, aA slice of what you hand in goe…XRD slice comes off the payout; both shrink as the caper's circulation grows. Because there is a single cu…mponent’s on-ledger state on 168 September 2026: trade_fee is … collateralization_peak is 0.075, and its blueprint still pub…ger rather than off this page.
What a swap actually costs
A …wn curve's terms: to the sell ifat the origin caper is under 30% sold,'s current rate and to the buy ifat the destination i's, exactly as on two direct tr…a convenience, not a discount.
Price impact, and how it compa… the founder skim on both legs while a caper is under 30% sold, largest on a young caper, not a market-maker's spread.…f the deployed source of each.
Action Buy / sell / swap on th…leg into the base $XRD caper Founder skim Both directions while a caper is under 30% sold, peak 7.5% (since 15 September 2026) Vote tokens None – trading sto… (/wiki/markets/raising-funds)
How a trade moves the vaults
…ding-curve) says you're owed at the current circulationfor the tokens it retires. On a caper under 30% sold, a slice of what you hand in goes to the founder and the Commons instead of retiring, and the founder's XRD slice comes off the payout. Because there is a single cu…rades today is none of those. ATwo genesis redeploy on 11 September 2026s have replaced every tier at once, so. The one on 11 September 2026 retired the 7 September component tha…ust state tier underneath both are all retired ledger history rather than the platform this page describes. The replacemen. The one on 15 September 2026 retired the 11 September set in turn and put the founder skim on both legs. The current set went up inside twenty-four seconds: the state package at 14:46:34.60220:41:59.403Z, the registry at 14:46:40.35920:42:08.490Z, the logic package at 14:46:48.63620:42:16.445Z, and the CaperMain component… serves the buy/sell panel at 14:46:54.0520:42:22.609Z. Each of those is the first…egistry’s current_main resolvesd to nowon 16 September 2026.
That is the difference betwe…he second kind happened on 11 and 15 September. Re-read from the li…mponent’s on-ledger state on 126 September 2026: trade_fee is 0.005, collateralization_peak is 0.075, and its blueprint still publi…no fee setter among them. The valufee and the absencemissing setter both survived bothe redeploys; the components carrying them did not. Read t…ger rather than off this page.
What a swap actually costs
A …and up the destination's, and on a young destination caper the founder slice (/wiki/mark…ts/raising-funds) applies to the buy legeach leg on its own curve's terms: to the sell if the origin caper is under 30% sold, and to the buy if the destination is, exactly as it wouldon two a direct purchasetrades. A swap saves you holding XRD…a convenience, not a discount.
Price impact, and how it compa…ays to reach that point — the only wedge is the 0.5% trade fee (/wiki/markets/raising-funds) , plus the founder skim on both legs while a caper is under 30% sold, not a market-maker's spread.
…f the deployed source of each.
Swapping and exiting
Two vari… back. The exit asserts a non-emptyzero vote-token bucketamount, withdrawn from the holder’s own account, before it pays anything, and since 11 September 2026 vote tokens are minted on exactly two surfaces – a trade, andone member-facing surface – a ballot (/wiki/governance/v… – so a position that arrived someany other way – a buy on the curve, a transfer, a migration (/wi…t at all until its holder has either traded or voted. The curve will still bu…oundations/leaving-a-caper) ).
How a trade moves the vaults
…nent serving trades today is neither the August one nor the 5 September one that first carried the debate option kind. It was instantiated on 7 September 2026 at 07:02:23Z, five seconds after the logic package it runs was published at 07:02:18Z, in the redeploy that put the governance baseline on a price-time integral. Both timestamps comeone of those. A genesis redeploy on 11 September 2026 replaced every tier at once, so the 7 September component that put the governance baseline on a price-time integral, the 5 September one that first carried the debate option kind, and the August state tier underneath both are all retired ledger history rather than the platform this page describes. The replacement went up inside twenty seconds: the state package at 14:46:34.602Z, the registry at 14:46:40.359Z, the logic package at 14:46:48.636Z, and the CaperMain component that serves the buy/sell panel at 14:46:54.059Z. Each of those is the first transaction ever to touch that entity, read off the ledgerGateway rather than off a changelog: they are the first transactions to touch component_tdx_2_1cr8psn5…03psx, the address the registry's current_main resolves to, and package_tdx_2_1pkdy3km…d9c4vzg, the package whose CaperMain blueprint it runs. The August 2026, and the component is what the registry’s current_main resolves to now.
That is the difference between the two ways this platform moves, and it is worth keeping straight when reading anything dated. A governed UPGRADE repoints current_main at a freshly published logic package and leaves the state beneath it standing, so every caper, treasury and proposal survives the change. A genesis redeploy ipublishes the state tier underneath all of them, first transacted on 29 August. Its trade_fee read 0.005 on the gatewaytoo and bootstraps the system capers again from nothing, so the ledger record starts over and addresses quoted from before it resolve to components no longer wired to anything. Only the second kind happened on 11 September. Re-read from the live component’s on-ledger state on 812 September 2026, unchanged across every one of those instantiations – which is the point: the value: trade_fee is 0.005, and its blueprint still publishes twenty-two methods and the one init function, with no fee setter among them. The value and the absence both survived, the fieldredeploy; the component carrying them did not. Read ithem off the ledger rather than off this page.
Action
Buy / sell / swap on th… base $XRD caper
Vote tokens
Every trade mints soulboundNone – trading stopped minting v ato the trader – 0.01 per XRD of gross value, buys and sells alikredeploy of 11 September 2026; ballots are the only source
Minimum buy
0.001 XRD
Pric… (/wiki/markets/raising-funds)
Every trade mints a little v
Buying and selling do somethingTrading no longer mints v
It used to, and this is the most consequential thing to know abonding curve normally does not: they mint vote tokens (/wiki/governance/voting) , written v. The rate is a flat 0.01 per XRD of gross trade value – a field onut trading that a reader arriving from older material will have wrong. Until 11 September 2026 every buy and sell minted the trader vote tokens (/wiki/governance/voting) , written v, at a flat rate the logic component namedheld as vote_rate, readable on-ledger ra. The redeploy of that date removed ther than taken on trust – and both directions earn it. A buy mirade-side mint outright and took the field with it: the deployed component's on the XRD you paid, before the trade fee and the founder skim (/wiki/markets/raising-funds) come out of it; a sell mints on the XRD the curve pays out, again before the fee. A swap earns on both of its legs, each in the caper that leg touched.
Three trades mint nothing, and all three are the protocol trading rather than a member: a passed INVEST (/wiki/governance/proposals) buying a target caper's token, a passed DIVEST selling one, and the sell leg inside exit() itself. The rule is mechanical – the mint needs an account to mint into, and those three pass none.
Because v is soulbound it cannot ride the transaction worktop like an ordinary token, which is why buy_token, sell_token and swap each ask for your account address alongside the payment: the contract deposits the mint straight into it. It deposits leniently, too. An account with a strict deposit rule that has not whitelisted v refuses it, and the contract burns the refused mint rastate carries no vote_rate, and a ranked ballot is now the only way a member earns v.
The reason is worth stating plainly, because it is a change that makes trading less rewarding on purpose. A buy minted the v in the same transaction that opened the position, so one transaction could acquire a stake, mint the record that prices the exit (/wiki/foundations/leaving-a-caper) , and redeem on both. The exit right was purchasable and the trade fee was its price. Pricing it in ballots instead puts it out of reach of capital alone: the vote fee is sunk and a ballot is one per account per proposal.
What follows for a trader is narrow but real. Buying into a caper is still how you take a position, and selling back on the curve still needs nothing but ther tokens. Whant aborting the trade that carried it – you forfeit that accrual, your buy or sell still settles.
This is why trading matters beyond price. v does two position no longer carries with it is a claim on the treasury – that now requires having voted at least once. v still does both of its jobs with once numberyou hold it: compute_vote_weight sizes both how far a ballot moves a tally… out of the treasury when you leave (/wiki/foundations/leaving-a-caper) . Trading is one of the two ways to earn it – the other is casting a ballot (/wiki/governance/voting) , which mints vote_fee × vote_rate = 1 v to the voter on the same accrual rate. Read off vote_rate. Read VOTE_MINT and the two tradvote paths in contracts/logic/src/lib.rs, and mint_vote_to in contracts/core/src/caper_dao.rs.
Action Buy / sell / swap on th…rm · Buy: 16-step Newton solve, then an undershoot guard that bisects if it lands high Swap cost Both fee legs, com… (/wiki/markets/raising-funds)
How a trade moves the vaults
…the configured 0.5% trade fee –to the base $XRD caper's treasury, whose members claim it at the canonical exit weight (/wiki/governance/voting) when they leave (/wiki/foundations/leaving-a-caper) rather than as a flat pro-rata split, and against a fixed 24bn denominator (/wiki/markets/raising-funds) , since XRD's supply cannot be read on-ledger. Buying pays its own 0.5% into the caper you buy instead (see Raising funds (/wiki/markets/raising-funds) ). That rate is a stored field on the shared … and not one of them writes it – t. The previous component's update…dger rather than off this page – to the base $XRD caper's treasury, which its own members claim at the canonical exit weight (/wiki/governance/voting) when they leave (/wiki/foundations/leaving-a-caper) rather than as a flat pro-rata split (and against a fixed 24bn denominator (/wiki/markets/raising-funds) , since XRD's supply cannot be read on-ledger); buying pays its own 0.5% into the caper you buy (see Raising funds (/wiki/markets/raising-funds) ).
The two directions are not sym…t a tolerance of 0.0000001 XRD — and then checks the answer it got, because sixteen steps are not always enough.
The convergence test is del… never fire, so the iteration has tomust reach the root inside its 16 steps or stop early and over-minfinish still above it. An earlier version damped e…xhaust the budget while still above the roothigh. The damping was replaced wit…ments from 0.01 to 10,000 XRD.
Exhausting the budget is no longer the same thing as over-minting, and that is the part of the solver a description by its iteration count leaves out. After the loop ends the contract evaluates the integral once more at the answer it reached. If that answer still consumes more than the payment, it throws the answer away and bisects instead — up to 64 halvings, downward from s_min, a circulation the solver already knows undershoots — so the mint it returns is short of the payment by construction rather than by convergence. The guard is what makes the one-sided contract above a guarantee instead of a hope: a normal buy converges inside the loop and pays for the guard with a single extra evaluation, while the pathological case — a very large payment against a young curve, where the seed overshoots the domain and the throttled ascent runs out of steps below the root — is the only one that ever bisects. Read off compute_tokens_bought_inner in contracts/logic/src/lib.rs.
A round trip cannot pay out mo…_sell_does_not_overshoot buys at fourin seven cases across six circulation levels, sells the…s the signed difference never exceeds 0.000001 XRD of dust in the seller's favourlands in the seller's favour by more than a dust bound of payment × 10−13 + 0.000001 XRD.
Both halves of that bound earn their place, and quoting only the constant makes the test sound tighter than it is. The flat 0.000001 XRD is the floor; the proportional term is there because near the s → 1 clamp the exact integral carries a few atto of symmetric logarithm-and-square-root noise that scales with trade size, and a flat floor alone was too tight to hold there. On the largest case in the sweep — 100,000,000 XRD against a curve already 99.99% sold — the bound the test actually enforces is about eleven times the floor. Three of the seven cases were added for the other direction entirely: they sit in the over-mint band a young curve opens to a very large payment, and they are the cases the post-solve undershoot guard exists to catch.
That bound holds before the…e is that it extracts nothing.
How a trade moves the vaults
…nent serving trades today is noteither the August one: i nor the 5 September one that first carried the debate option kind. It was instantiated on 57 September 2026 at 09:36:107:02:23Z, five seconds after the logi… package it runs was published, in the upgrade that added the debate option kind at 07:02:18Z, in the redeploy that put the governance baseline on a price-time integral. Both timestamps come off the ledger rather than off a changelog: they are the first transactions to touch component_tdx_2_1cr8psn5…03psx, the address the registry's current_main resolves to, and package_tdx_2_1pkdy3km…d9c4vzg, the package whose CaperMain blueprint it runs. The August 2026 redeploy is the state tier underneath itall of them, first transacted on 29 August. Its trade_fee reads 0.005 on the gateway, unchanged across that upgrade on 8 September 2026, unchanged across every one of those instantiations – which is the point: the val…wiki/markets/raising-funds) ).
Action
Buy / sell / swap on th…written once at instantiation; no setter on the deployed logic has no fee setter, so moving it takes a governed UPGRADE) – the buy leg into the caper… (/wiki/markets/raising-funds)
How a trade moves the vaults
…of the contract, written once when that component is instantiatedat init and never assigned again, bec…n exposes no fee setter at all: twenty-two public methods and one instantiation function, and not one of them writes it – the previous component's up…e the FAQ (/wiki/help/faq) ). That absence closes the runtime route and only the runtime route. Every logic upgrade re-runs init and writes the field again from the new package's own literal, and moving the platform onto that package is an UPGRADE proposal (/wiki/governance/proposals) in the $CAPER caper against the registry's current_main – so “never assigned again” is a claim about the life of one component, not about the platform. The component serving trades today is not the August one: it was instantiated on 5 September 2026 at 09:36:10Z, five seconds after the logic package it runs was published, in the upgrade that added the debate option kind. The August 2026 redeploy is the state tier underneath it, first transacted on 29 August. Its trade_fee reads 0.005 on the gateway, unchanged across that upgrade – which is the point: the value survived, the field did not. Read it off the ledger rather…wiki/markets/raising-funds) ).
Every trade mints a little v
…ading matters beyond price. v has exactly one live job – it sizesdoes two jobs with one number: compute_vote_weight sizes both how far a ballot moves a tally and what you take out of the trea…/foundations/leaving-a-caper) – and t. Trading is the only way to earn itone of the two ways to earn it – the other is casting a ballot (/wiki/governance/voting) , which mints vote_fee × vote_rate = 1 v to the voter on the same accrual rate. Read off vote_rate and the t…ntracts/core/src/caper_dao.rs.
Swapping and exiting
Two vari…g, and vote tokens are minted by trading,on exactly two surfaces – a trade, and a ballot (/wiki/governance/voting) – so a position that arrived so…t at all until its holder has traded through the protocoleither traded or voted. The curve will still buy tho…oundations/leaving-a-caper) ).
Action
Buy / sell / swap on th… fee
0.5% on both directions (configured, bounded [0, 10%]written once at instantiation; the deployed logic has no fee setter) —– the buy leg into the caper yo…leg into the base $XRD caper
Vote tokens
Every trade mints soulbound v to the trader – 0.01 per XRD of gross value, buys and sells alike
Minimum buy
0.001 XRD
Pricing… (/wiki/markets/raising-funds)
How a trade moves the vaults
…5% trade fee – a stored field on the protocol admin can rewrite anywhere in [0, 10%] through update_feshared logic component rather than a constant of the contract, written once when that component is instantiated and never assigned again, because the deployed CaperMain exposes, not a constant, so read it l fee setter at all – the previous component's update_fees did not survive rather than off this page August 2026 redeploy (see the FAQ (/wiki/help/faq) ). Read it off the ledger rather than off this page – to the base $XRD caper's tr…embers claim at the canonical vote exit weight on exit(/wiki/governance/voting) when they leave (/wiki/foundations/leaving-a-…wiki/markets/raising-funds) ).
Swapping and exiting
Two vari…aper's treasury, sized by the same vote exit weight (/wiki/governance/voting) (t·v)/(V·T) that governs a ballot and consuming both your gover…cket before it pays anything, so it is available only to holders who have voted at least onceand vote tokens are minted by trading, so a position that arrived some other way – a transfer, a migration (/wiki/markets/raising-funds) – cannot exit at all until its holder has traded through the protocol. The curve will still buy those tokens back; only the treasury share is out of reach ( leaving a caper (/wiki/foundations/leaving-a-caper) ).
The one caper you cannot trade…asury share at the canonical voteexit weight (/wiki/governance/voti…ntracts/core/src/caper_dao.rs.
Every trade mints a little v Buying and selling do something a bonding curve normally does not: they mint vote tokens (/wiki/governance/voting) , written v. The rate is a flat 0.01 per XRD of gross trade value – a field on the logic component named vote_rate, readable on-ledger rather than taken on trust – and both directions earn it. A buy mints on the XRD you paid, before the trade fee and the founder skim (/wiki/markets/raising-funds) come out of it; a sell mints on the XRD the curve pays out, again before the fee. A swap earns on both of its legs, each in the caper that leg touched. Three trades mint nothing, and all three are the protocol trading rather than a member: a passed INVEST (/wiki/governance/proposals) buying a target caper's token, a passed DIVEST selling one, and the sell leg inside exit() itself. The rule is mechanical – the mint needs an account to mint into, and those three pass none. Because v is soulbound it cannot ride the transaction worktop like an ordinary token, which is why buy_token, sell_token and swap each ask for your account address alongside the payment: the contract deposits the mint straight into it. It deposits leniently, too. An account with a strict deposit rule that has not whitelisted v refuses it, and the contract burns the refused mint rather than aborting the trade that carried it – you forfeit that accrual, your buy or sell still settles. This is why trading matters beyond price. v has exactly one live job – it sizes what you take out of the treasury when you leave (/wiki/foundations/leaving-a-caper) – and trading is the only way to earn it. Read off vote_rate and the two trade paths in contracts/logic/src/lib.rs, and mint_vote in contracts/core/src/caper_dao.rs.
Action
Buy / sell / swap on th…ty
Permanent inventory vault
SellTrade fee
0.5% to the base $XRD caperon both directions (configured, bounded [0, 10%]) — the buy leg into the caper you buy, the sell leg into the base $XRD caper
Minimum buy
0.001 XRD
Prici… (/wiki/markets/raising-funds)
How a trade moves the vaults
…l vote weight on exit (/wiki/governance/executionfoundations/leaving-a-caper) rather than as a flat pro-r…wiki/markets/raising-funds) ).
The one caper you cannot trade…e way out is the exit (/wiki/governance/executionfoundations/leaving-a-caper) , which redeems a treasury s…ntracts/core/src/caper_dao.rs.
Action Buy / sell / swap on th…ee 0.5% to the base $XRD caper (configured, bounded [0, 10%]) Minimum buy 0.001 XRD Prici… (/wiki/markets/raising-funds)
How a trade moves the vaults
…each that point. Selling pays a flat 0.5% trade feethe configured 0.5% trade fee – a stored field the protocol admin can rewrite anywhere in [0, 10%] through update_fees, not a constant, so read it live rather than off this page (see the FAQ (/wiki/help/faq) ) – to the base $XRD caper's trea…wiki/markets/raising-funds) ).
A sale nobody placed
Not ever… closed-form payout, the same flat 0.5% sell-leg fee into the roo…ury_deposit on the state tier.
Price impact, and how it compa…point — the only wedge is the flat 0.5% trade fee (/wiki/markets…f the deployed source of each.
Trading & exit
VThere are four ways value moves through a caper across, backed by two distinct pools: the bondi…sury you redeem when you exit. The diagram traces the flows a holder drives directly — buy, sell, swap, exit. A caper's treasury also trades on other capers' curves, but only by proposal (see A sale nobody placed below).
CAPER PROTOCOLTrading & exit…e · exit redeems the treasury.
Swapping and exiting
Two vari…aper holder is never locked in: there is always a price to sell at and always a floor to redeem against — though the two routes are open on different terms. The curve will always buy your tokens back. The exit asserts a non-empty vote-token bucket before it pays anything, so it is available only to holders who have voted at least once ( leaving a caper (/wiki/foundations/leaving-a-caper) ).
Price impact, and how it compa…serve ratio (x·y=k) (https://docevelopers.uniswap.org/contracts/v2/concepts/protocol-overviewdocs/get-started/concepts/how-uniswap-works) maintaine…o impermanent-loss (https://docevelopers.uniswap.org/concepts/protocol/feesdocs/get-started/concepts/glossary) risk borne by outside provi…f the deployed source of each.
Action Buy / sell / swap on the curve · treasury divest by proposal Venue Each caper's profile p… (/wiki/markets/raising-funds)
Trading & exit
There are four ways vValue moves through a caper, backed by across two distinct pools: the bondi…sury you redeem when you exit. The diagram traces the flows a holder drives directly — buy, sell, swap, exit. A caper's treasury also trades on other capers' curves, but only by proposal (see A sale nobody placed below).
CAPER PROTOCOLTrading & exit…e · exit redeems the treasury.
A sale nobody placed Not every sale on a caper's feed comes from a holder. A caper's treasury can hold other capers' tokens — an INVEST proposal (/wiki/governance/proposals) buys them on the target's curve — and a DIVEST proposal runs that trade backwards. Execution (/wiki/governance/execution) withdraws the voted-on amount of the target's token from this treasury, sells it into that caper's curve, and deposits the XRD back into this treasury, entirely inside the contract's own call frame, so the tokens never reach the worktop for an executor to skim. From the receiving curve's side it is an ordinary sale in every observable respect: the same single curve, the same closed-form payout, the same flat 0.5% sell-leg fee into the root $XRD caper's treasury, and the same SellToken event on the trade feed carrying no divest-specific field. A holder watching the chart cannot tell one from a retail exit — the identifying record is the ProposalExecutedDivest event on the selling caper, not anything on the curve that absorbed the sale. Price impact is likewise unexceptional: a divest walks the curve down exactly as a same-size holder sale would. Two guards matter to anyone pricing around it. The trade is frozen at settlement — execution withdraws exactly the amount the winning option named, and aborts outright if the treasury's holding has fallen below it since, because filling a smaller trade than the one that passed would break the frozen-winner contract. And $XRD is refused by name as a divest target, for the same reason it cannot be sold at all: it has no curve to sell into. Read off execute_proposal_divest and sell_token_raw in contracts/logic/src/lib.rs, and treasury_withdraw / treasury_deposit on the state tier.
Price impact, and how it compa…roviding liquidity that block. The comparison runs deeper than price impact. A constant-product pool quotes from a closed-form formula, a Curve or Balancer pool cannot, and a caper's buy side cannot either – so all three reach for a different numerical method to produce a number a trader can sign. Numerical pricing in AMMs and bonding curves (/wiki/economics/numerical-pricing) reads those methods out of the deployed source of each.
Action Buy / sell / swap on th… 0.5% to the base $XRD caper Minimum buy 0.001 XRD Pricing Sell: closed form · Buy: 16-step Newton solve Swap cost Both fee legs, compounded (≈0.9975%) Related Bonding curve (/wiki/… (/wiki/markets/raising-funds)
Price impact, and how it compares to an AMM
Because aA caper's price is a deterministic, closed-form function (/wiki/markets/bonding-curve) function of how many tokens are in circulation, so the exact cost of any trade is knowable before you sign it: the interface integrates rather than discovered on execution — exactly for a sell, which prices off the curve between your start and end points and shows the marginal and average price you will get's closed-form integral (/wiki/markets/bonding-curve) , and to within 0.0000001 XRD for a buy, which inverts that same integral numerically (see The two directions are not symmetric above). That is a different liquidit…roviding liquidity that block.
Trading & exit
There are four…nother in a singletransaction.sell-leg feeboth fee legs appliesyEXITvotes + tokens → treasur…e · exit redeems the treasury.
The two directions are not symmetric The curve's cumulative-reserve function X(s) = K·N·[ln((1+√s)/(1−√s)) − 2√s] has a closed form, so a sell prices out exactly: the payout is X(s_before) − X(s_after), two evaluations and a subtraction, with no approximation in it anywhere. A buy is the inverse problem — given an amount of XRD, find the circulation that consumes it — and that inverse has no closed form. The contract solves it numerically instead, with a Newton iteration capped at 16 steps against a tolerance of 0.0000001 XRD. The convergence test is deliberately one-sided. The loop breaks only when the residual sits at or below zero and no further from it than the tolerance, so an accepted answer always consumes slightly less XRD than was paid, never more. Rounding falls to the curve rather than the buyer, and a mint can come up short but cannot run over. That asymmetry is not a rounding footnote — it has already produced a real defect. Newton's method on a convex function approaches the root from above, and the seed the solver starts from lands far above the true answer for a small payment on a mature curve: at half the supply sold, a 100 XRD buy seeds at s ≈ 0.649 against a true s ≈ 0.5000007. In that region the one-sided break can never fire, so the iteration has to reach the root inside its 16 steps or stop early and over-mint. An earlier version damped every step to at most one halving toward the domain floor, which was slow enough to exhaust the budget while still above the root. The damping was replaced with a hard floor, and the case is now pinned by a regression test named for it, tokens_bought_converges_for_small_payments_on_mature_curve, sweeping four circulation levels against payments from 0.01 to 10,000 XRD.
A round trip cannot pay out more than it took in Because a single curve serves both directions, buying and immediately selling the same tokens returns the curve to exactly the point it started from. The question that matters for a numerically-solved buy is whether that round trip can ever hand back more XRD than it consumed. It cannot, and the contract pins it rather than assuming it: roundtrip_buy_then_sell_does_not_overshoot buys at four circulation levels, sells the same tokens straight back, and asserts the signed difference never exceeds 0.000001 XRD of dust in the seller's favour. That bound holds before the trade fee, which then takes its 0.5% off the payout, so a real round trip always ends down. An instant buy-and-sell is the cheapest probe anyone can run at a solver that approximates in one direction, and the guarantee is that it extracts nothing.
What a swap actually costs A swap looks like one action and is priced as two. The contract sells your tokens against the origin caper's curve, takes the sell-leg fee out of the proceeds, then hands the net XRD into a buy on the destination caper's curve — which charges its own fee off that amount as gross. Both legs fire, in different directions and into different treasuries: - Sell leg, 0.5% — out of the XRD the origin curve pays, into the root $XRD caper's treasury. - Buy leg, 0.5% — off the XRD arriving at the destination curve, into that caper's own treasury. Because the second fee is charged on what the first left behind, the two compound rather than add: the combined bite is 1 − 0.995² ≈ 0.9975%, not 0.5%. On top of that you walk two curves, down the origin's and up the destination's, and on a young destination caper the founder slice (/wiki/markets/raising-funds) applies to the buy leg exactly as it would to a direct purchase. A swap saves you holding XRD in between and a second signature; it is a convenience, not a discount.
The one caper you cannot trade The protocol's root $XRD caper — the one native XRD holders migrate into, and the one that collects every sell-leg fee in the system — has no bonding curve at all. All three trading entry points refuse it by name rather than failing incidentally: a buy is told to use migration instead, a sell is refused because governance tokens are non-salable, and a swap rejects $XRD as either side of the pair. So the members whose treasury accrues the sell-side churn of every other caper have no curve to sell on themselves. The way in is migration (/wiki/markets/raising-funds) from native XRD; the way out is the exit (/wiki/governance/execution) , which redeems a treasury share at the canonical vote weight (/wiki/governance/voting) (t·v)/(V·T). It is the same reason $XRD is the one caper whose exit divides by a fixed 24bn constant (/wiki/markets/raising-funds) rather than a live float: XRD's on-ledger supply is untracked, and there is no curve to read a circulation off. Everything above is read off buy_token_raw, sell_token_raw, swap, compute_tokens_bought_inner and compute_xrd_received in contracts/logic/src/lib.rs, and the vault and solvency invariants off buy_apply and sell_apply in contracts/core/src/caper_dao.rs.
How a trade moves the vaults
…the base $XRD caper's treasury (shared pro-rata with $XRD holders on exit, which its own members claim at the canonical vote weight on exit (/wiki/governance/execution) rather than as a flat pro-rata split (and against a fixed 24bn denominator (/wiki/markets/raising-funds) , since XRD's supply cannot be read on-ledger); buying pays its own 0.5% in…wiki/markets/raising-funds) ).
Swapping and exiting
Two vari…ut: the exit right (/wiki/daos-governance/concepts/membership/rage-quit…burn your tokens to redeem a pro-rataarticipation-weighted share of the caper's treasury, sized by the same vote weight (/wiki/governance/voting) (t·v)/(V·T) that governs a ballot and consuming both your governance tokens and your vote tokens — a claim on the accumulated …ays a floor to redeem against.
Price impact, and how it compa…tant-product AMM (/wiki/daos/organizations/dexs/uniswap-dao) such as Uni…roviding liquidity that block.
Swapping and exiting Two vari…ut: the exit right (/wiki/daos/concepts/membership/rage-quit-and-exit-rights) le…ays a floor to redeem against.
Price impact, and how it compa…nstant-product AMM (/wiki/dao/ecosystems/organizations/dexs/uniswap-dao) such as Uniswap…roviding liquidity that block.
Trading & exit There are four ways value moves through a caper, backed by two distinct pools: the bonding-curve reserve that buys and sells tokens, and the treasury you redeem when you exit. CAPER PROTOCOLTrading & exit4 ACTIONSFOUR WAYS VALUE MOVESBUYXRD → tokensThe curve mints new tokens at the currentprice.0.5% fee → this caperSELLtokens → XRDThe curve buys them back from its reserve.0.5% fee → $XRDSWAPcaper A → caper BSell one caper and buy another in a singletransaction.sell-leg fee appliesEXITvotes + tokens → treasury shareBurn your soulbound vote record and redeemyour slice of the treasury.share = (t·v) / (V·T)Two different pools · SELL redeems the bonding-curve reserve · EXIT redeems the treasury.Buy, sell, swap, or exit — all on-chain.caper.networkBuy, sell, swap on the curve · exit redeems the treasury.
Action
Buy / sell / swap on th…y vault
Sell fee
0.5% to the protocol treasurybase $XRD caper
Related
Bonding curve (/wik… (/wiki/markets/raising-funds)
How a trade moves the vaults
… a flat 0.5% trade fee to the protocol treasury; buying pays its own fee on the way inbase $XRD caper's treasury (shared pro-rata with $XRD holders on exit); buying pays its own 0.5% into the caper you buy (see Raising funds (/wiki/markets/raising-funds) ).
Price impact, and how it compares to an AMM Because a caper's price is a deterministic, closed-form function (/wiki/markets/bonding-curve) of how many tokens are in circulation, the exact cost of any trade is knowable before you sign it: the interface integrates the curve between your start and end points and shows the marginal and average price you will get. That is a different liquidity model from a constant-product AMM (/wiki/dao/ecosystem/uniswap-dao) such as Uniswap, where price emerges from a reserve ratio (x·y=k) (https://docs.uniswap.org/contracts/v2/concepts/protocol-overview/how-uniswap-works) maintained by external liquidity providers. Three practical consequences follow: - No liquidity to pull. The curve reserve is a permanent inventory vault owned by the caper, not third-party LP deposits that can be withdrawn — so depth never vanishes and there is no impermanent-loss (https://docs.uniswap.org/concepts/protocol/fees) risk borne by outside providers. - No bid–ask spread. A single curve serves both directions, so the price you sell at is exactly the price the next buyer pays to reach that point — the only wedge is the flat 0.5% trade fee (/wiki/markets/raising-funds) , not a market-maker's spread. - Predictable slippage. Large orders still walk the curve and pay progressively worse marginal prices, but that impact is a fixed property of the curve shape rather than a function of who happens to be providing liquidity that block.
Action Buy / sell / swap on the curve Venue Each caper's profile page Liquidity Permanent inventory vault Sell fee 0.5% to the protocol treasury Related Bonding curve (/wiki/markets/bonding-curve) , Raising funds (/wiki/markets/raising-funds)
Each caper's profile page has a buy/sell panel against the curve (/wiki/markets/bonding-curve) . Slippage is implicit in the curve shape: every trade nudges circulation along the price curve, so large trades pay (or receive) progressively worse marginal prices the further they push toward fully sold. The Max button computes the exact gateway-decimal string for your full balance, so rounding matches what the ledger accepts. 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.
How a trade moves the vaults Every caper holds two vaults behind its curve. A buy moves your XRD into the curve vault (the reserve that backs the token) and hands you tokens out of the inventory vault. A sell reverses both: your tokens go back into the inventory vault, and the curve vault pays you the XRD the curve's closed-form integral (/wiki/markets/bonding-curve) says you're owed at the current circulation. Because there is a single curve in both directions — no separate buy and sell curve, no bid–ask spread — the price you sell at is exactly the price the next buyer would have paid to reach that point. Selling pays a flat 0.5% trade fee to the protocol treasury; buying pays its own fee on the way in (see Raising funds (/wiki/markets/raising-funds) ).
Swapping and exiting Two variants build on the same primitive. A swap sells one caper's token and buys another in a single transaction — you never touch XRD in between — letting you rotate a position from one caper to another directly. And beyond selling on the curve, holders have a second way out: the exit right (/wiki/dao/concepts/rage-quit-and-exit-rights) lets you burn your tokens to redeem a pro-rata share of the caper's treasury — a claim on the accumulated fees and investments, separate from the curve reserve. Between the curve and the exit, a caper holder is never locked in: there is always a price to sell at and always a floor to redeem against.