{"uid":"cap_6IL3GmiL5WVc6JqaygzUo","slug":"halowerk-mmr-matchmaking-pair-selector-501d9c92","name":"Halowerk MMR Matchmaking Pair Selector","description":"Enumerates feasible player pairs, ranks them by rating gap then worst latency, and greedily selects disjoint pairs. This is a transparent local pairing heuristic, not globally optimal team balancing, skill inference, anti-smurfing, or a live queue service.","url":"https://gaming.halowerk.com/v1/matchmaking-mmr","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"players":{"type":"array","items":{"type":"object","required":["player_id","rating","rating_uncertainty","latency_ms"],"properties":{"rating":{"type":"number","maximum":10000,"minimum":0},"player_id":{"type":"string","maxLength":128,"minLength":1},"latency_ms":{"type":"number","maximum":100000,"minimum":0},"rating_uncertainty":{"type":"number","maximum":5000,"minimum":0}},"additionalProperties":false},"maxItems":500,"minItems":2},"max_latency_ms":{"type":"number","maximum":100000,"minimum":0},"max_rating_gap":{"type":"number","maximum":10000,"minimum":0}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_AYID57jexzHJ7_0SnqnyG","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Enumerates feasible player pairs from a pool, ranks them by rating gap then worst latency, and greedily selects disjoint matched pairs within configurable skill and latency constraints.","exampleAgentPrompt":"I have 8 players waiting in the lobby — can you pair them up for matches using their MMR ratings and ping times, keeping rating gaps under 200 and latency under 80ms?","exampleUseCases":[{"title":"Casual lobby matchmaking before game start","prompt":"I've got 12 players in the pregame lobby with their MMR scores and pings. Pair them up into fair 1v1 matchups — keep the skill gap under 150 points and only match people with under 100ms latency to each other."},{"title":"Ranked queue snapshot pairing","prompt":"Here's a snapshot of 20 ranked players currently queued, each with their rating, uncertainty, and measured latency. Run the greedy pairing on them with a max rating gap of 300 and max latency of 60ms and tell me which pairs got selected."},{"title":"Custom tournament bracket seed pairing","prompt":"For our weekend tournament I have 16 registered players with their current ratings and connection latencies. Pair them up for round one — I want matches where the rating gap stays within 250 and no pair has a connection worse than 120ms."}],"resultDescription":"Returns a list of greedily selected disjoint player pairs that satisfy the max_rating_gap and max_latency_ms constraints, ranked by rating gap and then worst latency among feasible pairs. Includes the paired player IDs and the metrics used for ranking each pair.","failureModes":["Fewer than 2 players provided — no pairs can be formed","All player combinations exceed max_rating_gap or max_latency_ms thresholds — returns empty pair list","Player data missing required fields (player_id, rating, rating_uncertainty, latency_ms) — validation error","More than 500 players submitted — exceeds maxItems constraint","Latency or rating values out of declared range — schema validation failure"],"whenToPreferThis":"Use this endpoint when you have a known pool of players (2–500) with pre-measured latency and existing skill ratings and need a fast, deterministic, locally computed greedy pairing — not a global queue, live matchmaking service, anti-smurfing system, or team-balancing optimizer. Ideal for lobby-side or tournament-bracket pairing where you control the player set and want transparent, reproducible pair selection.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:37:42.925Z","isFirstParty":false}