العودة إلى المشاريع
B2B Wholesale · Digital Products

Rooqn

An invite-only wholesale platform for digital products in Algeria: gift cards, Flexy and Idoom top-ups, a two-level reseller network, many providers behind one contract, and balances that hold when orders collide.

زيارة الموقع
LaravelVue.jsInertia.jsREST APIsQueuesFlexyIdoom
Since
April 2026
Access
By invitation only
Network
Admin → Tier 1 → Tier 2
Stack
Laravel, Inertia, Vue.js

What Rooqn is

Rooqn solves the same problem as Odigix, for wholesale. It isn't a public store: every account is opened by invitation from a manager. Its users are resellers who buy digital products in volume and sell them on to their own customers: gift cards for Steam, Roblox, Valorant, Xbox and more, plus mobile and internet top-ups.

rooqn.com
Rooqn product catalog on desktop: Roblox, Steam and Valorant gift cards by region, with the reseller menu on the left
Rooqn dashboard on mobile: balance, spending, orders, due payments and fulfillment rate
Rooqn catalog on mobile: Steam and Valorant gift cards
The catalog and the reseller menu · the dashboard · the catalog on mobile

A two-level reseller network

Every account orders from the platform, at every level. What the levels change is who manages whom. A Tier 1 brings its own users onto Rooqn: it tops up and manages their balances, organises them into customer groups and follows their orders. Those users are Tier 2, and the network stops there. In practice, each Tier 1 runs its own small network on top of Rooqn, while the platform fulfils every order.

Explore

Who orders, who manages

Every order goes to the platform and comes back fulfilled. The green brackets show who each Tier 1 manages. It tours itself; click a level to take over.

Platform · Rooqn

  • Fulfils every order, from every account, at every level
  • Runs the catalog: gift cards, Flexy and Idoom top-ups
  • Connects the providers the products come from
  • Opens Tier 1 accounts, by invitation only
OrdersFulfilled by the platformManaged by their Tier 1

Many providers, one contract

Rooqn's catalog comes from many providers: gift card suppliers, Flexy for mobile top-ups, Idoom for Algérie Télécom internet top-ups, and more. It has many more integrations than Odigix. Each provider has its own API, its own request format and its own way of saying an order failed.

Rooqn hides those differences behind one contract. Each provider is a strategy: a class that implements the same contract, so the order pipeline calls every provider the same way and never needs to know which one it's talking to.

Watch it run

From order to provider

Orders play one after another; click one to send it next. Class names are simplified.

Orders · click one to send it next

Order

Steam USD

Gift card

from a Tier 2 account

Queue

  • #1040done
  • #1039done

Provider contract

placeOrder()checkStatus()

4 strategies · implements ProviderContract

  • GiftCardProviderA
  • GiftCardProviderB
  • FlexyProvider
  • IdoomProvider

Result

—

#1041New Steam USD order from a Tier 2 account
  1. 01

    The order becomes a job

    Queue

    Placing an order doesn't call a provider. It pushes a job onto a queue, so the panel answers right away and a slow provider never holds up the reseller's screen.

  2. 02

    A worker resolves the strategy

    Strategy

    A queue worker picks the job up, looks at the product and resolves the provider strategy that fulfils it.

  3. 03

    The contract does the talking

    Contract

    Every strategy implements the same contract: place the order, check its status. The worker calls those methods without knowing which provider is behind them.

  4. 04

    The answer comes back in one shape

    Each strategy translates its provider's response into the same result, so fulfilled, pending and failed mean the same thing for every product.

  5. 05

    A new provider is one more class

    Adding a provider means writing one more implementation of the contract. The queue, the workers and the order pipeline stay as they are.

Balances that hold when orders collide

Every order spends from a balance, and resellers often place several at once. If two orders read the same balance at the same moment, both pass the check and the account ends up below zero. Rooqn takes a database row lock on the balance before checking it, inside the transaction that debits it. Orders on the same account then run one after the other.

Try it

Two orders, one balance

Example amounts. Turn the lock off to see what goes wrong without it.

Two orders of 3,000 DA arrive at the same moment against a 5,000 DA balance.

Order A · 3,000 DA
    Balance5,000 DA
    Order B · 3,000 DA

      Every movement on a balance is recorded as a transaction. A Tier 1 account can follow its own transactions, its network's, and the settlements between them.

      Now: an API provider

      The catalog is now large enough to turn Rooqn into a provider itself. Partners order through an API instead of the panel, and their orders go through the same pipeline as everyone else's. Access stays closed: like every other account, API access is given by invitation from a manager.

      لديك مشروع مشابه؟

      أخبرني أين وصلت وما الذي يعيقك. رد سريع عبر واتساب وعرض سعر مجاني.