Polymorfa
Open Console

Polymorfa vs Kapso

Kapso stops retrying a webhook about 50 seconds after the first attempt.

Kapso gives up on a failed webhook about 50 seconds after the first attempt, and connects official numbers only.1,2 Polymorfa can retry for up to 24 hours and serves linked-device and Cloud API numbers with the same request shape, so your SaaS reaches every customer and loses no events.3,4

Webhook retry window
Kapso
About 50 seconds
Polymorfa
1 hour by default, up to 24
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 Kapso

  1. 01

    Retries that survive an outage

    Polymorfa makes up to eight delivery attempts over 24 hours, set per webhook, and signs every delivery with HMAC-SHA256.3 Sends accept an Idempotency-Key: repeating a request with the same key within 24 hours does not send the message again.9

    Kapso: Kapso retries a failed webhook twice, and the last retry fires about 50 seconds after the first attempt.1 Its send-message reference does not document an idempotency key.10

    retry-safe.sh
    curl 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."}}'
    
    # Retrying with the same key returns 409 idempotency_completed.
    # The customer gets one message.
  2. 02

    Every customer, on either route, with one request shape

    Polymorfa's Graph API accepts Meta's request shape for both linked-device and Cloud API numbers. The number you address decides which route carries the message, and linked-device numbers also manage groups and channels.4,11,12

    Kapso: Kapso's connection guide covers official numbers only.2 A customer who runs WhatsApp from the phone app has no documented path.

  3. 03

    Calls that reach your phone system

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

    Kapso: Kapso's TypeScript SDK places and answers Cloud API calls over WebRTC, and does not document SIP.13

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.14

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 Kapso does not

Polymorfa and Kapso
FeaturePolymorfaKapso
Linked-device numbersYes15Not documented
Idempotent sends24-hour keys9Not documented
SIP trunk to your PBXBoth directions7Not documented
Pricing modelPer online number-day16Plan with message allowance17
Paid entry price$0.25 per online day16$25 a month17

Move from Kapso in an afternoon

  1. 01

    Create a project and a token

    Sign up, create a project and generate a project token in the Console.

  2. 02

    Connect your numbers

    Send each customer a QuickLink. Linked-device numbers pair by QR or pairing code; Cloud API numbers use Embedded Signup, which is in beta.15

  3. 03

    Point requests at Polymorfa

    Replace the base URL with https://api.polymorfa.com/graph/whatsapp/v26.0 and keep the request bodies.4

Questions

Does Polymorfa support the official Cloud API?

Yes. Cloud API numbers and coexistence connect through QuickLink with Embedded Signup. Both are in beta and need team access.15

Do I still pay Meta's fees?

Yes, for Cloud API numbers. Neither Kapso nor Polymorfa removes Meta charges.17,14

What happens to events while my endpoint is down?

Polymorfa retries for about an hour by default and up to 24 hours when you allow eight attempts, and every delivery carries an HMAC-SHA256 signature you can verify when it arrives.3

Leave the WhatsApp infrastructure to us.

Start free