Skip to main content
Resend is a provider on Stripe Projects. One command gives your project a Resend account and an API key, ready to send. No signup form, and your agent can run it for you.

What you get

  • A Resend account created and linked to your Stripe account.
  • One API key per project, managed by Stripe and synced to your environment.
  • Full access to the Resend dashboard and API.
  • Paid plans for newly provisioned accounts are billed to your Stripe account, alongside your other Stripe Projects services.
One Stripe account maps to one Resend team. Each project gets its own API key, and all projects share the team’s sending quota.

Add Resend to a project

You need the Stripe CLI with the projects plugin installed, and a project to install Resend to:
Then, run:
You can also ask your coding agent to run these steps. stripe projects init writes Stripe Projects skills into the project, and add resend/email adds a Resend skill, so the agent knows the CLI commands and the Resend API.
The CLI asks you to pick a plan (Free or Pro), provisions the account, and writes the API key to your local .env as RESEND_API_KEY. Run stripe projects env to list the variables with their values hidden.

Which email Resend uses

Resend uses the email on your Stripe account, not the email you sign in to Stripe with. On a company account the two often differ. If you sign in as bob@example.com and the Stripe account’s email is company@example.com, Resend provisions for company@example.com. That address owns the Resend account, and it is the only recipient your test emails can go to. What happens next depends on whether that email already has a Resend account:
  • No Resend account yet: the CLI creates one on the plan you picked.
  • An existing Resend account: the CLI links a team where that email is an admin, and asks which team when there are several. The team’s plan carries over, and its billing stays at Resend.
You can use your key to access all features from the Resend API. To open the Resend Dashboard, already signed in, run:
To rotate the key, run stripe projects rotate resend/email. The CLI writes the new key to your .env and the old one stops working.

Send your first email

You can send before you verify a domain. Use onboarding@resend.dev as the from address. The recipient must be the email on your Stripe account, the one Resend provisioned for. That is the only recipient the resend.dev testing domain can deliver to. Install the SDK and read the key from the environment. Replace you@example.com with that address. The SDKs read the process environment, not the .env file. Load it first, for example with node --env-file=.env send.mjs, or with your language’s dotenv package.
Then send an email:
See the full quickstart for Node.js, PHP, Python, Ruby, Go, Rust, Java, .NET, or Elixir.

Add a domain

Resend sends emails using a domain you own. Before you can send or receive emails with Resend to addresses other than your own, you must have a verified domain associated with your account. To send from your own domain, and to any recipient, add and verify a domain.

Billing

Resend offers free and paid plans through Stripe Projects. Stripe manages the billing, so you pay for Resend the same way you pay for your other Projects services. To upgrade, run:
The CLI asks you to confirm the plan change, then shows the plans to pick from. In a script or from an agent, name the current plan and the target, and pass --json:
If Stripe has no payment method for you yet, the CLI stops and gives you a Checkout link to add one. The higher quota activates when the first payment confirms. To go back to the free plan, run stripe projects downgrade resend/pro resend/free. The paid quota stays until the billing period ends.
The Stripe Projects integration does not have paid marketing plans yet, only Transactional Pro. Discounts, promo codes, and startup or partner credits do not apply to Stripe Projects plans.

Next steps