← Protocols
protocols/B-autosell-exit.json · v1
B · AutoSell: trigger-to-inclusion, exit probability, cost and execution quality
For exit intents triggered by a pre-defined condition, the Rout arm lands within the window more often, at no higher cost per landed exit and no worse implementation shortfall, than the control path.
draft
10 values must be agreed before this can run
$.parameters.bootstrap_resamples · $.parameters.landing_window_slots · $.parameters.max_abs_clock_offset_ns · $.parameters.target_n_per_arm · $.parameters.budget_lamports_max · $.parameters.tip_lamports_by_arm · $.parameters.cluster_slots · $.acceptance.min_landing_difference · $.acceptance.max_cost_ratio · $.acceptance.max_shortfall_difference_bps
Check with
python3 -m rbench.prereg check protocols/B-autosell-exit.json.Design
- Why it matters
- Auto-sell and counter-trade exits that still land, at a bounded price, when the market moves fast.
- Unit
- One exit intent on a position held by the experiment's wallets. One arm per intent; never two arms on the same token at once.
- Primary metric
landed_within_window: Share of all exit intents with a landed_ok copy at slot - anchor.slot <= landing_window_slots; anchor = trigger_tx slot.- Denominator
- Every exit intent, including refused and expired.
- Randomization
- Seeded CSPRNG per intent; one position per token per wallet set; arms never concurrently on one token (sha256_mod_v1)
- Stopping rule
- Fixed n; single analysis.
Arms
Secondary metrics
Exclusions, decided before the run
None. Every intent stays in the denominator.
Acceptance
What each tier hides
Signatures, slots and ids are never redacted: they are how anyone re-checks a result. A run can't be published wider than the tier it was registered at.
- Partner-confidential removes
- host_id, nonce_account, stratum
- Public also removes
- mint, size_raw, quote, endpoint_region, refusal_code, send_error
Waits on
E1E2E4MAINNETFILL-QUALITY-DECODERBUDGET-B
The file
protocols/B-autosell-exit.json
{
"protocol_id": "B-autosell-exit",
"version": 1,
"experiment": "B",
"status": "draft",
"title": "B · AutoSell: trigger-to-inclusion, exit probability, cost and execution quality",
"hypothesis": "For exit intents triggered by a pre-defined condition, the Rout arm lands within the window more often, at no higher cost per landed exit and no worse implementation shortfall, than the control path.",
"customer_value": "Auto-sell and counter-trade exits that still land, at a bounded price, when the market moves fast.",
"unit": "One exit intent on a position held by the experiment's wallets. One arm per intent; never two arms on the same token at once.",
"arms": [
{
"arm_id": "rout",
"description": "Rout sell rule, bounded slippage start_bps..max_bps, own tip."
},
{
"arm_id": "control",
"description": "Control path agreed in the protocol (reference RPC, or the partner's path when the partner runs it)."
}
],
"primary_metric": {
"id": "landed_within_window",
"definition": "Share of all exit intents with a landed_ok copy at slot - anchor.slot <= landing_window_slots; anchor = trigger_tx slot."
},
"secondary_metrics": [
{
"id": "implementation_shortfall_bps",
"definition": "(curve price at anchor slot - realized price) / curve price at anchor slot, from tx meta; computed for landed exits."
},
{
"id": "spend_per_landed",
"definition": "As E0."
},
{
"id": "delta_slot_quantiles",
"definition": "As E0."
}
],
"parameters": {
"confidence": 0.95,
"quantiles": [
0.5,
0.9,
0.95,
0.99
],
"bootstrap_resamples": null,
"landing_window_slots": null,
"commitment": "finalized",
"max_abs_clock_offset_ns": null,
"target_n_per_arm": null,
"budget_lamports_max": null,
"tip_lamports_by_arm": null,
"comparisons": [
[
"rout",
"control"
]
],
"strata": [
"launchpad",
"congestion_tercile",
"leader_window_position",
"region"
],
"cluster_slots": null
},
"randomization": {
"unit": "intent",
"method_id": "sha256_mod_v1",
"method": "Seeded CSPRNG per intent; one position per token per wallet set; arms never concurrently on one token",
"strata": [
"launchpad",
"congestion_tercile"
]
},
"denominator": "Every exit intent, including refused and expired.",
"exclusions": [],
"stopping_rule": "Fixed n; single analysis.",
"acceptance": {
"min_landing_difference": null,
"max_cost_ratio": null,
"max_shortfall_difference_bps": null,
"max_double_landed_intents": 0
},
"redact_by_tier": {
"partner_confidential": [
"host_id",
"nonce_account",
"stratum"
],
"public": [
"mint",
"size_raw",
"quote",
"endpoint_region",
"refusal_code",
"send_error"
]
},
"requires": [
"E1",
"E2",
"E4",
"MAINNET",
"FILL-QUALITY-DECODER",
"BUDGET-B"
]
}