20. Intelligent Payment Routing
Finance · Intelligence Studio
Route payment streams safely through changing provider conditions and pass hidden test scenarios.
Scenario
Each tick processes one payment while providers execute earlier payments in parallel.
Problem statement
Welcome to YamusaPay's Payments Engineering interview track!
Your task is to design an intelligent payment routing system. Transactions arrive with different values, types (consumer, business, refund, international), and deadlines. Meanwhile, providers vary in fees, capacity, latency, and reliability.
The visible stream teaches the contract. When you click Submit, your routing system is evaluated against hidden server-side test scenarios with unseen outages and fee changes!
Start with an empty rule set. Build decision branches: 1. Filter out ineligible or offline providers using `canRouteA`, `canRouteB`, `canRouteC`. 2. Reserve reliable, low-latency routes for urgent or high-value payments. 3. Balance routine traffic across fees, latency, and remaining capacity.
What this teaches
Combine eligibility, capacity, reliability, urgency, cost, and retry history into one general routing system.
Evaluation contract
- Correctness and completion: 30%
- Reliability, timeout, and priority protection: 35%
- Cost, congestion, and throughput: 25%
- Generalization across hidden provider identities and schedules: 10%
Active controller
Apply & Run executes only the selected controller.
How a rule works
A rule has two parts:
WHEN <something is true> → DO <this action>
- WHEN is a question about what is happening right now. For example: "Is it raining?" or "Is there a wall ahead?"
- DO is what happens when the answer is yes.
- The simulation runs one step at a time.
- On each step, the rules are checked from top to bottom.
- The first rule that is true wins. The rules below it are skipped for that step.
- To change which rule wins, move it up or down the list.
- If no rule is true, nothing happens on that step.
- Some actions have more than one step, like "turn right, then move". You build these in the Functions tab.
- Once a multi-step action starts, it finishes all its steps before the rules are checked again. It only stops early if the next step is not safe.
See an example
Two rules for deciding about an umbrella:
1 WHEN isRaining → take an umbrella 2 WHEN always → leave the umbrella at home
- It is raining. Rule 1 is true, so you take an umbrella. Rule 2 is skipped.
- It is sunny. Rule 1 is false, so rule 2 is checked next. Rule 2 is always true, so you leave the umbrella at home.
- Order matters. If rule 2 were on top, it would be true every day, and you would never take an umbrella.
Rule folders
Categorise cards without changing their global execution order.
Transfer flow
Queue → AI routing decision → provider lane
Ready queue · 1
AI router
Live policy
Choosing a route for tutorial-0001
Awaiting first decision
Provider lanes
Latest activity
No settlements yet — press Apply & Run to start the switch.
Failures and penalty audit⌄
The score is a lower-is-better operating cost. Every component below is added to the final score.
Provider fees
0.00
Failed attempts
0.00
Timeouts
0.00
Priority misses
0.00
Overload
0.00
Queue pressure
0.00
No provider attempt has failed in this run.
Queue depth
1
35 scheduled
In flight
0
0 settled
Success rate
—
No outcomes yet
Throughput
0.00
payments per tick
Provider details
Operational values are recalculated from the runtime after every tick.
Observed success
Awaiting outcome
configured target 94.00%
Current latency
1,800.00ms
1,800.00ms base · no congestion
Live capacity
0/2
2 slots free
Utilization
0.00%
0/0 attempts settled · 0 failed
Health
76.00%
provider online
Current fee
₦0.10
expected attempt cost ₦0.58
Measured latency
Awaiting outcome
0 completed attempts
Observed success
Awaiting outcome
configured target 99.00%
Current latency
1,100.00ms
1,100.00ms base · no congestion
Live capacity
0/3
3 slots free
Utilization
0.00%
0/0 attempts settled · 0 failed
Health
88.00%
provider online
Current fee
₦0.24
expected attempt cost ₦0.32
Measured latency
Awaiting outcome
0 completed attempts
Observed success
Awaiting outcome
configured target 97.00%
Current latency
2,400.00ms
2,400.00ms base · no congestion
Live capacity
0/2
2 slots free
Utilization
0.00%
0/0 attempts settled · 0 failed
Health
73.00%
provider online
Current fee
₦0.18
expected attempt cost ₦0.42
Measured latency
Awaiting outcome
0 completed attempts
Task progress & pass contractThe exact requirements used to judge this visible run⌄
- Finalize every visible paymentnot run
allProcessed - No visible payment expiresnot run
allProcessed && timedOut == 0 - No urgent payment misses its service levelnot run
allProcessed && priorityFailures == 0 - Keep the visible penalty score below 35not run
allProcessed && score < 35
Press Apply & Run to load your brain and start the simulation.
Interview evaluation
6 hidden evaluation scenarios
Hidden scenarios test your solution against different traffic patterns, failures, capacity limits, timing pressure, and edge cases that are not part of Apply & Run. To pass, your solution must satisfy every guardrail and achieve an average score of at least 70/100.