Paanj Paanj

How We Calculate Messages

Understanding our transparent and fair message counting system

At Paanj, we believe in transparent pricing. A "message" in our system represents any unit of data transmission or event notification. Here's exactly how we count messages:

Standard Message Delivery

1 message = 1 message delivered

Each message delivered to an active connection (online user) counts as 1 message. This includes:

  • Messages sent to the intended recipient who is currently online
  • Webhook notifications triggered by message events
  • Admin SDK listeners receiving notifications (e.g., new user joins, conversation created, etc.)
  • Real-time event notifications to connected clients

Example:

If you send a message to a group chat with 5 online members, and you have 1 webhook configured and 1 admin SDK listener, that counts as 7 messages (5 recipients + 1 webhook + 1 admin listener).

Presence & Keep-Alive Pings

1 message = 10 pings

To maintain real-time connections and user presence status, we send periodic keep-alive pings to connected devices. These are counted at a discounted rate:

  • Connection heartbeat signals
  • Presence status updates (online/offline/away)
  • Typing indicators
  • Read receipts

Example:

If your application sends 100 typing indicator pings throughout the day, that counts as 10 messages (100 pings ÷ 10).

Offline Message Retrieval

1 message = 10 offline retrievals

When users who were offline come back online and retrieve their missed messages via API calls, we count these at a discounted rate:

  • Messages fetched by users after reconnecting
  • Historical message retrieval via API
  • Conversation history sync operations

Example:

If a user was offline and retrieves 50 missed messages when they reconnect, that counts as 5 messages (50 retrievals ÷ 10).

Quick Reference

Action Type Counting Rate Message Count
Real-time message delivery (online users) 1:1 1 delivery = 1 message
Webhook notifications 1:1 1 webhook = 1 message
Admin SDK event listeners 1:1 1 event = 1 message
Keep-alive pings & presence updates 10:1 10 pings = 1 message
Offline message retrieval (API) 10:1 10 retrievals = 1 message

Frequently Asked Questions

Why do you count webhooks and admin listeners as messages?

Each webhook call and admin SDK notification requires server resources to process and deliver. We count these to ensure fair pricing while keeping the rate simple and transparent.

How can I optimize my message usage?

You can reduce message counts by batching notifications, using webhooks selectively, and implementing efficient offline message sync strategies. Our documentation provides best practices for optimization.

Do file uploads count as messages?

We don't currently offer file upload storage. Please see our roadmap for when storage will be rolled out. For now, you'll need to integrate your own storage provider (like AWS S3, Cloudflare R2, etc.) and send the file URL as a message in your own format. We'll deliver it as-is, and it counts as a standard message delivery.

Can I monitor my message usage in real-time?

Yes! Our dashboard provides real-time analytics showing your message usage breakdown by type, helping you understand and optimize your costs. Note that there might be some delay while we wait for syncing - usually within 5 minutes.

Ready to Get Started?

Start with our free tier and scale as you grow. No credit card required.

View Pricing Plans