Skip to content

Ranking rules

Version 2026.10.04 · Effective 4 Oct 2026

Changes in this version: v0 for gateway review

CreatorPodium is a paid ranking: a profile's position reflects the credit paid to CreatorPodium for it, not popularity, quality or endorsement. These are the rules that decide every position.

How rank is decided

Source: specs/foundations.md §1.4 (R1, R2, R3, R4, R5)

Visible set V(platform) = listings with platform_id = platform AND status = 'active' AND total_credit_paise > 0.

Order of V: total_credit_paise DESC, then total_changed_at ASC (the listing that has held its current total longest ranks higher), then first_listed_at ASC, then id ASC. This is a total order.

rank(L) = 1 + |{ M ∈ V : M precedes L under R2 }|. Category rank applies R1–R3 to V restricted to one category_id.

total_changed_at = created_at of the listing's most recent ledger entry (credit, refund, chargeback or chargeback_reversal).

Listings outside V keep their ledger and totals; they are simply not ranked or shown on boards.

Published wording

Source: specs/foundations.md §1.4 (R6)

Profiles rank by lifetime credit — the total of confirmed payments to CreatorPodium for that profile, before payment-processing fees and after refunds and chargebacks. Equal totals: the profile that has held that total longest ranks higher; then the one listed first; then the lower listing number.

How credit is calculated

Credit is the amount paid, counted towards the lifetime credit of the profile you boost.

Source: specs/foundations.md §1.5 (C1, C2, C3, C4, C5, C6)

Credit for a payment = floor(amount_minor × credit_num / credit_den) using the fx_credit_rates row (version fixed on the checkout intent at creation, currency of the payment). INR v1: 1/1.

Credit is the full amount paid, including any tax, before gateway fees. Fees never reduce credit.

Refunds and chargebacks reduce credit per §1.7; nothing else reduces credit. Credit never expires.

Credit has no monetary value: it cannot be converted to money, transferred between listings, withdrawn, redeemed or used as payment. No table, API or UI offers any of these.

Per-payment limits come from fx_credit_rates: min_amount_minor ≤ amount_minor ≤ max_amount_minor. INR v1: min 75,000 paise (₹750), max 10,000,000 paise (₹1,00,000); INR amounts are whole rupees (amount_minor % 100 = 0). Every top-up is a separate payment and meets the same minimum. Foreign currencies (phase 11): whole major units (amount_minor % 10^minor_unit_exponent = 0); min = the smallest whole major unit whose C1 credit ≥ 75,000 paise, max = the largest whole major unit whose C1 credit ≤ 10,000,000 paise.

fx_credit_rates rows are immutable. A new rate = a new version whose effective_from ≥ published_at

  • 7 days; intents created before effective_from use the prior version. Never retroactive. A currency with no active row (every foreign currency before v2's effective_from) is refused at intent creation.

Currency and rate table

Only INR payments are accepted. No foreign-currency rate is published; a currency with no active rate is refused, as the last rule above states.

Estimates

Estimates can change before your payment completes. The amount needed to pass a profile, the pass chip and the note shown with every estimate follow these rules:

Source: specs/foundations.md §1.10 (E2, E3, E6)

amount_to_beat(T_L, T_target) in whole rupees = min_rupees when T_target < T_L, else max(min_rupees, floor((T_target − T_L) / 100) + 1), with T_target − T_L computed by safeAdd. Ties go to incumbents (R2: after a payment L's total_changed_at is the newest), so a payer must exceed, not equal, the target total.

Pass chip for L at rank r ≥ 2: amount_to_beat(T_L, T_(r−1)). No pass chip at rank 1.

Every estimate response carries asOf (ms) and the note "Estimate — positions can change before your payment completes." The status page reports the actual rank after credit.

Changes to these rules

Each legal document shows its version, its effective date and a summary of changes. Credit rates never change after they are published: a new rate is a new version that takes effect at least 7 days after it is published and is never retroactive (rule C6 above).