← Protocols
protocols/A1-guard-response.json · v1
A1 · Launch guard: external-flow trigger to protective exit (Rout only)
When external flow crosses T, Rout fires once and a protective exit lands within the window. Two pre-registered implementations are compared because neither matches a gross-buy threshold guard exactly: a slot-judged net-flow ladder and a provider-aggregated gross-buy window.
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.thresholds_lamports · $.parameters.cluster_slots · $.acceptance.min_landed_within_window · $.acceptance.max_false_trigger_rate
Check with
python3 -m rbench.prereg check protocols/A1-guard-response.json.Design
- Why it matters
- The protective response launch platforms offer creators, measured end to end on chain.
- Unit
- One position held on a launch Rout controls or is allowed to trade; one exit intent per crossing.
- Primary metric
landed_within_window: Share of crossing events whose exit landed with slot - threshold_cross slot <= landing_window_slots.- Denominator
- Every chain-recomputed crossing in the observed launch set, plus every fired intent.
- Randomization
- Threshold assigned per launch from a seeded CSPRNG (per_launch_sha256_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
BUDGET-A1E1E2E6MAINNETPROVIDER-FLOW-FEED
The file
protocols/A1-guard-response.json
{
"protocol_id": "A1-guard-response",
"version": 1,
"experiment": "A1",
"status": "draft",
"title": "A1 · Launch guard: external-flow trigger to protective exit (Rout only)",
"hypothesis": "When external flow crosses T, Rout fires once and a protective exit lands within the window. Two pre-registered implementations are compared because neither matches a gross-buy threshold guard exactly: a slot-judged net-flow ladder and a provider-aggregated gross-buy window.",
"customer_value": "The protective response launch platforms offer creators, measured end to end on chain.",
"unit": "One position held on a launch Rout controls or is allowed to trade; one exit intent per crossing.",
"arms": [
{
"arm_id": "rout_slot_ladder",
"description": "Ladder of external_flow rules (net flow, judged at through_slots = 0..K under any/once) with creator_rout_and_affiliates exclusion -> sell rule with its own tip."
},
{
"arm_id": "rout_elapsed_gross",
"description": "elapsed_flow with bought_quote_raw >= T (gross external buys, threshold-guard semantics) over a provider source-time window -> sell rule; depends on the provider's aggregation latency."
}
],
"primary_metric": {
"id": "landed_within_window",
"definition": "Share of crossing events whose exit landed with slot - threshold_cross slot <= landing_window_slots."
},
"secondary_metrics": [
{
"id": "false_trigger_rate",
"definition": "Exits fired where chain-recomputed external flow (rbench.step0 rules) never reached T."
},
{
"id": "missed_trigger_rate",
"definition": "Chain-recomputed crossings with no intent created."
},
{
"id": "entered_after_lamports",
"definition": "External buy lamports between crossing and exit landing."
}
],
"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,
"thresholds_lamports": null,
"comparisons": [
[
"rout_slot_ladder",
"rout_elapsed_gross"
]
],
"strata": [
"congestion_tercile",
"launchpad",
"threshold"
],
"cluster_slots": null
},
"randomization": {
"unit": "crossing event",
"method_id": "per_launch_sha256_v1",
"method": "Threshold assigned per launch from a seeded CSPRNG",
"strata": [
"launchpad"
]
},
"denominator": "Every chain-recomputed crossing in the observed launch set, plus every fired intent.",
"exclusions": [],
"stopping_rule": "Fixed n; single analysis.",
"acceptance": {
"min_landed_within_window": null,
"max_false_trigger_rate": null
},
"redact_by_tier": {
"partner_confidential": [
"host_id",
"nonce_account",
"stratum"
],
"public": [
"mint",
"size_raw",
"quote",
"endpoint_region",
"refusal_code",
"send_error"
]
},
"requires": [
"BUDGET-A1",
"E1",
"E2",
"E6",
"MAINNET",
"PROVIDER-FLOW-FEED"
]
}