Search

Search benchmark pages, protocols, published runs and the docs

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

ArmWhat it does
routRout sell rule, bounded slippage start_bps..max_bps, own tip.
controlControl path agreed in the protocol (reference RPC, or the partner's path when the partner runs it).

Secondary metrics

MetricDefinition
implementation_shortfall_bps(curve price at anchor slot - realized price) / curve price at anchor slot, from tx meta; computed for landed exits.
spend_per_landedAs E0.
delta_slot_quantilesAs E0.

Exclusions, decided before the run

None. Every intent stays in the denominator.

Acceptance

CriterionAgreed value
min_landing_differenceNot agreed
max_cost_ratioNot agreed
max_shortfall_difference_bpsNot agreed
max_double_landed_intents0

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