TRUSTED, FAIR, COMMUNITY-LED

Why CultComps is different

We keep entry simple, draws fair, and winner selection transparent, so you always know how things work.

  • Simple entry
  • Fair odds
  • Transparent draws

Simple entry

At CultComps, we believe entering a competition should be simple, transparent, and fair. We are not here to criticise others, only to be clear about how we do things and why.

You choose your tickets, answer a simple question, and you are in. No hidden steps or unnecessary complexity.

Simple entry, no confusion

No complicated entry methods, multiple pricing tiers, or unclear odds. Just a clear process from start to finish.

Fair and consistent for everyone

Every valid entry has an equal chance of winning, with no hidden mechanics running in the background.

Connected in-house draw system

Draws are run in our own platform to keep every stage consistent, traceable, and easy to follow.

Fair and consistent for everyone

Every valid entry has an equal chance of winning. We do not weight entries or apply hidden mechanics behind the scenes.

What you see is what you get.

Our draw method

Many competition sites use external random number tools, and that can be a perfectly valid approach. We have chosen a different path by building the draw process directly into our own platform.

Our focus is not on saying one method is better than another. It is on creating a smooth, connected, and consistent experience for our community.

  • All draws are processed within our internal system.
  • The process is recorded to keep outcomes clear and consistent.
  • The same method is applied every time to maintain fairness.

Why we run draws within our own system

Running draws in-platform lets us link them directly with live draws, instant confirmations, and automated winner emails. This keeps everything clear, timely, and easy to follow.

It also keeps the full process in one place rather than relying on third-party pages. External generators are widely used, but any web-based tool can theoretically be imitated or altered in certain situations.

We are not suggesting that is common. Keeping things in-house helps us maintain consistency and clarity from start to finish.

Transparent winners

We aim to make winners visible and easy to verify. Where possible, draws are carried out live and results are shared clearly with our community.

Built for our community

CultComps is not just a website. It is something we are building for a growing community of people who enjoy the excitement of competitions.

We listen, we improve, and we aim to keep things fair and enjoyable for everyone involved.

How our winner selection works

We run the same process every time. Here is how a winning ticket is selected.

1) We verify eligibility

Before a draw runs, our system creates the eligible ticket pool. A ticket is only included if it:

  • belongs to the competition being drawn,
  • is marked as valid, and
  • is linked to a real user account (so it has been sold and allocated correctly).

2) We use secure randomness

We use PHP's random_int() function to generate the winning position. This is a cryptographically secure random function, which means the output is unbiased and not predictable in normal use.

3) We use an offset method

Once we know how many eligible tickets there are, we generate a random position in that range. If there are 5,000 eligible tickets, the system generates a random position from that pool and selects the ticket at that position.

4) We process data safely

All competitions are closed before the draw takes place. Once closed, no further entries or changes can be made.

The winner is then selected at random from all valid entries using a secure method, ensuring every ticket has an equal and fair chance. Draw queries use prepared statements with bound parameters to keep handling safe and consistent.

Why this matters

This method gives each eligible ticket the same mathematical chance of being selected. The selection is automated by the server using the same process each time.

Winner selection code sample (PHP)

This is a simplified version of the method we use in production. We share it publicly so anyone can understand the flow.

$eligibleCountStmt = $pdo->prepare("
    SELECT COUNT(*)
    FROM tickets
    WHERE item_id = :item_id
      AND is_valid = 1
      AND user_id IS NOT NULL
");
$eligibleCountStmt->bindValue(':item_id', $item_id, PDO::PARAM_INT);
$eligibleCountStmt->execute();
$eligibleCount = (int) $eligibleCountStmt->fetchColumn();

if ($eligibleCount <= 0) {
    $error = 'No eligible sold tickets remain for main-prize draws in this competition.';
} else {
    $winnerOffset = random_int(0, $eligibleCount - 1);
    $winnerStmt = $pdo->prepare("
        SELECT id, user_id, ticket_number
        FROM tickets
        WHERE item_id = :item_id
          AND is_valid = 1
          AND user_id IS NOT NULL
        ORDER BY id ASC
        LIMIT 1 OFFSET :winner_offset
    ");
    $winnerStmt->bindValue(':item_id', $item_id, PDO::PARAM_INT);
    $winnerStmt->bindValue(':winner_offset', $winnerOffset, PDO::PARAM_INT);
    $winnerStmt->execute();
    $winnerTicket = $winnerStmt->fetch(PDO::FETCH_ASSOC);
}

Simple explanation (non-coders)

In plain terms:

The system checks how many valid tickets are in the draw. If there are no valid tickets, it stops.

If there are valid tickets, it generates one secure random position in that list and returns the ticket at that position as the winner. This means each eligible ticket has an equal chance.

What you won't find here

  • No hidden odds
  • No confusing systems
  • No tricks

Ready to get started?

Browse competitions