v1.4.0BullMQ Event-Driven Worker Released

Matchmaking infrastructure for modern games

Slot topology, dynamic Elo window expansion, two-way ready checks, and HMAC-signed webhook delivery — without building or maintaining matchmaking servers.

pnpm add @matching-hub/sdk· Zero card required
Skill-based matchmakingskill · 1v1
Matching±50 window
—····
Candidates · closest rating wins

Scanning the pool…

Match

Widening the window until someone fits…

Sub-25ms
Mean matchmaking tick p50
Zero-contention in-memory evaluation
2,097 req/s
HTTP benchmark throughput
Non-blocking high-throughput API
99.99%
Availability & uptime SLA
Partitioned queue & Redis durability
0.0%
Dropped queue error rate
Idempotent delivery & auto-retry
Deterministic Engine Architecture

From enqueue to game server in sub-50ms

A multi-tenant, event-driven engine engineered for high-concurrency multiplayer games with zero state contention.

STEP 01Idempotent Queue Ingest

High-throughput API & Solo/Party validation

HTTP / Ingest

Game servers submit solo players or premade parties with skill ratings (Elo/MMR) and regional latency vectors. Every request is verified via SHA-256 project API keys and deduplicated via Idempotency-Key headers.

Engine Specification
Throughput
2,000+ req/s
Auth Model
SHA-256 Project API Key
Deduplication
Strict Idempotency-Key
Engine ProtocolActive
POST /v1/queues/enqueue
Authorization: Bearer key_live_99a8...
Idempotency-Key: enq_1724688000_party_bravo
{
  "projectId": "proj_123",
  "gameModeId": "mode_ranked_5v5",
  "team": { "members": [{ "playerId": "p1", "rating": 1540 }] }
}
Developer Experience & SDK

Integrate in minutes, not months

A battle-tested matchmaking lifecycle with zero vendor lock-in. Pick your language, drop in your API key, and handle callbacks.

POST/v1/queues/enqueue
49 lines
1const API_KEY = process.env.MATCHING_HUB_API_KEY!;
2const BASE_URL = "https://api.matchinghub.dev/v1";
3 
4interface EnqueuePayload {
5 projectId: string;
6 gameModeId: string;
7 environment: "production" | "staging";
8 region: string;
9 team: {
10 externalTeamId?: string;
11 members: Array<{ playerId: string; rating?: number }>;
12 };
13 metadata?: Record<string, unknown>;
14}
15 
16export async function enqueueParty() {
17 const payload: EnqueuePayload = {
18 projectId: "proj_99a8b7c6",
19 gameModeId: "mode_ranked_5v5",
20 environment: "production",
21 region: "ap-southeast-1",
22 team: {
23 externalTeamId: "party_bravo_404",
24 members: [
25 { playerId: "usr_vanguard_01", rating: 1540 },
26 { playerId: "usr_sentinel_02", rating: 1495 }
27 ]
28 },
29 metadata: {
30 partySize: 2,
31 latencies: { "ap-southeast-1": 24, "ap-east-1": 68 }
32 }
33 };
34 
35 const response = await fetch(`${BASE_URL}/queues/enqueue`, {
36 method: "POST",
37 headers: {
38 "Authorization": `Bearer ${API_KEY}`,
39 "Content-Type": "application/json",
40 "Idempotency-Key": `enq_${Date.now()}_party_bravo`
41 },
42 body: JSON.stringify(payload)
43 });
44 
45 if (!response.ok) throw new Error(`Enqueue failed: ${response.statusText}`);
46 const data = await response.json();
47 console.log("Enqueued successfully:", data.queueEntryId, data.poolKey);
48 return data;
49}

Enqueue Party / Player: Game servers push solo players or premade parties into matchmaking pools with MMR ratings and multi-region ping latencies.

Party & solo supportLatency-based routingIdempotent submissions
Complete Feature Set

Everything the matchmaking layer needs

One unified platform for matchmaking queues, rating algorithms, event callbacks, and live operations — so you can ship the game, not the infrastructure.

Topology
Team-Based Slot Topology
Solo is a team of one, parties are teams of N, and team-vs-team fits natively. Configure 1v1, 5v5, Battle Royale, or 4-way FFA through declarative slot and group indices.
Rating Engine
Triple Rating Modes
Choose internal Elo rating calculation with automatic post-match adjustments, bring-your-own external MMR from your existing backend, or disable skill ranking per mode.
Governance
Ready Check & AFK Guard
Two-way handshake acceptance, automated countdown timeouts, escalating lockout ladders, and instant priority queue restoration for non-dodging players.
Disputes
Dispute & Outcome Resolution
Audit game outcomes, override winners, revert rating updates, and resolve match disputes with one click directly from the dashboard.
Security
Multi-Tenant RBAC & Keys
Organizations, projects, hashed API keys, and environment isolation (production, staging, development) with role-based member permissions.
Event Dispatch
Cryptographic HMAC Webhooks
Outbound events signed with SHA-256 secret keys and timestamp replay protection. Includes exponential backoff retries and live payload inspection.
Billing
Metered Billing & QuotaGuard
Transparent match & enqueue consumption meters, Stripe Checkout & Customer Portal integration, and non-blocking fail-open quota safety during peak traffic.
Enterprise Governance & Trust

Engineered for mission-critical game backends

Battle-hardened reliability, cryptographic verification, and tamper-evident audit logging out of the box.

Cryptographic Payload Integrity

Every outbound webhook callback is signed with SHA-256 HMAC secret tokens (X-Webhook-Signature) with timestamp replay protection. API keys are scrypt/sha256 hashed and never stored or returned in plaintext.

Immutable Audit Trail (SOC2-Ready)

Tamper-evident audit logging captures actor IDs, IP origins, sanitized User-Agents, and granular before/after diffs for all match formations, rating updates, API key rotations, and member invites.

High-Throughput Isolation

Architected with isolated BullMQ workers, partitioned Redis atomic pipelines, and PostgreSQL row-level locks to ensure zero race conditions across distributed game servers.

Zero-Trust Multi-Tenancy

Strict isolation across organizations, projects, and environments (production, staging, development). Scoped token guards guarantee teams only access their dedicated resources.

HMAC-SHA256
Outbound Cryptography
90d / 365d
Audit Log Retention
99.99%
Uptime SLA Target
OpenAPI 3.1
Strict Schema Contract
Transparent Developer Pricing

Scale from prototype to millions of matches

Start free without a credit card. Upgrade when your game launches and demands production governance.

Free
Starter
Essential matchmaking tools for prototypes, game jams, and indie testbeds.
$0/ month

Free forever · No credit card required

Includes:

  • 5,000 matches / mo
  • 25,000 enqueues / mo
  • Up to 5 active match pools
  • 7-day audit log retention
  • Standard webhook delivery
  • Community Discord support
Most Popular
Pro
Production
High throughput, match governance, and queue safety for live multiplayer games.
$39/ month

Billed annually ($468/yr)

Everything in Free, plus:

  • 100,000 matches / mo
  • 500,000 enqueues / mo
  • Up to 30 active match pools
  • 90-day audit log retention
  • Dodge penalty escalation ladders
  • Two-way ready-check timeouts
  • Priority webhook retry with HMAC
  • Priority email & dashboard support
Enterprise
Custom
Dedicated compute cluster, strict SLAs, and custom volume concurrency for studios.
Custom

Tailored quotas & enterprise invoicing

Everything in Pro, plus:

  • Custom quotas (Millions+ matches/mo)
  • Unlimited match pools & environments
  • 365-day audit log compliance retention
  • Dedicated region clustering & VPC
  • 99.99% uptime SLA guarantee
  • Dedicated Slack channel & named engineer

Compare all features

Detailed breakdown of limits, engine capabilities, security controls, and support levels.

Feature CategoryFreeProEnterprise
Quotas & Volume Limits
Monthly Matches Formed5,000100,000Custom (Millions+)
Monthly Enqueue Operations25,000500,000Unlimited
Active Matchmaking Pools530Unlimited
Audit Log Retention7 days90 days365 days
Matchmaking Engine & Rules
Slot-Based Matching (1v1, 5v5, FFA)
Elo & External Skill Ratings
Dynamic Expanding Skill Windows
Two-Way Ready-Check Handshake
Escalating Dodge Penalty Ladders
Match Dispute Resolution
Security, Audit & Support
HMAC-Signed Webhooks
Support ChannelCommunity DiscordPriority EmailDedicated Slack
Uptime SLABest effort99.9%99.99% Guarantee

Billing & Plans FAQ

Everything you need to know about quotas, payments, and plan governance.

How does the Stripe billing integration work?

Matching Hub integrates directly with Stripe Checkout and Stripe Customer Portal for PCI-compliant subscription management. Invoices, receipts, tax IDs, and payment method updates are managed seamlessly through your organization's dashboard.

What happens if our game exceeds its monthly match or enqueue quota?

We operate on a fail-open design to protect live multiplayer gameplay. You will receive advisory dashboard warnings and email alerts when reaching 80% and 100% capacity. During peak surges, active matchmaking continues during a grace window while you upgrade, preventing lobby interruptions.

Can I switch between monthly and annual billing at any time?

Yes. Upgrades take effect immediately with pro-rated charges automatically calculated by Stripe. Downgrades take effect at the conclusion of your current billing period so you retain full access to Pro features until your paid period finishes.

What is the past-due grace period and cancellation policy?

If a renewal payment fails, your account enters a 7-day soft grace window during which all matchmaking operations proceed without interruption. You can cancel your subscription at any time with zero lock-in via the Stripe Customer Portal.

Production-Ready Matchmaking

Start matchmaking in under five minutes

Create a project, generate an API key, and send your first queue entry. No credit card required.

pnpm add @matching-hub/sdk