--- title: "OpenWA vs the official WhatsApp API with n8n: real cost and ban risk" description: "Compare OpenWA, direct Cloud API and a BSP for WhatsApp automation with n8n: hosting, maintenance, losing a number and Meta's October 2026 message rates." author: "Carlos García" published: 2026-10-20 updated: 2026-10-20 language: en human_url: "https://kiia.cloud/blog/openwa-vs-official-whatsapp-business-api-n8n/" --- > **In 60 seconds:** OpenWA lets you connect a self-hosted gateway to n8n without a Meta per-message fee on that unofficial connection. Your budget includes hosting, maintenance and the impact of losing the number. It can serve as a technical experiment in an internal lab with a disposable number. For customer operations on a business number, interruption costs carry more weight. The official Cloud API charges per delivered message by market and category. Since October 1, 2026, service includes 1,000 free messages per number per month, with charges beyond that allowance. Compare both routes using your operating hours and volumes, without inventing a probability of getting banned. If you search for a "free WhatsApp API" to connect WhatsApp and n8n, the first successful send only proves that the connection works. For a small business in Latin America, the decision comes later: who maintains it, what happens to open requests when it stops, and how much the number printed on invoices, websites and campaigns is worth. This article compares transport and total cost. To choose the logic behind the process, see [n8n or a WhatsApp agent with CRM](/blog/n8n-or-whatsapp-agent-crm/). ## What OpenWA is [OpenWA by rmyndharis](https://github.com/rmyndharis/OpenWA) is a self-hosted, MIT-licensed gateway, reviewed on October 20, 2026. It provides REST, webhooks, a dashboard, multiple sessions and Docker deployment. Its n8n integration uses community nodes. It connects through whatsapp-web.js or Baileys, reverse-engineered clients. That connection is separate from Meta's official Cloud API. The software does not come with a Meta per-message bill for that route. You operate the connection, its credentials and the data it stores. "Free" describes one part of the budget. ## OpenWA, direct Cloud API or Cloud API through a BSP A BSP is a solution provider that gives access to the official platform and may add an inbox, support or other services. Meta's message charges and the provider's fees are separate budget items. | Factor | OpenWA: whatsapp-web.js / Baileys | Direct Cloud API | Cloud API through a BSP | | --- | --- | --- | --- | | Number type | Personal or WhatsApp Business app account; the project recommends a dedicated number you can afford to lose | Business number registered on the platform; check eligibility and migration | Number registered through provider onboarding; check ownership and portability | | Connection | Linked device, usually through QR, using an unofficial client | Meta API and webhooks with business credentials | Official onboarding and Meta API or the BSP's interface, depending on the contract | | Terms | The code license does not authorize WhatsApp automation | Official integration subject to policies and terms | Same Meta policies plus the BSP contract | | Ban risk | The project acknowledges nonzero risk; neither engine eliminates it | Policy violations can still lead to sanctions | A BSP does not remove Meta enforcement either | | Hosting and RAM | Your server; about 300 to 500 MB/session with whatsapp-web.js and 30 to 80 MB with Baileys, according to the project | Meta hosts transport; budget for n8n, webhooks and data | Official hosted transport; additional infrastructure depends on the service | | Protocol changes | You update the gateway and dependencies and recover sessions | Maintain API versions, credentials and event contracts | Provider handles its contracted scope; your workflow and integration still need maintenance | | Templates and opt-in | Local templates are not Meta approvals; consent does not make the client official | Consent and opt-outs; approved templates to initiate contact and outside the service window | Same rules; check how the BSP interface applies them | | n8n | Community node or your own HTTP and webhook integration | Built-in WhatsApp Business Cloud and WhatsApp Trigger nodes | Cloud nodes if access permits; otherwise the provider's integration | | Per-message price, reviewed October 20, 2026 | No Meta fee on this connection; you carry operating cost and risk | Official delivery rate by category and market; service charged after 1,000 free/number/month | Meta rates plus the BSP's published subscription, markup or other fees; verify contract | Sources consulted on October 20, 2026: [OpenWA repository](https://github.com/rmyndharis/OpenWA), [engine resources and risks](https://docs.open-wa.org/guides/safe-sending/), [Meta FAQ](https://whatsappbusiness.com/resources/faq/), [messaging policy](https://whatsappbusiness.com/policy/) and n8n's [sending](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp/) and [event](https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.whatsapptrigger/) documentation. For OpenWA sizing, its [scaling guide](https://docs.open-wa.org/self-hosting/scaling/), reviewed on that date, suggests 2 GB RAM and two cores as a starting point for a few whatsapp-web.js sessions. These are unbenchmarked guidelines, not guarantees. Per-session memory also excludes the rest of the host. The default keeps one instance per session-data volume; an experimental multi-node mode has additional requirements. Adding replicas without coordinating session ownership can corrupt authentication. ## What Meta charges from October 2026 The [official FAQ](https://whatsappbusiness.com/resources/faq/), consulted on October 20, 2026, confirms service charging from October 1: each business number gets its first 1,000 service messages free every month, with charges starting at message 1,001. These are not 1,000 conversations or an allowance for every category. During the same review, the [commercial pricing page](https://whatsappbusiness.com/products/platform-pricing/) still described service as free. This budget follows the FAQ and the [developer rate card effective October 1, 2026](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing). Check the effective date again before committing to a contract. These are Meta list rates in USD per delivered message, verified in the USD card linked from that pricing documentation on October 20, 2026: | Recipient market | Marketing | Utility | Authentication | Service after the allowance | | --- | --- | --- | --- | --- | | Argentina | 0.0618 | 0.0260 | 0.0260 | 0.0260 | | Brazil | 0.0625 | 0.0068 | 0.0068 | 0.0068 | | Chile | 0.0889 | 0.0200 | 0.0200 | 0.0200 | | Colombia | 0.0125 | 0.0008 | 0.0008 | 0.0008 | This table excludes taxes, BSP fees, international authentication and volume discounts. If your market is missing, look up its row or regional grouping in the official card. Do not use the rate for the country hosting n8n. Also check applicable exemptions and tiers. The 24-hour customer service window determines when you can reply without a template; it does not mean unlimited free service messages. Do not budget utility messages inside that window as free without checking the current rule. ## A template for total cost Use the same month, currency and scope for all three routes. If n8n or the AI model costs the same across them, keep that common item in the total without attributing it to the gateway. | Variable | What to record from your operation | | --- | --- | | S | Hosting, storage, backups, monitoring and webhook operations for each route | | h × w | Monthly maintenance hours multiplied by internal hourly cost; include on-call work and technical recovery | | I / a | Initial integration or migration spread over your chosen evaluation period in months | | M | Billable deliveries by market, category and tier multiplied by their Meta rates | | F | BSP subscription and fees not already included in M | | E | Interruption cost in the scenario being evaluated, excluding hours already counted in h | | O | Shared costs: n8n, AI, CRM and process supervision | ```text OpenWA = S_gateway + h_gateway × w + I_gateway / a + E_gateway + O Direct Cloud = S_cloud + h_cloud × w + I_cloud / a + M + E_cloud + O Cloud via BSP = S_bsp + h_bsp × w + I_bsp / a + M + F + E_bsp + O ``` Calculate M from deliveries, not n8n executions or send attempts. For one number, one market and service messages only, with no other exemptions: ```text M_service = max(0, service_messages_delivered_in_month - 1000) × market_service_rate ``` With several numbers, apply the allowance to each number. If one number serves several markets, it still has one allowance: allocate billable deliveries to their markets without subtracting 1,000 in every country. Add marketing, utility and authentication separately, applying each tier only to the deliveries within that tier. Keep the card date, currency and version alongside the calculation. For E, compare a month without incidents with an interruption scenario and a permanent number-loss scenario. Record the time to restore service through an alternative channel, pending cases, manual work and the cost of changing the number across materials and systems. Use lost margin or documented costs and avoid counting the same loss twice. There is no confirmed recovery time for your case or published ban probability that would justify inventing a monthly average. The guide to [the real cost of an AI agent](/blog/real-cost-of-an-ai-agent/) expands on supervision and failure costs shared by both routes. ## When the official route pays for itself Using those inputs, the official route makes financial sense when its total is no higher than the gateway's in the relevant scenario. There is no universal break-even volume: category mix, markets and actual operating hours saved all matter. If you only send service messages from one number within its allowance, that Meta line is zero; integration and operations still cost money. Beyond the allowance, price the excess at the applicable rate. If marketing campaigns dominate, calculate that category before extrapolating from the price of a support reply. More volume increases the bill and can increase the impact of an outage; volume alone does not settle the comparison. For a business number supporting orders or customer service, continuity and compliance can decide the architecture even when you cannot price every loss. The official route reduces dependence on reverse-engineered clients. It still needs valid credentials, monitoring, quality controls and a human fallback when something fails. ## Where an unofficial gateway can fit An internal prototype without customers or real data, using a disposable test number and an accountable technical owner, can be a bounded experiment. That choice accepts transport risk; it does not create an exception to WhatsApp's terms. Avoid basing customer service or the company's primary number on that experiment. It is also no workaround for unsolicited bulk messaging or debt collection. The [WhatsApp Help Center on unauthorized automation](https://faq.whatsapp.com/5957850900902049/?locale=pt_BR), reviewed on October 20, 2026, warns of bans and legal action over uses that violate its terms. The [business policy](https://whatsappbusiness.com/policy/) lists debt collection among prohibited activities. Paying for the official API does not authorize that activity. If the number is restricted, pause n8n's queue and handle cases through your planned alternative channel. Request review through WhatsApp's channels where appropriate. Do not promise that changing engines, servers or providers will recover the number. Decide beforehand which channel carries each case and who informs the customer. Separating [business lines and WhatsApp numbers](/blog/one-whatsapp-number-per-business-line/) helps define that dependency. ## Migrating to Cloud API while retaining n8n business logic Separate transport from business decisions before switching. You can then retain CRM queries and validations that already work. 1. Inventory inputs, outputs, media and gateway-specific features. Check what Cloud API supports and what needs redesign. Do not assume groups or history have direct equivalents. 2. Normalize incoming events into your own contract: event ID, business number, sender, case, timestamp, type and minimum content. Keep state and deduplication outside the transport node. 3. Prepare official onboarding, credentials, payment method, consent and templates. Validate number migration and the coexistence conditions for your onboarding route. An existing sanction does not disappear when you register another integration. 4. Replace the input with [WhatsApp Trigger](https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.whatsapptrigger/) and the output with [WhatsApp Business Cloud](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp/), or the BSP's contracted interface. Adapt delivery states and errors. n8n includes Send and Wait for Response for human approval steps. 5. Test duplicate deliveries, errors, expired windows and human handoffs using synthetic data. After a timeout with an unknown outcome, check status before repeating a send. 6. At cutover, pause gateway sends, record pending work and activate a single outgoing route. Retain necessary records under your retention rules and check what data you can export. Switching transport does not automatically import history into Meta. The [WhatsApp sales agent with CRM](/blog/how-to-build-a-sales-agent-whatsapp-crm/) design helps preserve cases and authorizations during the change. Before activating customers, document the budget by category, the channel owner and the procedure for handling pending cases during an interruption. ## Frequently asked questions ### Is OpenWA legal and compliant with WhatsApp's terms? Its MIT license permits use of the software under its conditions; it does not grant permission from WhatsApp. OpenWA says it uses unofficial clients and acknowledges restriction or ban risk. Legality depends on use and jurisdiction. For a business integration, review WhatsApp's terms and policies and use the official route. ### What happens if WhatsApp bans the number connected to OpenWA? Pause pending sends and use an alternative channel to handle open cases. WhatsApp controls account review; recovery and timing are not guaranteed for your case. OpenWA recommends a dedicated number you can afford to lose. Moving to Cloud API does not remove an existing sanction or automatically import chats. ### How much does the official API cost for my volume? Add billable delivered messages by market and category at current rates and tiers, plus infrastructure, operations and any BSP charges. Since October 1, 2026, the first 1,000 service messages per number per month are free; subsequent service messages are charged. The 24-hour window permits replies without a template but does not mean unlimited free service messages.