---
title: Bolt.new + BlindPay
description: 'Add stablecoin payments to a Bolt.new (StackBlitz) app: payout, on-ramp, and virtual-account flows via the BlindPay API and a copy-paste prompt.'
navigation:
  order: 3
faq:
  - q: How do I add stablecoin payments to a Bolt.new app?
    a: Paste the BlindPay prompt below into Bolt.new. It generates a server route that calls the BlindPay REST API for quotes and payouts. Add BLINDPAY_API_KEY and BLINDPAY_INSTANCE_ID as environment variables in your Bolt project.
  - q: Does Bolt.new work with the BlindPay API?
    a: Yes. Bolt.new generates full-stack apps that run in StackBlitz, and BlindPay is a standard REST API. Call it from a server route or edge function so your secret key stays off the client.
  - q: Can I on-ramp USDC to local currency in a Bolt app?
    a: Yes. BlindPay converts USDC or USDT to local fiat (USD, BRL, MXN, COP, ARS, EUR, and more) and settles over local payment rails. Your Bolt app calls the BlindPay quotes and payouts endpoints.
howto:
  name: "Add stablecoin payments to a Bolt.new app"
  steps:
    - name: "Get your credentials"
      text: "Copy your API key and instance ID from the BlindPay dashboard."
    - name: "Add environment variables"
      text: "Add BLINDPAY_API_KEY and BLINDPAY_INSTANCE_ID as environment variables in your Bolt project."
    - name: "Paste the prompt"
      text: "Paste the BlindPay prompt into Bolt.new and run. It generates a server route for quotes and payouts."
---

[Bolt.new](https://bolt.new){target="_blank"} by StackBlitz builds and runs full-stack apps in the browser from a prompt. This guide adds **stablecoin payments**: payouts, on-ramps, and virtual accounts: using the BlindPay REST API.

## Copy-paste prompt

```text [Bolt.new prompt]
Add stablecoin payments to this app using the BlindPay API (https://api.blindpay.com).

- Create a server route that calls BlindPay to create a payout quote and execute
  a payout: POST /v1/instances/${BLINDPAY_INSTANCE_ID}/payouts/evm/quote and
  POST /v1/instances/${BLINDPAY_INSTANCE_ID}/payouts/evm.
- Authenticate with Authorization: Bearer ${BLINDPAY_API_KEY}.
- Read BLINDPAY_API_KEY and BLINDPAY_INSTANCE_ID from environment variables.
- Build a UI: enter a USDC amount and destination, fetch a live quote, send the payout.
- Keep the secret key on the server, never in client code.

Docs: https://blindpay.com/docs/getting-started/overview
```

## Setup

::c-steps

### Get your credentials

Copy your API key and instance ID from the [BlindPay dashboard](https://app.blindpay.com/sign-up){target="_blank"}.

### Add environment variables

```bash [.env]
BLINDPAY_API_KEY=your-api-key
BLINDPAY_INSTANCE_ID=your-instance-id
```

### Paste the prompt

Paste the prompt into Bolt.new and run. Check the generated requests against the [API reference](https://api.blindpay.com/reference){target="_blank"}.

::

## Example server call

```ts [server route]
const res = await fetch(
  `https://api.blindpay.com/v1/instances/${process.env.BLINDPAY_INSTANCE_ID}/payouts/evm/quote`,
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.BLINDPAY_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ currency_type: 'sender', request_amount: 1000 }),
  },
)
const quote = await res.json()
```

::c-alert{icon="circle-info"}
Bolt apps run client-side in StackBlitz: route BlindPay calls through a server/edge function so the secret key is never exposed.
::


## Next steps

- [Quick start: stablecoin to fiat](/docs/getting-started/quick-start)
- [All AI builder integrations](/docs/integrations)
- [BlindPay for AI agents](/ai)
