Running a panel
How to pick an upstream provider as a panel operator
Last updated by The PanelCompare editorial team, 7 min read
What are you actually buying from a provider?
Two things that fail independently: inventory and an integration. The inventory is whether the units exist and arrive; the integration is whether the API answers, whether statuses are truthful, and whether refill and cancel do anything. A provider can be excellent at one and useless at the other, and only the second is testable before you have customers.
You are also buying a dependency your customers cannot see. When a provider fails, your panel keeps accepting orders it can no longer fulfil, and from the buyer’s seat that is indistinguishable from theft. Every provider decision is therefore a decision about how many of your customers one other company can disappoint at once.
What should you test before routing real orders?
- 1.Place small orders on the rows you expect to sell most, spread across a week rather than an afternoon. Delivery in this market is time-of-day and day-of-week sensitive.
- 2.Record start times and completion rates yourself. Do not use the provider’s published averages, which are computed from recent completed orders and are routinely gamed.
- 3.Call the refill action against a completed order and confirm a refill ID comes back. A refill flag with no working action is a claim you would be reselling.
- 4.Call cancel on an order before it starts, and confirm the wallet credit appears. This is the mechanism your own cancel button will depend on.
- 5.Poll status with the plural orders parameter in a batch of 100 and confirm the response shape. This is the call you will make most often and the one that breaks quietly.
- 6.Deliberately send a bad key and a bad service ID, and read what comes back. You need to know the failure shapes before they arrive in production.
A 4xx is not proof of a missing API
Most panels return HTTP 200 with an error object on failure, but not all. JustAnotherPanel answers a bad key with HTTP 401 and a JSON error body — a structured API response carrying an error status. Client code that treats any 4xx as "no API here" will report a wrong key to a provider as a missing endpoint, which is a different sentence and the wrong one.
How many providers should a panel connect?
At least two on every service that carries meaningful volume, and the second one funded rather than merely configured. Single-provider mapping means the business inherits every outage of one company, and there is no operational response available at the moment it matters other than telling customers to wait.
This is also the structural argument against starting on a child panel if you intend to build something. A child panel is locked to its parent as sole supplier, so redundancy is not a configuration you have not set up yet; it is a capability the product does not have.
| Arrangement | Response available | What the customer sees |
|---|---|---|
| Child panel, one parent | None. Wait for the parent | Orders pending indefinitely, no explanation available |
| Main panel, one provider | Disable the service manually and stop taking orders | Service unavailable, which is at least honest |
| Main panel, two providers mapped | Repoint the service and keep delivering | A slower start time, and nothing else |
| Main panel, two providers, both funded | Repoint immediately without a deposit round-trip | Nothing at all |
Source: Tier capabilities from PanelCompare domain research §1.3, 2026-09-06.
How do you tell whether two providers are actually the same one?
By fingerprinting the catalogue rather than reading the marketing. Two providers reselling the same upstream carry the same fingerprints, and connecting both buys you a second bill rather than a second supply chain. The tells are mechanical and cheap to check on the data you already have to fetch.
- Identical min and max limits across a long tail of unrelated rows. Nobody chooses the same odd bounds twice by coincidence.
- The same naming quirks: the same bracket conventions, the same abbreviations, the same emoji, in the same positions.
- Categories arriving in the same order, which usually reflects the same underlying table.
- Rates that hold a constant ratio to each other across many rows. A fixed multiple is what a reseller markup looks like from outside.
- Correlated failures. If two providers go Partial on the same services in the same hour, you have one provider.
PanelCompare runs this inference across its own index and publishes an inferred upstream relationship with an explicit confidence figure, never as a bare assertion below that threshold. The same discipline is worth applying privately: record the inference, keep the evidence, and treat it as a probability rather than a fact.
What does connecting a catalogue actually involve?
Mapping several thousand free-text service names onto whatever canonical list you sell, which is the unglamorous part that decides whether your prices are correct. Real catalogues run to thousands of rows: the two panels synced into the PanelCompare index through their own API carry 5,558 and 2,196 mapped rows respectively (PanelCompare price index, 2026-09-10).
Expect a match rate below 100% and plan for the remainder. One documented sync run in this project mapped 2,196 of 2,336 fetched rows, a 94.0% match rate, and parked the remaining 140 for manual review rather than guessing at them (PanelCompare sync log, 2026-09-10). That is the correct trade: a wrong mapping silently sells the wrong product at the wrong price and corrupts every average computed from it.
Which provider behaviours predict future trouble?
- Erratic discounting. A provider that cuts prices sharply and often is managing a supply problem, and you will inherit it.
- Catalogue churn: services appearing and disappearing week to week means the upstream relationships underneath are unstable.
- Widening start-time bands on rows that used to be fast, which is the earliest visible sign of upstream strain.
- Support that answers a delivery question with a deposit bonus.
- Withdrawal or refund paths quietly disappearing, which is the same pre-exit signal buyers are told to watch for.
- A balance requirement that keeps rising. The larger the float they ask you to hold, the more of your money is exposed to their solvency.
Size your exposure to the balance you hold with a provider rather than to its reputation, because reputation is exactly what an exit trades on. Continuous monitoring helps more than reviews do: uptime and API latency cannot be back-filled, and PanelCompare polls both on a schedule for the same reason a panel operator should.
How should provider API keys be handled?
As long-lived bearer secrets with no expiry, because that is what the specification makes them. The key travels in the request body with no signing, no nonce and no timestamp, so anyone who obtains it can spend your provider balance and read every link you have ordered against. There is no replay protection to fall back on.
- Never log the request body. The key is in it, and log aggregation is the commonest way a key leaves a building.
- Store keys outside the database and outside any environment variable that reaches a build log.
- Rotate after every third-party integration change, and after any staff change.
- Never accept a key from a browser, and never proxy one through client-side code.
- Assume a key is compromised the moment it has appeared in a screenshot, a support ticket or a shared document.
Quick answers
How do I find a reliable SMM panel provider?
Test delivery yourself on the rows you will sell most, across a week rather than an afternoon. Verify that refill and cancel actually work, prefer stable pricing over aggressive discounting, and connect a second provider before you need one.
How many upstream providers should a panel have?
At least two on every high-volume service, both funded. Provider collapse is the most common cause of a reseller failing its customers, and with one supplier there is no response available at the moment it happens.
How can I tell if two providers share an upstream?
Fingerprint the catalogues: identical min and max bounds across unrelated rows, the same naming quirks, categories in the same order, rates holding a constant ratio, and failures that correlate in the same hour.
What match rate should I expect when mapping a provider catalogue?
Below 100%, and that is normal. One documented run mapped 2,196 of 2,336 rows, a 94.0% match rate, and parked 140 rows for review. Leaving an ambiguous row unmapped is far cheaper than guessing at it.
Every figure here is attributed and dated
Prices in this market move weekly, so a number without a capture date is decorative. Where this guide quotes a figure it names the source and when it was checked. If one of them is wrong, the correction process on the about page has a two-working-day reply target, and corrections are published with a dated note rather than quietly patched.