Worthy evaluates every available processor in real time on approval probability, cost, and latency. Each charge is scored against the live signals that matter, then routed to the path most likely to clear. The buyer sees one transaction. Your approval rate goes up.
+ 14.3% approval lift
18 ms median latency
50+ routing signals
Three steps,
millions of decisions
Every charge goes through the same sequence. Signals get captured, processors get scored, the optimal path executes. The model learns from every outcome and the next decision gets better.
step 01
Capture signals
Worthy reads the issuer, BIN, card brand, country, currency, amount, MCC, time of day, and over 50 other variables off every incoming charge.
step 02
Score every route
Each available processor gets a real-time score on approval probability for this exact charge profile. Scores are weighted by recent performance and the model adapts as issuer behavior shifts.
step 03
Send and learn
The charge routes to the highest-scoring path. The outcome feeds back into the model so the next charge with similar attributes gets an even more accurate score.
Each routing decision factors in more than 50 attributes about the charge, the buyer, the card, and the market context. The eight categories below cover the most influential ones.
Override the scoring with rules of your own
Smart Routing runs on autopilot by default. When you need a specific charge to go through a specific processor, write a rule. Rules fire in priority order, and the scoring engine handles everything they don't catch.

Split your traffic between two routing strategies and let the data decide. Compare approval rate, cost, and latency side by side. When one variant wins, promote it to handle the full volume with a single click.
Every routing decision, visible in the dashboard
Track approval rate by processor, by issuer, and by route in real time. Drill into any decline to see which processor was chosen, why, and what alternatives the engine considered.


Every charge response includes the full routing breakdown. Pull the chosen processor, the scores for every candidate, and the rule that matched. Build dashboards, alerts, or auditing on top of it.
Each charge.create response exposes a routing object with everything you need to understand the decision.
chosen_processor is the path the charge ran through.
candidates lists every processor that was scored and the score it received.
matched_rule tells you which rule fired, if any.
latency_ms shows how long scoring took. Always well under 50 ms.
POST /v1/charges · RESPONSE
"id": "ch_1NX84B2eZvKY1o2C",
"status": "succeeded",
"amount": 24900,
"currency": "usd",
"routing": {
"chosen_processor": "processor_1",
"chosen_score": 0.947,
"latency_ms": 16,
"matched_rule": null,
"candidates": [
{ "processor": "processor_1", "score": 0.947 },
{ "processor": "processor_2", "score": 0.872 },
{ "processor": "processor_3", "score": 0.784 },
{ "processor": "processor_4", "score": 0.681 }
],
"signals": {
"issuer": "chase",
"bin": "411111",
"country": "US",
"mcc": "5812"
}
} Smart Routing works alongside
every Worthy product
Smart Routing is the first link in the Acceptance Engine. Stack it with the rest to recover even more charges and capture more revenue.
Viewing Now
Smart Routing
Score acquirers in real time. Send each charge to the path most likely to clear.
ExploreApply for a Worthy account and turn on Smart Routing in minutes. No contracts, no setup fees, no engineering team required. Talk to sales for a custom package or volume pricing.