B
StableEmail
Preview responses and set spending limits for this service through use.mpp.land
Free budget controls, response samples, and reliability routing.
Compliance Checks
All paid ops declare 402 response
MUST
10pt
All x-payment-info valid
MUST
10pt
Challenge has Cache-Control: no-store
MUST
5pt
Challenge digest on POST
SHOULD
3pt
Challenge has expires
SHOULD
3pt
Challenge has Problem Details
SHOULD
2pt
Challenge has required params
MUST
5pt
Challenge has WWW-Authenticate
MUST
5pt
Challenge returns 402
MUST
10pt
Correct Content-Type
MUST
5pt
Has Cache-Control on discovery
SHOULD
5pt
Has input schemas
SHOULD
5pt
Has llms.txt
SHOULD
5pt
Has /openapi.json at root
MUST
10pt
Has required top-level fields
MUST
10pt
Served over HTTPS
MUST
10pt
Uses standard categories
SHOULD
2pt
1 issue
- POST endpoint challenge missing digest parameter (SHOULD per spec)
Paid Operations (13)
POST /api/subdomain/buy dynamic
Purchase a custom email subdomain on stableemail.dev ($5)
- Amount
- map[amount:5 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:5 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| subdomain | string | Yes |
POST /api/send dynamic
Send an email from "StableEmail" <relay@stableemail.dev> ($0.02)
- Amount
- map[amount:0.02 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.02 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| attachments | array | No | |
| html | string | No | |
| replyTo | string (email) | No | |
| subject | string | Yes | |
| text | string | No | |
| to | array | Yes |
POST /api/subdomain/inbox/messages dynamic
List messages in a subdomain inbox ($0.001)
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| cursor | string | No | |
| limit | integer | No |
default: 20
|
| localPart | string | Yes | |
| subdomain | string | Yes |
POST /api/inbox/messages dynamic
List messages in your inbox ($0.001)
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| cursor | string | No | |
| limit | integer | No |
default: 20
|
| username | string | Yes |
POST /api/subdomain/send dynamic
Send email from your custom subdomain on stableemail.dev ($0.005)
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| attachments | array | No | |
| from | string (email) | Yes | |
| html | string | No | |
| replyTo | string (email) | No | |
| subject | string | Yes | |
| text | string | No | |
| to | array | Yes |
POST /api/inbox/buy dynamic
Buy an inbox on stableemail.dev ($1, 30 days). forwardTo is optional — omit it to use as a programmatic mailbox via the messages API (retainMessages enabled automatically). Message content and attachments are retained for 90 days.
- Amount
- map[amount:1 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:1 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| forwardTo | string (email) | No | |
| username | string | Yes |
POST /api/inbox/send dynamic
Send email from your forwarding inbox on stableemail.dev ($0.005)
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| attachments | array | No | |
| html | string | No | |
| replyTo | string (email) | No | |
| subject | string | Yes | |
| text | string | No | |
| to | array | Yes | |
| username | string | Yes |
POST /api/inbox/topup dynamic
Top up a forwarding inbox for 30 days ($1)
- Amount
- map[amount:1 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:1 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| username | string | Yes |
POST /api/inbox/topup/quarter dynamic
Top up a forwarding inbox for 90 days ($2.50, save 17%)
- Amount
- map[amount:2.5 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:2.5 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| username | string | Yes |
POST /api/inbox/topup/year dynamic
Top up a forwarding inbox for 365 days ($8, save 34%)
- Amount
- map[amount:8 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:8 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| username | string | Yes |
POST /api/inbox/messages/read dynamic
Read a single inbox message ($0.001). Returns text, HTML, and attachment download URLs (1hr expiry). Message content available for 90 days from receipt.
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| messageId | string | Yes |
POST /api/subdomain/inbox/create dynamic
Create an inbox on your subdomain ($0.25). Max 100 inboxes, 500 messages each. Message content and attachments retained for 90 days.
- Amount
- map[amount:0.25 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.25 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| forwardTo | string (email) | No | |
| localPart | string | Yes | |
| subdomain | string | Yes |
POST /api/subdomain/inbox/messages/read dynamic
Read a single subdomain inbox message ($0.001). Returns text, HTML, and attachment download URLs (1hr expiry). Message content available for 90 days from receipt.
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| messageId | string | Yes |
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- -
- Currency (challenge)
- USDC.e on Tempo (Tempo)
- Multiple Challenges
- No
Recipients
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
Per-endpoint breakdown
- POST /api/inbox/buy
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
- POST /api/inbox/messages
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
- POST /api/send
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
- POST /api/subdomain/buy
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
- POST /api/subdomain/inbox/messages
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
- POST /api/subdomain/send
- 0x7bAfA37A71254E496e7E47a8a139E719683a34c2
Security
- TLS Version
- TLSv1.3
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (333ms)
- Challenge
- Reachable (623ms)
- Last Checked
Schema Completeness
- Paid Operations
- 13
- With Input Schema
- 13
- With Description
- 13
Documentation
- Homepage
- -
- API Reference
- -
- llms.txt
- -
Discovery
- OpenAPI URL
- https://stableemail.dev/openapi.json
- OpenAPI Version
- 3.1.0
- Service Version
- 0.1.0
- Document Size
- 47121 bytes
- Document Hash
- 2590c3e96ccbc2dab11b3dbe9c7d25e93d2fc5a51d610872e0c53acece3594e6
Version History (2 snapshots)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- document hash changed (no semantic differences detected)
- price changed on POST /api/inbox/buy: {'mode': 'fixed', 'currency': 'USD', 'amount': '1'} → None
- price changed on POST /api/inbox/messages: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.001'} → None
- price changed on POST /api/inbox/messages/read: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.001'} → None
- price changed on POST /api/inbox/send: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.005'} → None
- price changed on POST /api/inbox/topup: {'mode': 'fixed', 'currency': 'USD', 'amount': '1'} → None
- price changed on POST /api/inbox/topup/quarter: {'mode': 'fixed', 'currency': 'USD', 'amount': '2.5'} → None
- price changed on POST /api/inbox/topup/year: {'mode': 'fixed', 'currency': 'USD', 'amount': '8'} → None
- price changed on POST /api/send: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.02'} → None
- price changed on POST /api/subdomain/buy: {'mode': 'fixed', 'currency': 'USD', 'amount': '5'} → None
- price changed on POST /api/subdomain/inbox/create: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.25'} → None
- price changed on POST /api/subdomain/inbox/messages: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.001'} → None
- price changed on POST /api/subdomain/inbox/messages/read: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.001'} → None
- price changed on POST /api/subdomain/send: {'mode': 'fixed', 'currency': 'USD', 'amount': '0.005'} → None
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-04-06 | B | 79% | 305ms | Up |
| 2026-04-07 | B | 79% | 493ms | Up |