Back to Hyperswitch

Create Success Rate Config

api-reference/decision-engine-api-reference/api-reference/guides/scoring-config/success-rate-config-create.mdx

2026.08.12.02.8 KB
Original Source

Create Success Rate Config

Success-rate (SR) routing is Decision Engine's default scoring strategy: for each payment it estimates how likely every eligible gateway is to authorise right now and sends the payment to the strongest one. The estimate is not a static number — it is learned continuously from the live outcomes (success/failure) the engine observes, so the routing follows real-time gateway health instead of a fixed priority list. The success-rate config is where you tune how that learning behaves.

Three knobs do most of the work:

  • defaultBucketSize — how many of the most recent transactions per gateway the score is computed over. A small bucket reacts fast to a gateway going down but is noisier; a large bucket is stable but slower to notice change. This is a sliding window: new outcomes push old ones out, so the score always reflects recent behaviour.
  • defaultHedgingPercent — the share of traffic deliberately explored away from the current best gateway. Without exploration the engine would starve non-leading gateways of traffic and never learn that they have recovered; hedging keeps every candidate's score fresh. (This is the same dial Autopilot tunes automatically.)
  • defaultLatencyThreshold — optional latency ceiling used when penalising slow gateways.

You can override any of these per traffic segment via subLevelInputConfig — keyed by dimensions such as paymentMethodType, card network, currency, or country — so a merchant can, for example, run a larger bucket for high-volume card traffic and a smaller one for a thin wallet segment. Anything not overridden falls back to the default* values.

bash
curl --location "$BASE_URL/rule/create" \
  --header "$AUTH_HEADER" \
  --header "Content-Type: application/json" \
  --data '{
    "merchant_id": "merchant_demo",
    "config": {
      "type": "successRate",
      "data": {
        "defaultBucketSize": 20,
        "defaultLatencyThreshold": null,
        "defaultHedgingPercent": null,
        "margin": 0.20,
        "subLevelInputConfig": {
          "paymentMethodType": {
            "CARD": { "bucketSize": 30, "hedgingPercent": 0.05 }
          }
        }
      }
    }
  }'
json
{ "merchant_id": "merchant_demo", "config": { "type": "successRate" } }

margin is the merchant margin as a fraction of ticket (e.g. 0.20 for 20%). It feeds the multi-objective routing economic-value ranking EV = auth rate × settlement value (settlement value = txn amount − cost of payment processing) by setting the merchant's share of the ticket, and defaults to 1.0 when unset.