# Introduction

Bedrock is a non-custodial crypto payment protocol that enables merchants to accept USDC payments on multiple EVM chains.

## Overview

Bedrock uses a minimal clone factory pattern to deploy unique payment addresses for each transaction. When a customer pays, funds are automatically forwarded to the merchant's settlement address with protocol fees deducted.

### Key Features

* **Multi-chain support** - Accept payments on Base, Optimism, Arbitrum, and more
* **Non-custodial** - Funds flow directly to merchant wallets
* **Lazy deployment** - Clone contracts only deploy when customer selects a chain
* **Automatic settlement** - Payments are automatically flushed to merchants
* **Webhook notifications** - Real-time payment status updates

## Quick Start

### 1. Get your API Key

Sign up at [app.bedrock.io](https://app.bedrock.io) and generate an API key from the Settings page.

### 2. Create a Charge

```bash
curl -X POST https://api.bedrock.io/v1/charges \
  -H "X-API-Key: sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "orderId": "order-123",
    "amount": "25.00"
  }'
```

### 3. Redirect Customer

Use the `paymentUrl` from the response to redirect your customer to the payment page.

### 4. Handle Webhooks

Configure a webhook URL in Settings to receive payment notifications.

## Base URL

```
Production: https://api.bedrock.io
```

## Authentication

All API requests require authentication via API key:

```
X-API-Key: sk_live_your_api_key
```

## Support

* Documentation: [docs.bedrock.io](https://docs.bedrock.io)
* GitHub: [github.com/bedrock-protocol](https://github.com/bedrock-protocol)
* Email: <support@bedrock.io>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bedrockfi.xyz/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
