MATCHING · OVERVIEW

How does matching work?

Reading time: 5 min Updated September 15, 2026 11,203 people found this article helpful
TL;DR

Matching happens in two phases. Phase 1 - Live matching: on a two-outcome event, when you start a challenge, we immediately look for an opponent through an internal cascade (within your tier → inter-tier → aggregation). If nothing turns up, we keep searching continuously throughout the event. With three outcomes or more, your stake is matched later, in lots. Phase 2 - Pool phase: just before the event ends, we gather the residuals into a mutualized pool. You can set whether you accept the pool and at what minimum multiplier. If the computed multiplier is too low for you, you're refunded in full.

Why two phases (and not one big matching pass)

On a P2P market, the core problem is simple: you need people who want to stake on different outcomes of the same event at the same time, for compatible amounts. On popular events (Real Madrid vs Barça, BTC > 100K), that's easy. On niche events or at rare tiers, it's tighter.

Rather than dropping you into a pool at placement (and locking you into an indicative multiplier that can move), Ktkarena makes two passes:

  • Phase 1 - Live matching: for as long as the event is open, we actively try to match you P2P. On a two-outcome event, that means person against person, stake against stake: the noble path - fixed multiplier, no sharing, no uncertainty. With three outcomes or more, matching happens in lots (see below).
  • Phase 2 - Pool phase: just before the event closes, we look at what's left without a counterparty. We gather all residuals into a mutualized pool and compute a fair pool multiplier. If it suits you (based on your preference), you enter the pool; otherwise you're refunded.

The advantage: you're never forced to accept a pool on unfavorable terms. You know exactly what happens at every step.

Phase 1 - Live matching (throughout the event)

This phase starts as soon as you start your challenge and continues as long as the event is open. It runs in two stages:

1. The placement cascade (instant). On a two-outcome event, the moment you tap "challenge," an algorithm attempts three steps in cascade within a few seconds:

  • Direct match within your tier: we look for a player taking the opposite side, exactly at your tier. Details.
  • Inter-tier cascade: if nothing, we widen to the neighboring tiers. Details.
  • Aggregation of several opponents: if still nothing, we assemble several smaller opposing stakes to make up the amount. Details.

If the cascade finds a full counterparty, your challenge is matched. Otherwise, the residual stays waiting for an opponent (pending status) - but we don't stop there.

2. The matching loop (continuous throughout the event). As long as the event stays open, a background job re-runs the cascade on your residual every time a new player arrives on a different outcome, and at least once per minute. No action needed on your end; you get a notification as soon as a match is found. Matching loop details.

On an event with three outcomes or more, there is no instant cascade. Your whole stake goes into the queue, and the engine then matches it in lots: a lot brings together up to twelve participants across several outcomes, and each participation gets its own multiplier, fixed when the lot is formed. Until your challenge is matched, the multiplier displayed is only an estimate. Whatever hasn't found a lot when the pool phase starts moves on to phase 2, just as with two outcomes.

Phase 2 - Pool phase (at event end)

A few minutes before the event closes (adaptive duration based on the event's length - typically 15 to 60 minutes), the placement of new challenges closes and the event enters the pool phase.

During the pool phase:

  • No new stakes can be placed.
  • Ongoing challenges are locked (no user-side cancellation).
  • The system lists all remaining residuals (challenges without a full counterparty).
  • It computes an indicative pool multiplier by relating the pool's total mass to each outcome's mass.
  • For each participant, we check whether the computed multiplier meets their personal minimum pool multiplier preference.
  • If yes: the participant enters the pool, their stake stays committed, their final multiplier is locked in.
  • If not: they're refunded in full, with no penalty or commission.

It all happens in a single atomic transaction. You get a clear notification: "Your challenge entered the pool at ×1.45" or "Your challenge was refunded (pool multiplier ×1.10 below your ×1.20 threshold)".

Full details on the pool phase.

Your preferences shape phase 2

Two personal settings give you control over the pool phase, available in your challenge settings:

Pool acceptance (3 values):

  • Always: you systematically accept the pool as long as your minimum multiplier is met.
  • If needed (default): you accept the pool only if your challenge wasn't matched P2P in phase 1.
  • Never: you systematically refuse the pool. If nothing matched in phase 1, you're refunded.

Minimum pool multiplier (from 1.00 to 5.00, in steps of 0.10): the lowest multiplier you accept in a pool. Below that, automatic refund. The default value is 1.20.

Your preferences are captured at placement time: if you change your settings after starting your challenge, your ongoing challenge keeps the initial values. No bad surprises that way.

Why this model is fairer than before

In the old model, as soon as a challenge had no direct match, it could be absorbed immediately into a pool at an indicative multiplier. The problem: that multiplier could move throughout the event (depending on who joined the pool), and you had no control.

The new model flips the logic:

  1. We always give you the maximum amount of time for a clean P2P match.
  2. We only put you in a pool as a last resort, and only with your consent (personal preferences).
  3. If the computed pool doesn't suit you, you walk away at no cost.

The result: you know the worst-case scenario in advance, and you're never trapped in a deteriorating multiplier.

FAQ

Frequently asked questions

Yes. Set your "Pool acceptance" preference to Never. You play 100% P2P: if you're not matched during the event, you're refunded in full at close. You can also set your minimum pool multiplier very high (for example ×3) so you only enter a pool on very favorable terms.

It varies with the event's duration: 5 to 15 minutes for short events (under 1 hour), 15 minutes for events lasting a few hours, 30 minutes for events of 1 to 7 days, 60 minutes for longer events. The event admin can override this duration (between 5 and 120 minutes). You can see the exact countdown in the event details under "Pool phase starts at…".

If the pool phase starts with fewer than two covered outcomes (every residual sitting on a single outcome), the pool is called "degenerate": everyone is refunded. No loss, no commission. You get a notification and your KTK come back immediately.

STILL STUCK?

Was this article helpful?

Prefer to talk to someone? Contact our support →
Link copied