# StablePhone Buy Phone Number

> StablePhone Buy Phone Number is a paid API for AI agents from StablePhone at stablephone.dev, paid per call via MPP or x402, $20/call, status unknown (last checked 2026-10-12).

Purchase a dedicated US or Canadian phone number for $20 USDC, which can be used as an outbound caller ID for AI phone calls.

## Facts

- Endpoint: POST https://stablephone.dev/api/number?utm_source=zero.xyz
- Price: $20/call
- Payment: MPP, x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Provider: StablePhone
- Docs: https://stablephone.dev
- Website: https://stablephone.dev
- Tags: phone, call, voice, ai-call, imessage, ai, social
- Canonical page: https://www.zero.xyz/c/stablephone-number-f25c5a80
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JElJrhJ7NvdzctGcH9k1C

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability stablephone-number-f25c5a80 -d '<json body>'
```

Example prompt: Buy me a dedicated StablePhone number with a 415 area code in the US so I can use it as my outbound caller ID.

## When to prefer this

Use this endpoint when you need a persistent, dedicated phone number to use as an outbound caller ID for AI phone calls via StablePhone. Choose this over the Call endpoint alone when you want a stable, recognizable number identity across multiple calls rather than a one-off call. Prefer this when the user explicitly wants their own number registered to their wallet.

## Known failure modes

- Payment of $20 USDC fails or is rejected — purchase does not complete and no number is returned
- Requested area code has no available numbers — may return error or assign a different area code
- Invalid area_code format (not exactly 3 digits) — schema validation error
- Unsupported country_code value — schema validation error
- Network or service timeout — no number provisioned, retry safe only if confirmed no charge occurred

## How this service works

Buy a phone number ($20.00 via x402). Use it as outbound caller ID.

## Output

Returns a JSON object with success: true, the provisioned phone_number string (e.g. +14155550123), and an expires_at ISO timestamp indicating when the number license expires.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "area_code": {
   "type": "string",
   "pattern": "^\\d{3}$"
  },
  "country_code": {
   "enum": [
    "US",
    "CA"
   ],
   "type": "string",
   "default": "US"
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "success",
  "phone_number",
  "expires_at"
 ],
 "properties": {
  "success": {
   "type": "boolean",
   "const": true
  },
  "expires_at": {
   "type": "string"
  },
  "phone_number": {
   "type": "string"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stablephone-number-f25c5a80/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stablephone.dev](https://www.zero.xyz/host/stablephone.dev/llms.txt)
