All notes

Billing · October 5, 2026

How Pigeon uses Stripe

Pro plans are charged in Stripe Checkout. The Stripe Projects catalog does not include Pigeon, so the CLI does not create an account or write an API key.

Stripe Projects lets an agent run a command such as stripe projects add resend/email and receive an API key in .env. That catalog only lists providers Stripe has onboarded. Pigeon is not one of them. stripe projects add pigeon/email does not open an account, write PIGEON_API_KEY, or sign you into the dashboard.

What works today

  • Free, Pro 50,000 at $20, and Pro 100,000 at $35, chosen in Settings under Plan.
  • Checkout returns to Settings and sets the plan to pro_50 or pro_100.
  • Manage billing opens the Stripe customer portal. Pay as you go is $0.90 per 1,000 after the included amount.
  • Mail still uses a Pigeon sending key. A Stripe secret does not belong in the app that sends mail.

Upgrade, then send

  1. Sign in and open Settings, then Plan.
  2. Choose Pro 50,000 or Pro 100,000 and finish Checkout.
  3. Open API keys and create a sending key.
  4. Send from a verified domain.
shell
curl -X POST https://pigeonfs.com/api/emails \
  -H "Authorization: Bearer pg_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Billing <billing@yourdomain.com>",
    "to": ["customer@example.com"],
    "subject": "Your receipt",
    "html": "<p>Thanks for the order.</p>"
  }'

Use case: an agent that needs mail

Give the agent the Pigeon MCP server and a sending key, or the HTTP API above. Ask it to send with the key already in the environment. Do not ask it to provision Pigeon through the Stripe CLI. If the team is installed from v0, change the plan in that v0 project. Settings hides Checkout for that team.

Plan limits, the portal, and overage Provision a key from a v0 project Hand the key to an editor