> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reclack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> How to call the Reclack API, and what comes back.

The Reclack API takes recurring and one-time stablecoin payments straight from
your customers' wallets. Everything in this reference is a real endpoint on
`https://api.reclack.com`, and every page here carries a playground you can
send a live request from.

Reclack is non-custodial. Payments move from a customer's wallet to a
settlement address you control. Reclack never holds your funds, and never asks
anyone for a seed phrase or a private key.

## Base URL

```
https://api.reclack.com
```

There is one base URL. Your key decides whether you are working against test
chains or production, so you never change hostnames between environments.

## Authentication

Send your API key in the `Api-Key` header.

```bash theme={null}
curl https://api.reclack.com/v1/products \
  -H "Api-Key: rk_live_your_key_here"
```

`X-API-Key` works too, if it fits your stack better. The prefix tells you
which environment you are in: `rk_sandbox_` for test chains, `rk_live_` for
production. See [Authentication](/authentication) for how keys are issued and
rotated.

## Responses

A successful call returns the object, or a list of them, under `data`.

```json theme={null}
{
  "data": {
    "id": "prod_2Pb8xk9",
    "name": "Pro Plan"
  }
}
```

An error returns a `type`, an optional `code`, and a message written for a
person rather than a parser.

```json theme={null}
{
  "error": {
    "type": "invalid_request_error",
    "code": "price_not_found",
    "message": "No price was found for that id"
  }
}
```

[Errors](/errors) lists every type and what to do about each one.

## Amounts

Amounts are decimal strings, such as `"29.00"`, and most objects also carry the
same figure in the token's atomic units. Strings rather than numbers, because a
float cannot hold money without eventually losing a fraction of a cent.

## Idempotency

Anything that moves money can be retried safely. Usage reporting takes an
`idempotency_key` you choose, and payment confirmation reads what the chain
shows rather than trusting the caller. [Idempotency](/idempotency) covers how to
pick a key.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.