Strategy Grid V1
π Legacy API β new integrations should use Strategy Grid V2.
V2 routes through the universal-poker pipeline (set
"protocol_ver": "v2"in the request) and uses a richersetupobject with raise-TO action notation. V1 remains supported for existing integrations.
Endpoint:
<gto-glue-environment-URL>/strategy_grid
Requests:
Fields:
-
stack_sizes: Player stacks in BB. The number of stacks represent the number of players.- Restrictions:
- Only supports up to 8 players for specific models and 9 for global/generic models (it wonβt break with more players).
- Does not support zero stack players, please ignore them on the request (it will break the request).
- Depth limit of the model is 2000bbβs (it wonβt break with higher values).
- The order matters. The list starts with the stack of the player in the Small Blind position:
- SB β BB β STR (if applicable) β UTG β β¦
- Restrictions:
-
request_id:- Field for client control. Currently also used for log control. Can be any string.
- It is an optional field, but is strongly suggested to be used.
-
action_line:- Compressed action-history string. Tokens separated by
-. - Action tokens (case-insensitive):
Fβ foldC/Xβ call / checkAβ all-in shorthand (raise-to-stack, or call if already matched)R<bb>/B<bb>β raise / bet, with size in big blinds (e.g.R6.8,B10.5)
- Community-card tokens are inline: 3 cards for the flop (e.g.
6h8d4c), then 1 card per street for turn and river (e.g.2d,8s). - Example:
F-F-R6.8-C-F-F-F-F-6h8d4c-B10.5-C-2d-B21-C-8s-X
- Compressed action-history string. Tokens separated by
-
game_format:- Essential for auto-model selection; it is ignored for most models when manual model selection is used.
- Currently available:
- Cash:
"2b-0.0","2b-0.5","2b-1.0","2b-2.0","2b-2.5","3b-0.0","3b-0.5","3b-1.0","3b-2.0","3b-2.5","splash" - Tournament / special:
"mtt","bombpot","shortdeck","spin","aof"
- Cash:
Example:
{
"request_id": "request_example_01",
"game_format": "3b-0.5",
"action_line": "F-F-F-F-F-R7.5-F-C-7hQsKd-C",
"stack_sizes": "200,200,200,200,200,200,200,200"
}Response
-
model: Model used to generate the response. -
strategy: Model response β array of combo-level entries.combo: First level: pair, suited or offsuit (e.g.KK,KTo,KTs).detail: First-leveldetail: list of all specific hands in this combo (e.g.KsTsforKTs,KsThforKTo).combo: Second level: the specific hand (e.g.AsAh).detail: Second-leveldetail: list of actions; each is["action name", "strategy probability", "ev"].reach: Probability that this specific hand would reach the current decision point given the action history (product of action probabilities along the path; from replay or solver).
detail_agg: Aggregated result for the combo: list of["action name", "strategy probability", "ev"].ev: Expected value for the combo at this node.reach: Average reach probability over all specific hands in this combo β (sum of each handβs reach) / (number of hands in combo). Indicates how much of this combo is still in range at the current node.strategy: Probability of every action for this combo. Always 11 entries (indices 0β10):- 0 β fold
- 1 β call (or check)
- 2 β all-in
- 3β10 β bet / raise sizes. The chip amounts at these indices are produced dynamically by the model and are read alongside the probability in each
detail_agg/detailrow (action label, probability, EV). Most cash models follow the typical bucketing below, but the exact sizes vary per model β always rely on the action label indetail_aggrather than assuming a fixed mapping.- Typical mapping for cash models: 3 β 33% pot, 4 β 50% pot, 5 β 75% pot, 6 β 100% pot, 7 β 150% pot, 8 β 250% pot, 9 β 10% pot, 10 β 25% pot.
-
strategy_compute_time: Compute time in ms (if present). -
success: Boolean.
Example:
{
"model": "moe_ev_2b1_bsz1.onnx",
"strategy": [
{
"combo": "AA",
"detail": [
{
"combo": "AsAh",
"detail": [
[
"call",
"100.0%",
"24.89"
]
],
"reach": 1.0
},
(...)
],
"detail_agg": [
[
"fold",
"0.0%",
"0.00"
],
[
"call",
"100.0%",
"24.89"
],
(...)
],
"ev": 24.88633728027344,
"reach": 1.0,
"strategy": [
0.000013484615010384005,
0.9999337196350098,
1.532069826906679e-14,
8.220706892991814e-10,
1.6047474460378908e-10,
0.0,
0.000012085341040801724,
0.000040630678995512426,
1.5992345936410857e-7,
0.0,
0.0
]
},
(...)
],
"strategy_compute_time": 703,
"success": true
}