Inside a gaming marketplace: what we learned building GoRanked

Rank boosting, game accounts and CS2 skins in one place, seven languages, six payment methods and a chat that answers at night. Here is what a marketplace of gaming services is made of, and where the real complexity sits.

YAVKA team

· 5 min read

GoRanked is our own product. We have been building it since October 2025, and it is where we test everything we later offer clients: taking payments in several countries, real-time updates, AI-assisted support and a site that holds up when traffic peaks. From the outside, the GoRanked marketplace for game accounts and boosting looks like an ordinary store: catalogue, product page, checkout. Underneath, it is three different businesses under one roof, and nearly every architectural decision grows out of that difference.

Three storefronts, three kinds of product

A boost is a service that stretches over time. The price depends on the starting and target rating, the server and the extras, the work takes several days, and all that time the customer wants to see progress.

An account is a one-off item. One listing means one sale, and the listing belongs to a particular seller, not to us. That calls for a hold while the buyer pays, a safe handover of login details and a way to settle disputes when something goes wrong.

CS2 skins are thousands of listings, each with a price, a float value and a wear grade. Filters decide everything here, so search runs on Meilisearch and keeps the load off the main database.

What the three share is the customer account, payments and support. We deliberately kept the order lifecycles apart: try to describe a boost and an account with a single "product" model and it breaks on the first refund.

The Dota 2 account catalogue on GoRanked: every listing shows the seller, their number of sales and their share of positive reviews.
The Dota 2 account catalogue on GoRanked: every listing shows the seller, their number of sales and their share of positive reviews.

A calculator instead of a chat

A manager should not have to quote a boost price in a chat window: while they type, the customer goes elsewhere. So the customer picks their current and target rank, the server and the extras (streaming the games, choosing heroes, turbo mode) and the price and delivery time update immediately. At checkout the server recalculates the total by the same rules, so it cannot be changed from the browser. The order then goes to an auction: boosters offer their own price for the job, and the customer chooses.

The MMR boost calculator: ranks, server, extras with surcharges and the discounted total. The note under the button explains that the order goes to an auction among boosters.
The MMR boost calculator: ranks, server, extras with surcharges and the discounted total. The note under the button explains that the order goes to an auction among boosters.

Seven languages are not a translate button

Each language version has its own URLs and hreflang markup, and English also has regional variants for the US and Canada. Translation covers the game vocabulary, not just the interface: Archon in English is «Герой» in the Russian version and «Архонт» in the Ukrainian one: the same rank under three names, and neither the filters nor the orders can afford to mix them up.

The currency follows the visitor's country, while prices are stored in a single accounting currency and converted at the current rate. One rule we hold to firmly: the amount charged and the accounting amount are separate fields, and every refund and report has to know which one it is working with.

Six payment methods, one reconciliation

Stripe, Whitepay, cryptocurrency, Monobank, IBAN transfer and payment in skins. Each provider has its own webhooks, statuses and delays, so internally they all map onto one payment model. Refunds run automatically and fees are reconciled every day; otherwise a gap of a couple of percent only shows up at the end of the quarter.

Support that does not sleep

The chat on the site is open around the clock. Operators answer from a separate app, Chat Desk, on a computer or a phone. They see the customer's orders next to the conversation, and a model suggests a reply drawn from the knowledge base. If the customer writes in another language, both the conversation and the draft reply can be translated right in the chat window. A person always makes the call: the AI drafts, the operator sends. Customers hear about changes to their order and balance through Web Push, even with the tab closed.

Sellers and boosters are users too

A marketplace lives only as long as people want to work on it. Boosters and sellers apply through a single step-by-step form, go through a review and get their own dashboard. A seller's rating, number of sales and share of positive reviews sit right in the catalogue, which tells a buyer more than any "guaranteed" banner.

The path of one order on GoRanked, from calculator to review: five systems that have to agree with each other.
The path of one order on GoRanked, from calculator to review: five systems that have to agree with each other.

What we would do the same way again

  • Calculate prices on the server from day one and leave the interface only the instant feedback.
  • Build languages and currencies into the data model, not into templates.
  • Keep the lifecycles of services and goods separate, even when they share a storefront.
  • Give support its own tool, with the customer's context at hand.
  • Show the seller's rating where the buyer makes the decision.

The stack, the numbers and screenshots of the admin panel are in our GoRanked case study. The quickest way to see how it all works for a player is on goranked.gg itself.