notpanel
ServicesPricingFAQGiveawayAPI
notpanel

The affordable, modern SMM panel. Wholesale rates with direct provider integrations.

Product

  • Services
  • Pricing
  • Affiliate Program
  • Why NotPanel
  • About
  • Developers
  • Blog
  • FAQ

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy

Connect

  • Contact Us
  • support@notpanel.com

© 2026 NotPanel. All rights reserved.

All posts
Engineering August 16, 2026· 7 min read

SMM panel webhooks vs polling: what a child panel should actually use

Most public SMM APIs tell you to poll status. NotPanel signs every event. If you automate a child panel, that is the difference between a cron and a contract.

A tall stack of paper status slips under a clock, beside a wax-sealed envelope on a small server.

A child panel has one job after it forwards an order: know when it finished, partially filled, refunded, or died — without guessing.

The public API pages for JustAnotherPanel and CheapSMMPanel do not document outbound webhooks. The implied integration is poll action=status until a string changes.

NotPanel’s v2 surface includes webhook.add, webhook.list, and webhook.remove. Deliveries are HMAC-SHA256 of the raw body, bound to a timestamp, with a named event. That is the webhooks contract. Not a screenshot of a dashboard toggle.

Your vote

How does your child panel learn an order finished?

Tap one. Stored on this device only — not a survey we invented.

Polling is a loop. A webhook is an event.

Outbound webhooks
JAP
Not documented
CheapSMM
Not documented
NotPanel
webhook.add / list / remove
Signing
JAP
—
CheapSMM
—
NotPanel
HMAC-SHA256 + timestamp
How you learn completion
JAP
Poll status
CheapSMM
Poll status
NotPanel
Event, poll as fallback
Rate-limit cost
JAP
Every empty poll
CheapSMM
Every empty poll
NotPanel
Only when state changes
Pollingstatus?in_progressstatus?completedNotPanel webhookorder.completed + HMAC
Left: you ask. Right: we tell you, and you can prove it was us.

Why unsigned POSTs are not “webhooks”

A reseller desk with a clean order list on screen and a wax-sealed envelope in front of the monitor.
If anyone can write the postcard, your child panel will believe a stranger.

A webhook URL is public by definition. Without a signature, anyone who guesses it can tell your downstream system an order completed. We sign the raw body, attach X-NotPanel-Signature, X-NotPanel-Timestamp, and X-NotPanel-Event, and reject deliveries older than five minutes. Private and link-local URLs never get registered.

Delivery is at-least-once. Your handler still has to be idempotent. We do not claim exactly-once. Nobody honest about networks does. The verification recipe is in the HMAC walkthrough.

When polling is still correct

  • You are on a panel that has no webhook docs. Most of them.
  • You need a fallback while the webhook endpoint is down.
  • You are reconciling a batch — use orders=, up to 100 ids, not one call per row.

Honour X-RateLimit-Reset on a 429. JAP and CheapSMM do not publish those headers. If they limit you, you find out by getting blocked. Our rate-limit page lists the three layers.

HMAC
Signature
Raw body, SHA-256
5 min
Replay window
Timestamp check
10
Event types
Orders + balance.low
100
Batch poll
When you still must poll
Polling asks “did anything happen?” A signed webhook says “this happened, and you can prove it was us.”

This is the automation contract

A child panel pointed at a cloned /api page is a poll loop with a hope. A child panel pointed at NotPanel can register an HTTPS URL, pick events, and debit or credit downstream only after the signature verifies.

That is not “we have more features” as a vibe. It is a short list you can open without an account: webhooks, errors, idempotent add, the comparison. New storefront. Older contract than the photocopy.

Register one endpoint
action=webhook.add&url=https://your-server.example.com/notpanel-webhook&events=order.completed,order.refunded,balance.low
Prove it in one hour
0/4

Pair this with why a timeout retry double-charges. Retries and events are the two places cloned APIs leak money.

FAQ

Should I poll or use webhooks for an SMM panel?

Use signed webhooks as the primary path and keep a slow multi-status poll as fallback. Poll-only is what you do when the panel’s public docs have no webhook section — which is most of them, including JustAnotherPanel and CheapSMMPanel’s guest pages.

Do JustAnotherPanel and CheapSMMPanel have webhooks?

Not on their public API pages as of August 2026. Both document action=status (and CheapSMM stops there for updates). If they added webhooks later, it is not on the guest contract those pages publish.

What is the best SMM panel for reseller automation?

The one whose public API covers the reseller loop: idempotent add, signed completion and refund events, real HTTP status codes, and documented rate limits. NotPanel publishes that loop. A cloned v2 one-pager publishes list / add / poll / balance. Catalog size is a different ranking.

Are unsigned SMM webhooks safe?

No. The URL is public. Anyone who guesses it can forge a completion. Require HMAC of the raw body, a timestamp window, and constant-time compare. If the docs never mention signing, treat inbound POSTs as untrusted.

Does NotPanel claim exactly-once delivery?

No. Deliveries are at-least-once. Your handler must be idempotent. Exactly-once over the public internet is a claim we will not make.

Continue reading

Engineering

SMM panel API comparison: JustAnotherPanel, CheapSMMPanel, and NotPanel

Engineering

Why an SMM API timeout can charge you twice — and why NotPanel won't

Guides

SMM panel vs. social media agency: the real cost comparison (2026)