Approaching graduation: running the last stretch of a curve on purpose
The approach is the only phase where the campaign can end the phase by accident. Remaining curve capacity is finite, the flow the campaign is sending consumes it, and a block carried over from the middle of the curve will walk into a migration nobody planned for.
The approach is the phase where the campaign's own flow can end the phase. Curve capacity is finite, every net buy consumes some of it, and a block derived in the middle of the curve has no concept of a limit ahead of it. Planning the approach means capping what the phase may spend, writing a stop rule that can fire without anyone watching, and assembling the handover packet before the handover rather than during it.
What approaching actually means
A bonding curve holds a finite amount of capacity. As the reserve fills, the amount of curve left to consume shrinks, and at some point the flow a campaign is comfortably sending in a phase becomes a meaningful fraction of what remains. That crossover is the start of the approach, and it is defined by the ratio between remaining capacity and phase allocation rather than by any absolute level.
Defining it that way has a useful consequence: two campaigns on the same token can enter the approach phase at different moments, because they have different allocations. A campaign spending a small allocation may sit in the mid-curve block long after a larger one has moved to the approach block, and both are correct. The phase is a property of the relationship between the campaign and the mechanism, not of the token alone.
It also means the crossover has to be computed rather than felt. Remaining capacity is an observation you take from the mechanism in front of you; the allocation is a number in your own plan. Dividing one by the other produces a ratio, and the block states the ratio at which the approach begins. No page can supply that number for you, and any page that prints one has invented it.
Three things that change on approach
The first is that the allocation becomes a cap rather than a target. In earlier phases the allocation was something to spend; here it is something to stay under, because spending all of it may complete the curve. That inversion is the single most important sentence in the approach block, and it should be written explicitly rather than implied.
The second is that the stop rule stops being a safety net and becomes the primary instrument. Earlier phases can survive a weak stop rule because the worst case is an allocation spent slightly wrong. Here the worst case is a mechanism change the campaign triggered and did not plan for, so the rule has to be specific, checkable and capable of firing without human attention.
The third is that the buy and sell mix stops being purely a cost decision. On the approach, a directional mix does not only move the quote; it consumes capacity, and consumed capacity does not come back. A balanced mix consumes less net capacity per unit of flow, which makes it a different instrument at this depth than it was in the middle of the curve, where the two directions were mostly a cost trade.
The capacity question nobody writes down
The question is simple and it is almost never in a plan: how much of the remaining capacity is this campaign willing to consume itself? There are three honest answers, and each produces a different block.
| Position | What the allocation does | Stop rule | Risk accepted |
|---|---|---|---|
| None: do not consume capacity | Capped well below remaining capacity, with a balanced mix | Fires on a capacity ratio, before any risk of completion | The phase may end with allocation unspent and the transition may never arrive |
| Some: consume deliberately, stop short | Capped at a stated fraction of remaining capacity | Fires on consumed capacity rather than on time or spend | Estimation error in remaining capacity turns a near miss into a completion |
| All: completing is the intention | Funded to complete, with the post-migration block ready first | Fires only if the post-migration block is not ready | Everything that follows happens on the campaign's own schedule and cost |
The third position is legitimate and is the one most likely to be taken by accident by someone who never considered it. The difference between choosing it and stumbling into it is whether the post-migration block existed beforehand. A campaign that completes a curve with no pool block written has handed itself a new mechanism, a new size band and a new risk profile with nothing prepared.
Worked arithmetic: capacity against allocation
The figures below are illustrative arithmetic used to show the shape of the check. They describe no real token and no real curve.
Illustrative only
Observed remaining capacity, expressed in SOL of net buying: 18 SOL.
Phase allocation as written in the campaign split: 20 SOL.
Ratio: 18 / 20 = 0.9, so the allocation alone exceeds what remains.
Position chosen: consume some, stop short. Stated fraction: 40 percent of remaining.
Cap on net consumption: 18 x 0.40 = 7.2 SOL of net buying.
Mix chosen: 60 percent buys, 40 percent sells, so net consumption is 20 percent of gross flow.
Gross flow the cap permits: 7.2 / 0.20 = 36 SOL of total trading.
Allocation is 20 SOL, which is below the 36 SOL gross limit, so the cap is not binding and the block is safe as written.
The interesting move is the last one. Because the mix is not one-directional, gross flow and net capacity consumption are different quantities, and a plan that reasons only about gross spend will overestimate how much capacity it is consuming. The reverse also holds: a one-directional block converts almost all of its gross flow into consumed capacity, and the same 20 SOL allocation would breach the cap immediately.
Re-run the same block with a 90 percent buy mix and net consumption becomes 80 percent of gross flow. The permitted gross flow drops to 7.2 / 0.80 = 9 SOL, less than half the allocation, and the cap is now binding. Nothing about the allocation changed; the mix decided whether the block was safe. That is the coupling the approach phase exists to make visible.
Stop rules for the approach phase
A stop rule is one sentence that ends the phase, agreed before anyone has an opinion about how it is going. On the approach it needs three properties: it has to be computable from something observable, it has to be checkable by a person who was not there, and it has to be able to fire while nobody is looking.
- Name the observableRemaining capacity, consumed capacity, landed rate or elapsed allocation. Pick one primary and at most one secondary; a rule with four conditions never fires cleanly.
- State the threshold as a ratioRatios survive changes in scale, absolute numbers do not. A rule written against a ratio still works if the allocation is revised.
- State what happens on triggerHalt, taper or hand to the next block. Halting and handing over are different actions and the rule must say which.
- State who or what checks itAn execution layer that can evaluate the condition, or a person with a stated interval. If neither exists, the rule is decoration.
- State the fallbackWhat happens if the observable becomes unavailable. A rule that silently stops evaluating is worse than no rule, because it produces false confidence.
The fifth point matters more here than anywhere else in the plan. Whether a stop condition can actually be enforced depends on what is executing the phase, and a Pump.fun volume bot platform that evaluates conditions continuously enforces a rule that a manually watched run enforces only when someone is awake. That is a planning fact worth establishing before the phase, not a preference to argue about afterwards.
The handover packet
The handover packet is the short document the post-migration block needs in order to start without improvising. It is assembled during the approach, while there is time, rather than in the minutes after a mechanism has changed underneath a running campaign.
- The venue field for the pool phase, and how the route will resolve it at execution time.
- A re-derived size band for two-sided depth, because a curve-derived band does not transfer.
- The stated position on whatever the campaign is holding when the curve completes.
- The first-hours pacing pattern for the pool, which is usually not the approach pattern.
- The allocation reserved for the pool phase, confirmed as untouched by earlier phases.
- The measurement definitions, unchanged, so the two phases remain comparable.
- The stop rule for the pool phase, which needs a different observable than the curve one used.
Assembling this list takes under an hour and it removes the entire class of failure where a campaign continues executing after migration using settings that describe a mechanism that no longer exists. The routing item is the one that most often goes wrong, because a route resolved once at configuration time will keep pointing at whatever it resolved to.
Migration is an event, not a milestone
The other two handovers in a curve campaign are gradual: the reserve grows, the block is re-derived, the campaign continues. Migration is discrete. At one moment the token is priced by a curve and at the next it is priced by a pool, and everything derived from the curve reserve stops describing reality.
How the mechanics of that transfer work, and which venue receives the liquidity, are properties of the launchpad program and its current configuration rather than universal constants. They have changed over time, and they can change again. The correct move is to read the current behaviour from the launchpad itself before the approach phase begins - the launchpad publishes what it does, and the receiving venue publishes how its pools work. For a pool on a major Solana AMM, the Raydium documentation is one place the pool mechanics are set out in detail.
The practical implication for the block is that migration cannot be a condition the plan waits to notice. It has to be a condition the plan watches for, with a stated response, because the window between the mechanism changing and the campaign noticing is a window in which the campaign is executing against an assumption that is already false.
What happens to whatever the campaign is holding
A campaign with a directional mix ends the approach holding something. What the plan intends to do with it is a decision with real consequences at exactly the moment the venue changes, and leaving it unstated means it gets decided by whoever is looking at a screen when the transition happens.
Three positions are coherent. Hold through the transition and treat it as a separate matter from the campaign. Reduce during the approach so the transition is reached flat. Or state explicitly that the position is part of the campaign's objective and will be managed under the pool block. Any of them can be written in a sentence; none of them survives being left out.
What the desk will not do is advise on which. That is a decision about risk and intent that belongs to the operator, and a page that recommended one would be pretending to know an objective it has never seen. What it will say is that a position discovered at migration is a position nobody sized, and that the approach phase is the last cheap opportunity to size it.
Watching the approach without guessing
Remaining capacity is an observation, and observations degrade. The number that was accurate when the block was written is not accurate an hour later if the campaign or anyone else has been trading. A block that computes its cap once and never re-checks is running on a stale denominator, and the ratio it protects is not the ratio it thinks it is.
The minimum discipline is a re-check interval written into the block, tied to flow rather than to the clock: recompute the ratio after every stated amount of gross flow. That keeps the check frequent when the campaign is active and infrequent when it is not, which is the correct behaviour for a quantity the campaign itself is consuming.
Where the observation comes from matters too. Reading it from the same source that executes the trades creates a single point of failure; reading it independently, from a public source, means an error in one is visible in the other. Reconciling the two at least once during the approach is a small habit that catches an entire class of silent drift.
The approach checklist
- The phase started on a computed ratio between remaining capacity and phase allocation.
- The allocation is written as a cap, and the block says so in those words.
- A position on capacity consumption is stated: none, some with a fraction, or all with intent.
- Net consumption was computed from gross flow and the buy and sell mix, not assumed equal to spend.
- The stop rule names one primary observable, a ratio threshold, an action and a fallback.
- Something is actually evaluating the stop rule, and the block says what.
- The handover packet exists and includes the venue field and a re-derived size band.
- The pool phase allocation is confirmed untouched by earlier phases.
- The position the campaign will be holding at transition is stated and sized.
- The capacity observation is re-checked on a flow interval, from a source independent of execution.
What the approach phase does not decide
The approach does not decide whether a curve completes. Other participants trade too, and a campaign that carefully caps its own consumption can still find the curve completed by flow it had nothing to do with. That is why the handover packet is prepared regardless of the position taken on capacity: the transition can arrive whether or not the campaign caused it.
It also does not decide what the token does afterwards. A completed curve is a mechanism change, not an outcome, and a campaign that treats reaching it as the goal has an objective that stops exactly where the interesting part begins. The pool phase has its own block, its own arithmetic and its own failures, and none of them are implied by having arrived.
Finally, it does not make the transition safe. It makes it planned, which is a smaller claim and a real one. A planned transition means the venue field is right, the size band was re-derived, the position was sized and the stop rule was live. Everything after that belongs to a mechanism the campaign has not traded against yet.
The same questions, asked at this depth
How close to completion does the approach phase start?
It starts when the capacity left in the curve is small enough relative to the phase allocation that continuing at the previous rate could complete it. That is a ratio you compute against your own allocation, not a published percentage.
Should a campaign try to complete the curve itself?
That is a decision, and the only wrong version is the one taken by accident. If completing is the intention, it is written in the block with the allocation to support it. If it is not, the allocation is capped so it cannot happen.
What has to be ready before migration?
The venue field and the routing behind it, a re-derived size band for two-sided depth, a stated position on whatever the campaign is holding, and a first-hours plan for the pool that does not assume curve behaviour.
Which venue does a completed token move to?
That depends on the launchpad and on its current configuration, and it has changed over time. It is a fact to read from the launchpad before the phase rather than a constant to memorise from an article.
What is the most common approach-phase mistake?
Running the mid-curve block into the approach without capping it. The block was derived when capacity looked unlimited, and nothing in it knows that the mechanism it is trading against is about to be replaced.
Does the stop rule end the campaign or the phase?
The phase. Ending the campaign is a separate decision with its own condition. Conflating them is how a plan ends up with no post-migration block at all, which is the expensive version of the mistake.
Filed under Phases and written by The Curve Campaign Desk. Ranges on this page exist to show which direction a trade-off runs; the phase decides the value, and every figure inside a worked block is illustrative arithmetic that describes no real token. What this desk does and does not cover is set out on the desk page.