KuCoin vs Blofin for Trading Competitions

Two centralised exchanges, two opposite data models — a per-user read-only key against an affiliate reporting API. What that changes for competitors and sponsors.

By VoltradePublished August 31, 20266 min read

On a DEX, a wallet is a public identity and fills are on a public ledger. On a centralised exchange neither is true: your trades are visible to you and to the exchange, and to nobody else. So every CEX competition comes down to the same question — how does the scoring job get to see your volume?

KuCoin and Blofin answer it in opposite ways, and the answer determines the entry flow, the market controls, the day boundaries and the failure modes. If you are choosing between them, this is the axis that matters.

The one-line difference

KuCoin reads your account with a key you authorise. Blofin reads an affiliate report about you.

On KuCoin, you complete an OAuth flow and Voltrade mints a per-user, read-only API key through KuCoin's broker key endpoint. Scoring then queries your own fills directly.

On Blofin, you sign up under Voltrade's affiliate code and link your Blofin UID. Scoring never touches your account — it reads Blofin's affiliate reporting endpoints, which report volume for traders under that affiliate.

Both are legitimate designs. They produce very different products.

Side by side

KuCoinBlofin
Linking stepOAuth consent, which mints a read-only keySign up under the affiliate code, then link your UID
Data sourceYour own fills, per symbolAffiliate API — /affiliate/invitees/daily/info, or snapshot deltas
Per-market scopingYes — competitions are scoped to explicit symbolsNo — the affiliate API offers no per-market filter
Spot vs perps separatedYes — the sync reads spot or futures fills by market typeNo — a single tradingVolume aggregate
Day boundaryStart-anchored 24h windows over your fillsBlofin's own buckets, which land at 16:00 UTC
Sync cadenceEvery 20 minutes (5,25,45)Every 20 minutes (10,30,50), plus hourly snapshots
Settlement buffer after end30 hoursBucket-aware; a direct day closes only after its bucket finalises
Directory fee entry0.1% maker / 0.1% takerNo fee figures carried
Directory marketsListed as a centralised exchangePerpetual and spot

What KuCoin's model buys and costs

It buys precision. Because the sync reads your actual fills, a KuCoin competition can be scoped to explicit symbols — and in practice that is exactly what KuCoin competitions on Voltrade have been: single-pair token campaigns. The sync will not even run a campaign with no symbol configured; it logs and skips. The market type also selects the data path, so a spot competition reads spot fills and a perpetual one reads futures fills. Nothing is mixed.

That precision is the reason a project whose token trades on KuCoin can run a campaign around its own pair rather than around BTC. If your competition concept is "drive volume into this one market", this is the model that supports it.

It costs a credential. A per-user API key exists, and it has to be handled properly. The mint request sets a single permission group — general/read — and explicitly sets every other group to false: no spot trading, no margin, no futures trading, no earn, no transfers, no withdrawals. The general group alone reads both spot and futures fills, which is all a leaderboard needs. The key is verified with a live call before anything is stored, and stored encrypted.

It also costs a step in the funnel. OAuth consent is more friction than pasting a UID, and considerably more than connecting a wallet.

One operational detail worth knowing: KuCoin's fills endpoint returns at most a 7-day window, so the sync slices a competition window into 7-day chunks and walks them. Long competitions are handled; they just take more calls.

What Blofin's model buys and costs

It buys a lighter link. No key, no OAuth, no credential of yours in anyone's database. You sign up under the affiliate code and link a UID. For competitors who dislike granting API access to a third party — a reasonable position — that is a genuine advantage.

It costs granularity, and the loss is not small. The affiliate endpoint supports no per-market filtering, so a competition's configured trading pairs are ignored for Blofin. It returns a single tradingVolume aggregate with no spot/perp separation. If your campaign is about one market, Blofin cannot express it. If it is about total activity on the exchange, Blofin expresses it fine.

It also costs a subtle day-boundary problem. Blofin's daily buckets are not calendar UTC days: every observed bucket timestamp lands at exactly 16:00 UTC, which is midnight in UTC+8. A bucket starts at its stamp and keeps accumulating for the following 24 hours, so a bucket labelled for one day is not final until 16:00 UTC the next.

The sync handles this: a direct-invitee day only closes once the campaign day has ended and its Blofin bucket has finalised, plus a 3-hour margin. Campaign totals are exact — no double-count, no drop — but per-day attribution is shifted by up to about 16 hours relative to strict UTC, so Blofin day numbers should not be compared against another venue's expecting equivalence.

There is one edge worth designing around: trading in the window between a campaign's start and the first 16:00 lands in a bucket labelled with the previous date, outside the day list, and is dropped. The mitigation is simple and it is a scheduling decision, not a code one — set a Blofin campaign's start time to 16:00 UTC.

Blofin's split path: direct invitees and sub-invitees

The complication that makes the Blofin integration the most involved CEX path on the platform.

The daily-volume endpoint only accepts direct invitees. Calling it with a sub-invitee UID returns an error code rather than data. The closest sub-invitee data Blofin exposes is a sub-invitee listing carrying an all-time totalTradingVolume plus rolling 30- and 90-day figures, none of which support arbitrary date ranges.

So sub-invitees are scored a different way entirely: an hourly job snapshots lifetime totalTradingVolume for every sub-invitee under the affiliate, and campaign-window volume is derived as the difference between two snapshots. A blofinUidKind column set at link time decides which path each trader takes.

Two properties of that fall out. Snapshots cover every sub-invitee Blofin returns, not just those already linked to a trader, so pre-link history is preserved for people who link later. And the hourly snapshot runs at the top of each UTC hour, which by convention is also where campaign day boundaries sit — so a single snapshot flanks every boundary.

Fees

The venues directory lists KuCoin at 0.1% maker / 0.1% taker. It carries no fee figures for Blofin at all, so we do not quote any — check the venue.

As with every venue in the catalog, treat that KuCoin figure as a base schedule rather than a quote. CEX fee tiers move with volume and holdings, and the competitors who matter most to a volume leaderboard are usually the ones paying least.

Choosing

  • Campaign scoped to one token pair? KuCoin. It is the only one of the two that can express it.
  • Need spot and perps kept separate? KuCoin. Blofin's number is a single aggregate.
  • Want the lowest-friction link on a CEX? Blofin. A UID beats an OAuth consent screen.
  • Competitors reluctant to grant API access? Blofin, for the same reason.
  • Comparing per-day numbers against another venue? KuCoin. Blofin's 16:00 buckets do not line up.
  • Running a whole-exchange activity push? Either — Blofin's aggregate is a fit rather than a limitation here.

Both are admin-launched venue integrations rather than self-serve launches: permissionless creators are restricted to on-chain pool tracking. Start at the launch page.

For depth on each, read KuCoin competitions and Blofin competitions. For why CEX and DEX competitions differ this much at the root, see perp DEX vs CEX for trading competitions, and for how volume converts to points and rewards, how VXP and daily volume caps work.

venue-pagecomparison

Keep reading

Every trade is a competition

Join a live volume competition or PnL challenge across top venues — or launch your own in minutes.