Overview
Dualhook pricing is a monthly subscription based on plan tier and connection limits. Dualhook does not charge per WhatsApp message.
All plans include a 14-day free trial. A payment method is required at sign-up, but you are not charged until the trial ends.
WhatsApp message fees are charged by Meta under the WhatsApp Business Platform. Your total cost has two separate parts:
- Dualhook subscription fee — our product
- Meta messaging fees — their platform usage
Dualhook Plans
| Plan | Price | Included connections | Best fit |
|---|---|---|---|
| Developer | $12/month | 1 | Individuals and early projects |
| Team | $25/month | 5 | Growing teams |
| Agency | $45/month | 10 | Growing teams with more connections |
| Enterprise | $99/month | 25, then $3.50 per additional connection | Multi-location businesses and larger organizations |
- Team is the most common plan.
- Enterprise includes 25 connections and adds $3.50 per connection beyond that. It is a higher connection allowance for a single organization.
- Dualhook is for businesses connecting WhatsApp assets they own or directly operate. Reselling connections, multi-tenant SaaS onboarding, and third-party customer provisioning are not permitted on any plan.
- All plans include a 14-day free trial.
- A payment method is required at sign-up for self-serve checkout.
- Checkout may display USD or EUR depending on region.
- Upgrades apply immediately.
- Downgrades apply at the end of the current billing cycle.
What Is Included
All plans include:
- Direct webhook delivery (Meta to your endpoint via Webhook Override)
- Webhook testing and monitoring
- Template management
- Heartbeat monitoring
- In-app support chat for setup questions and bug reports
- Privacy-first architecture (no message storage)
- Unlimited webhook deliveries
Message Charges: Dualhook vs Meta
Dualhook does not add per-message fees.
If you send or receive WhatsApp messages through Cloud API, those usage charges are billed by Meta, not by Dualhook. This remains true on every Dualhook tier.
Official Meta Rate Cards
| Link | Rate Card Description |
|---|---|
| Meta USD Rate Card | Official USD rates for template messages by country code/market |
| Meta EUR Rate Card | Official EUR rates for template messages by country code/market |
| Meta INR Rate Card | Official INR rates for template messages by country code/market |
| Meta pricing overview | Official overview of pricing categories and free windows |
- Meta may update rate cards on a quarterly cadence (Jan 1, Apr 1, Jul 1, Oct 1).
- Always verify current rates before launching high-volume campaigns.
- Questions about official Meta rate cards should go to Meta support.
Meta Pricing Model
Since July 1, 2025 Meta charges WhatsApp Business Platform usage on a per-message basis. The previous conversation-based pricing model is deprecated.
- Charges apply only when a template message is delivered (
"type":"template"). - All non-template messages (
text,image, etc.) are free, but can only be sent inside an open 24-hour customer service window (CSW). - Rates depend on the template category (marketing, utility, authentication) and the recipient's country calling code.
- Meta updates rate cards on a quarterly cadence (Jan 1, Apr 1, Jul 1, Oct 1), with at least 1 month notice for rate changes, 3 months for pricing model add-ons, and 6 months for pricing model changes.
Those first two bullets describe pricing through September 30, 2026. From October 1, 2026, Meta will also charge for service messages after a phone number's first 1,000 service messages each month, and for utility templates delivered inside an open CSW. See WhatsApp Pricing Changes 2026 for the transition and published October rate-card update.
Free vs Billed Messages
Whether a message is free or billed is decided by Meta policy and pricing rules, not by Dualhook.
Key windows:
- 24-hour customer service window (CSW) — opens when the user messages you. Non-template replies are only allowed inside this window. Utility templates inside an open CSW are free through September 30, 2026, then billed from October 1.
- 72-hour free entry point window (FEP) — opens when you respond within 24 hours to a user who messaged you via a Click-to-WhatsApp ad or a Facebook Page Call-to-Action button (Android/iOS WhatsApp app only — desktop and web are not supported). Marketing, utility, authentication, and service messages are free inside the FEP; Meta Business Agent messages still incur their token charge.
| Message type | Through September 30, 2026 | From October 1, 2026 |
|---|---|---|
| Service message from a person or third-party AI | Free inside an open CSW or FEP | First 1,000 per phone number each month are free; later deliveries are billed at the market's service rate. FEP deliveries remain free |
| Utility template | Free inside CSW or FEP; billed outside both | Billed inside or outside CSW; free inside FEP |
| Authentication template | Free inside FEP; billed otherwise | Same, at the October rate card |
| Marketing template | Free inside FEP; billed otherwise | Same, at the October rate card |
| Meta Business Agent message | Charged per token from August 1, including inside FEP | Same; cache tokens are not charged |
Meta charges are based on delivered messages, not sent attempts.
Pricing Object in Status Webhooks
Each message status webhook from Meta carries a pricing object that explains exactly how that delivery was billed. Dualhook does not ingest message-status webhooks (they go straight to your endpoint via Webhook Override), but your downstream handler should read this field for accounting:
"pricing": {
"billable": true,
"pricing_model": "PMP",
"type": "regular",
"category": "<PRICING_CATEGORY>"
}
Common combinations:
type | category | Meaning |
|---|---|---|
regular | marketing, utility, authentication | Standard billable template delivery via Cloud API /messages |
regular | marketing_lite | Marketing template delivered via Marketing Messages API for WhatsApp /marketing_messages. Same per-message billing as marketing; the category lets you distinguish send paths in your accounting. |
regular | authentication_international | Auth template billed under authentication-international rates |
regular | general_purpose_ai | Non-template message delivered by an AI Provider in an applicable market |
free_customer_service | service | Free non-template message inside open CSW |
free_customer_service | utility | Free utility template inside open CSW |
From October 1, billable service messages use type: regular with category: service. Meta has not yet documented the webhook type used when a service message is covered by the new monthly free tier, so use the received billable and type values rather than treating category: service as always free or always billed.
pricing_model is PMP (per-message pricing) for all messages delivered after July 1, 2025. Edge case: a utility conversation opened before July 1, 2025 retains pricing_model: "CBP" until the conversation closes.
Volume Tiers
Meta unlocks lower per-message rates for utility and authentication templates as monthly volume grows. Marketing templates do not have volume tiers.
Key mechanics:
- Tiers are aggregated at the business portfolio level, across every WABA the portfolio owns.
- Tiers are market–category specific — e.g. India–authentication, Brazil–utility — each accrues independently.
- Only billed messages count toward the tier; free utility messages (in CSW or FEP) do not.
- Tiers reset on the 1st of each month at 12am WABA timezone.
- When a tier is reached, only the messages above the threshold get the new rate. Messages already sent in that month stay at the prior rate.
Starting October 1, 2025 Meta sends an account_update webhook with event VOLUME_BASED_PRICING_TIER_UPDATE when a portfolio reaches a new tier. See Account Update Events for the payload shape. For intra-month progress, query the pricing_analytics field on the WABA.
Authentication-International Rates
A separate, higher rate applies to authentication template messages delivered to users in: Egypt, India, Indonesia, Malaysia, Nigeria, Pakistan, Saudi Arabia, South Africa, and the United Arab Emirates — but only when the sending business is based outside that country.
Eligibility is automatic: a business that delivers more than 750,000 messages outside customer service windows in a moving 30-day period to users in any of these countries is deemed eligible. Eligibility is permanent and Meta gives 30 days notice via email and an account_update webhook with event AUTH_INTL_PRICE_ELIGIBILITY_UPDATE before rates begin.
To check eligibility and start times for a WABA:
curl 'https://graph.facebook.com/<GRAPH_VERSION>/<WABA_ID>?fields=auth_international_rate_eligibility' \
-H 'Authorization: Bearer <CUSTOMER_OWNED_META_TOKEN>'
To check Meta's record of the business's primary location:
curl 'https://graph.facebook.com/<GRAPH_VERSION>/<WABA_ID>?fields=primary_business_location' \
-H 'Authorization: Bearer <CUSTOMER_OWNED_META_TOKEN>'
When billed under this rate, the status webhook pricing.category is authentication_international. Charges are still per delivered message, just at a higher list rate.
AI Provider Pricing
Meta introduced a separate charge for non-template messages sent by businesses it classifies as "AI Providers" in parts of Europe during February and March 2026. Effective May 13, 2026, Meta stopped charging AI Providers for those messages to EU and EEA users; charges to users in Brazil remain in effect. The European Commission also imposed interim measures on June 9 requiring Meta to preserve free WhatsApp Business API access for third-party general-purpose AI assistants in the EU while its investigation continues.
When billed under this policy, status webhooks carry pricing.category: general_purpose_ai, and the pricing_analytics API surfaces these as pricing_category: AI_BOT.
This policy is separate from the October service-message change and only applies if Meta classifies the business itself as an AI Provider. If you only send transactional, marketing, or authentication traffic, it does not change anything for you.
Throughput and High-Volume Sending
Throughput is primarily controlled by Meta account quality, messaging limits, and number status.
Upgrading between tiers increases Dualhook connection capacity and support level. It does not directly purchase higher Meta message throughput.
Example Cost Breakdowns
Team plan + high message volume:
- Dualhook: $25/month (Team plan)
- Meta: separate usage fees for delivered WhatsApp messages
Agency with many connections:
- Dualhook: $45/month (Agency plan, 10 connections)
- Meta: separate usage fees across the connected numbers
Enterprise with 25+ connections:
- Dualhook: $99/month for 25 connections, then $3.50 per additional connection
- Meta: separate usage fees across the connected numbers
FAQ
Is there a free trial? Yes. All plans include a 14-day free trial. A payment method is required at sign-up, but you are not charged until the trial ends.
Do you charge for inbound or outbound WhatsApp messages? No. Message usage is billed by Meta.
If I upgrade my Dualhook plan, will my Meta message pricing change? No. Meta message pricing is separate.
Can I change plans anytime? Yes. Upgrades are immediate; downgrades apply at period end.