Search

Search benchmark pages, protocols, published runs and the docs

Rout
← 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

ArmWhat it does
rout slot ladderLadder 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.
rout elapsed grosselapsed_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.

Secondary metrics

MetricDefinition
false_trigger_rateExits fired where chain-recomputed external flow (rbench.step0 rules) never reached T.
missed_trigger_rateChain-recomputed crossings with no intent created.
entered_after_lamportsExternal buy lamports between crossing and exit landing.

Exclusions, decided before the run

None. Every intent stays in the denominator.

Acceptance

CriterionAgreed value
min_landed_within_windowNot agreed
max_false_trigger_rateNot agreed

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"
  ]
}