Skip to content

fix(send): SMS notification not delivered to phone number payment recipients #491

@blink-claw-bot

Description

@blink-claw-bot

Summary

When sending an intraledger payment to a phone number, the recipient does not receive an SMS notification. Tested with multiple Kenyan phone numbers — neither received SMS.

Expected behavior: SMS should only be sent if the recipient does NOT already have a Blink account on that phone number. If they do have an account, the payment delivers intraledger without SMS.

Test results

Test 1:

  • Amount: $1.00 (1,481 SAT)
  • Sender: legend
  • Recipient: +254728438158@blink.sv
  • Time: 2026-03-08 11:40
  • Blink Internal ID: 69ad6017198317c0fb6b2abb
  • Result: Payment succeeded, no SMS received

Test 2:

  • Amount: $1.00 (1,487 SAT)
  • Sender: legend
  • Recipient: +254711152183@blink.sv
  • Time: 2026-03-08 13:12
  • Result: Payment succeeded, no SMS received

Key finding: Operator SMS content filtering

Fidel (founder of Bitika, mobile money to Bitcoin exchange in Kenya) confirmed the SMS was likely blocked by the Kenyan operator's content filter. They experienced similar issues with OTP SMS delivery. The SMS text content is being flagged as marketing/promotional.

Investigation areas

  1. Verify account status of test recipients — confirm whether SMS should have been sent at all
  2. Check Twilio delivery logs for these specific sends — were they attempted? What status?
  3. Provider migration impact — the codebase shows Prelude was added as a second SMS provider alongside Twilio. Could this migration have affected Twilio's transactional SMS delivery (credential changes, account deprioritization)?
  4. SMS content — currently managed via Twilio Content Templates (TWILIO_WELCOME_CONTENT_SID), not visible in the codebase. Content may trigger operator spam filters.

Recommended next steps

  1. Rework SMS text content to avoid operator content filtering triggers (don't pursue sender ID whitelisting)
  2. Multi-country SMS testing to determine scope beyond Kenya
  3. Consider moving SMS templates from Twilio Content API to the codebase for better visibility and iteration (see related issue)

Screenshots

Screenshots and WhatsApp conversation with Fidel confirming operator content filtering available in Slack #blink-claw-bot thread (2026-03-08).

Split from blinkbitcoin/blink-mobile#3699.

cc @grimen @dolcalmi @pretyflaco

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions