Polymorfa
Open Console

Polymorfa vs Evolution API

Evolution API requires a notice in your product that it runs on Evolution API.

Evolution API's license makes you tell your clients' administrators that your product runs on Evolution API, or buy a commercial license.1 Polymorfa is an operated API: your agency puts its own brand on the pairing page, keeps each client's numbers apart and never deploys a gateway upgrade.2,3

One linked-device number on Polymorfa
Per message
$0
Per online day
$0.25
Linked devices and the official Cloud API, behind one API.4
2 routes
Per message. A number costs credits only for the days it is online.5
$0
To place and answer calls: in the browser, in server code with the raw audio, and on your PBX over SIP.6,7
3 ways
In the hosted MCP server, for agents that run WhatsApp.8
195 tools

Three reasons teams move from Evolution API

  1. 01

    Your brand, with each client kept apart

    Polymorfa's Customers API groups each client's numbers, pairing links and scoped tokens. Customer-scoped client tokens are in beta.3 Branded QuickLink sends your client a pairing page without the Polymorfa mark, and Polymorfa runs the sessions, so there is no gateway to upgrade.2

    Evolution API: Evolution API separates clients by instance and instance token, and its license keeps its own name visible inside your product.9,1

  2. 02

    Signed webhooks and sends that are safe to repeat

    Polymorfa signs every delivery with HMAC-SHA256 and makes up to eight delivery attempts over 24 hours, set per webhook.10 A send with an Idempotency-Key that repeats within 24 hours returns 409 and does not send again.11

    Evolution API: Evolution API stops retrying a webhook after about 20 minutes with default settings, and signs a JWT header rather than the body.12 Its send endpoint does not document an idempotency key.13

    evolution.sh
    curl -X POST "$EVOLUTION_URL/message/sendText/support" \
      -H "apikey: $EVOLUTION_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"number":"15550001111","text":"Your order shipped."}'
    polymorfa.sh
    curl -X POST https://api.polymorfa.com/messaging/support/messages/send \
      -H "Authorization: Bearer $POLYMORFA_API_KEY" \
      -H "Idempotency-Key: order-1042-shipped" \
      -H "Content-Type: application/json" \
      -d '{"conversation":{"phoneNumber":"+15550001111"},"content":{"text":"Your order shipped."}}'
  3. 03

    Calls from code and over SIP

    Polymorfa places and answers calls in a browser, in server code that reads and writes the audio, or on your client's PBX through a SIP trunk. Linked-device numbers also take video and group calls.6,7

    Evolution API: Evolution API's Baileys channel emits call events and can reject calls. Its offer-call method returns a placeholder, and voice calling depends on a third-party token.14

One credit pool. Only the days a number is online.

One credit balance pays for every number your team runs, and a number costs credits only for the UTC days it is online.5 The monthly bonus is part of the price: buy 100,000 credits in a month and you get 250,000.15

Bonus credits on the whole month's purchase, every month

+10%
from 10,000 credits
+25%
from 20,000 credits
+75%
from 50,000 credits
+150%
from 100,000 credits

What Polymorfa gives you that Evolution API does not

Polymorfa and Evolution API
FeaturePolymorfaEvolution API
Hosted onboarding link for your customersQuickLink2Not documented
Idempotent sends24-hour keys11Not documented
Signed webhooks with retriesHMAC-SHA25610JWT bearer token12
Place and answer calls from codeBrowser, server, SIP6Through a third party14
SIP trunk to your PBXBoth directions7Not documented
Number health estimate0–100, rules-based16Not documented
Customer accounts for SaaS buildersCustomers API3Instance tokens9
Branded onboardingBranded QuickLink2Not permitted1

Move from Evolution API in an afternoon

  1. 01

    Create a project and an API key

    Sign up, create a project and generate an API key in the Console.17

  2. 02

    Create a Customer for each client

    Group each client's numbers and pairing links under its own Customer.3

  3. 03

    Connect each number

    Send a QuickLink to pair by QR or pairing code. Cloud API numbers use Embedded Signup, which is in beta.2 Keep the Evolution instance offline once the number moves, so two devices do not compete for one session.

Questions

Is Evolution API open source?

Its license is Apache 2.0 with added conditions: a usage notice inside your product, and no removal of its logo or copyright from the console. Meeting those conditions, or buying a commercial license, is your responsibility.1

Can I keep my existing WhatsApp sessions?

Polymorfa imports Baileys sessions through the API as a preview feature, and Evolution API runs its linked-device channel on Baileys.18,9 If you cannot extract the session state, re-pair each number with QuickLink.2

Can my clients pair their own numbers?

Yes. Send each client a QuickLink. They pair by QR or pairing code on a hosted page in English or Brazilian Portuguese, and Branded QuickLink removes the Polymorfa mark.2

Leave the WhatsApp infrastructure to us.

Start free

Also compare: WAHA, OpenWA