Command Palette

Search for a command to run...

Compare

Polymorfa vs building on Baileys, whatsmeow or whatsapp-web.js

The libraries give you the WhatsApp Web protocol for free. Everything above it, from the API to webhooks to on-call, is yours to build and run. Polymorfa is that layer, already built.

Build or buy

The library is the start of the work.

A library connects one number in one process. A product also needs an HTTP API, durable session storage, reconnects, signed webhooks, media storage and upgrades when WhatsApp changes.

Polymorfa runs all of that as a service, and adds the official Cloud API route beside it.

WorkYou hostPolymorfa
Servers and a database for session stateYou
Reconnects after drops and restartsYou
Library upgrades when WhatsApp changesYou
Signed webhooks, retries and replayYou
Per-number proxies and pacingYou
Someone on call when numbers disconnectYou
The software can be free. The servers, upgrades and on-call time that keep it running are not.
Migration

Keep the sessions you already run.

Session import is in preview: bring existing Baileys sessions over without asking customers to scan again. whatsmeow imports are assisted by our team.

Session import
  1. Existing session foundyour current auth state
  2. Imported into Polymorfakeys stay encrypted at rest
  3. Connectedno QR rescan on the phone
Bring the sessions you already run. Your customers do not have to find their phones and scan again.
Calls

Calls the libraries do not place.

The libraries surface call events and let you reject calls. whatsmeow's README lists calls as not yet implemented. Polymorfa places and answers voice and video calls on linked-device numbers.

Incoming WhatsApp callcall.received webhook
Polymorfa callsVoice and video, one call object
Browser
Server code
SIP / PBX
Answer in a browser, from server code that reads and writes the audio, or on your own PBX over SIP. The same webhooks follow every call.
Fair comparison

When a library is the right call.

If you need full control inside your own process and have the people to operate it, a library costs nothing to license. Baileys and whatsapp-web.js are permissively licensed; whatsmeow is MPL-2.0.

Polymorfa's founder maintains Baileys, and Polymorfa uses whatsmeow for linked-device numbers. The libraries stay free.

Side by side

Feature by feature.

Every row, every product. Hover a feature name for a definition.

Feature
PolymorfaWhatsApp infrastructure API
BaileysTypeScript library
whatsmeowGo library
whatsapp-web.jsNode.js browser library
Connection routes
YesQR code or pairing code
Yes
Yes
Yes
BetaMeta Embedded Signup; needs beta access
Not applicable
Not applicable
Not applicable
BetaKeep using the WhatsApp Business app
Not applicable
Not applicable
Not applicable
Both routes behind one API
Sends and reactionsEdits, deletes, groups and channels are linked-device only
Not applicable
Not applicable
Not applicable
Pairing code (no camera)
In QuickLink
Yes
Yes
Yes
Hosted onboarding link for your customers
QuickLink
You build it
You build it
You build it
Import existing sessions without rescanning
PreviewBaileys sessions; others assisted
You build it
You build it
You build it
Messaging
Media, polls, reactions, edits, deletes
YesEdits and deletes on linked device
Library primitive
Library primitive
Library primitive
Group management
Linked device
Library primitive
Library primitive
Library primitive
Channels
Linked device
Library primitive
Library primitive
Library primitive
Status posts
Not listed
Library primitive
Experimental
Library primitive
Message templates
YesSubmitted to Meta for review
Not applicable
Not applicable
Not applicable
Scheduled campaigns
Pro numbers
You build it
You build it
You build it
24-hour keys
You build it
You build it
You build it
Hosted message history
Beta
Sync events; storage is yours
Sync events; storage is yours
Sync events; storage is yours
Media storage
Hosted
You build it
You build it
You build it
Calls
Incoming call events
11 call events
Call events, reject
Call events, reject
Call events, reject
Place and answer calls from code
Browser, server, SIP
Not listed
Not implementedStated in its README
Not listed
Video calls
Linked deviceCloud API calls are one-to-one audio
Not listed
Not implementedStated in its README
Not listed
SIP trunk to your PBX
Both directions
You build it
You build it
You build it
Browser calling components
React and web componentPrerelease SDK
You build it
You build it
You build it
Call history
With quality stats
You build it
You build it
You build it
Developer experience
REST API with OpenAPI spec
OpenAPI 3.1
In-process library
In-process library
In-process library
Official SDKs
TS · Python · Go · PHP · Rust
TypeScript only
Go only
Node.js only
Official CLI
Prerelease
Not applicable
Not applicable
Not applicable
Signed webhooks with retries
HMAC-SHA256Up to 8 attempts over about 41 hours
You build it
You build it
You build it
Streaming event feed
SSE, beta
In-process events
In-process events
In-process events
Free test environment
Beta test numbers0 credits
Needs a real number
Needs a real number
Needs a real number
BetaSimulated test numbers
Not listed
Not listed
Not listed
Embeddable UI components
Call components
Not listed
Not listed
Not listed
Operations and safety
Number health estimate
0–100, rules-basedProduction linked-device numbers
You build it
You build it
You build it
Typing, pacing and presence controls
Standard and ProEvery setting is off until you turn it on
Presence primitive
Presence primitive
Presence primitive
Per-number proxy
Not offered
Socket option
Library option
Browser launch option
Customer accounts for SaaS builders
Customers API
You build it
You build it
You build it
Branded onboarding
Branded QuickLink$50 a month add-on
Not applicable
Not applicable
Not applicable
Team roles and scoped API keys
Roles and scoped keys
You build it
You build it
You build it
Audit log
With export
You build it
You build it
You build it
Deployment and pricing
Managed cloud
Yes
You run it
You run it
You run it
Self-hosting
Not offered
Inside your app
Inside your app
Inside your app
Source license
Proprietary
MIT
MPL-2.0
Apache-2.0
Pricing model
Per online number-day
Free library, you pay hosting
Free library, you pay hosting
Free library, you pay hosting
Paid entry price
$0.25 per online dayStandard number; +55 numbers cost 15% less
Not applicable
Not applicable
Not applicable
Free tier or trial
1 project, 1 real numberFree team
Free
Free
Free
Region choice
Not selectable
Wherever you run it
Wherever you run it
Wherever you run it

Checked against each vendor's public website and documentation on 24 September 2026. “Not listed” means we did not find the capability on those pages. It does not mean the product lacks it. Prices are list prices shown publicly on that date and exclude Meta's fees and taxes unless stated.

Spotted something out of date? Tell us and we will correct it.

Ship a WhatsApp integration this afternoon.

Free on the sandbox. No credit card. The projects you start here migrate straight into production.