RedVPN for
AI agents
An agent can buy RedVPN Premium for a person and hand over everything needed to connect, in one call: an account code and the connection profile. No subscription, no auto-renewal, instant delivery.
Agentic Commerce Protocol 2026-04-17Stripe Shared Payment TokenREST + OpenAPIMCP serverllms.txt
What is for sale
Prepaid periods of RedVPN Premium: unlimited data on every device signed in to the same account (Android, iOS, macOS, Windows, Linux). Prices below are the ones in the live catalogue at the time this page was written; the API is authoritative (feed.json).
| Item id | Period | Price |
|---|---|---|
usd-monthly | 1 month | 3.99 USD |
usd-year | 1 year | 12.99 USD |
Three ways to buy
Standard checkout_sessions endpoints. Pay with a Stripe Shared Payment Token. Discovery at /.well-known/acp.json.
Same endpoints, no token needed: ask for the hosted card page, show the link to the human, poll until paid. Spec at /agentic/openapi.json.
python -m app mcp exposes list_plans, create_checkout, complete_checkout, get_order. Runs on the agent host with an API key.
All three need an agent API key (Authorization: Bearer rvk_…). Ask support@vpn.red; keys are rate-limited and can be revoked.
ACP checkout, step by step
Base URL https://vpn.red/agentic. Every POST carries an Idempotency-Key; send API-Version: 2026-04-17.
1. Create a session
POST /agentic/checkout_sessions
Authorization: Bearer rvk_live_…
Idempotency-Key: 7c3a…
Content-Type: application/json
{"line_items":[{"id":"usd-monthly"}],"currency":"usd",
"buyer":{"email":"human@example.org"},"capabilities":{}}
201 → {"id":"cs_…","status":"ready_for_payment","totals":[…,{"type":"total","amount":399}],
"capabilities":{"payment":{"handlers":[{"id":"card_spt","name":"dev.acp.tokenized.card","psp":"stripe",…},
{"id":"card_hosted",…}]}}, …}
2a. Pay with a Shared Payment Token
POST /agentic/checkout_sessions/cs_…/complete
{"payment_data":{"handler_id":"card_spt",
"instrument":{"type":"card","credential":{"type":"spt","token":"spt_…"}}}}
200 → {"status":"completed",
"order":{"id":"RV…","status":"completed",
"fulfillments":[{"type":"digital","status":"delivered",
"digital_delivery":{"license_key":"RV-XXXX-XXXX-XXXX-XXXX",
"access_url":"https://vpn.red/api/v1/profile?cid=…&protocol=redsocket",
"expires_at":"2026-11-22T10:00:00Z"}}]},
"metadata":{"redvpn":{"cid":"…","account_code":"RV-…","paid_until":"…","profile":{…},"redeem":{…}}}}
2b. No token: hosted card page
POST /agentic/checkout_sessions/cs_…/complete
{"payment_data":{"handler_id":"card_hosted"}}
200 → {"status":"complete_in_progress","continue_url":"https://checkout.stripe.com/…", …}
GET /agentic/checkout_sessions/cs_… ← poll after the human paid
200 → {"status":"completed","order":{…},"metadata":{"redvpn":{…}}}
A decline comes back as a normal session with messages[].code = "payment_declined" and status: ready_for_payment; retry with another instrument. cancel closes a session; it answers 405 once completed.
What the human does with it
- App: install RedVPN, open Sign in › Account code, enter the code (
RV-XXXX-XXXX-XXXX-XXXX). Premium is active untilpaid_until, on every device that enters the code. - Linux:
redvpn login --cid <cid>adopts the paid device id, thenredvpn up. - Email: if an email was given at checkout, the same code and steps arrive by mail, and vpn.red/me shows the order after signing in with that address.
The profile object is the redsocket client configuration (server endpoints and public key); the cid is the credential. Agents normally hand the human the account code and keep the rest.
MCP server
Ships in the cashier repository. Point your agent host at it with the API key:
{"mcpServers":{"redvpn":{"command":"python","args":["-m","app","mcp"],
"cwd":"/path/to/cashier-01",
"env":{"REDVPN_API_BASE":"https://vpn.red","REDVPN_AGENT_KEY":"rvk_live_…"}}}}
Flow for the model: list_plans → create_checkout(item_id, buyer_email) (returns continue_url) → show it to the human → get_order until completed → hand over the account code. Agents holding a Stripe SPT call create_checkout(payment:"none") then complete_checkout(spt_token).
Payment methods
Card via Stripe: delegated (Shared Payment Token) or hosted page. Crypto handlers (crypto_usdt-tron, …) appear in capabilities.payment.handlers only when the crypto rail is switched on; the response always tells you what is available right now.
Support and policies
support@vpn.red · Privacy · Seller: Red Team LTD. Machine-readable: /llms.txt, /llms-full.txt, /.well-known/acp.json, /agentic/openapi.json, /agentic/feed.json, /agentic/feed.jsonl.