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

# API Conventions

> Formatting standards and shared patterns used across the CDP API.

The CDP API follows consistent formatting rules for resource IDs, monetary amounts, asset symbols, and timestamps. This page is a quick reference for the patterns you'll encounter on every endpoint.

For pagination, authentication, errors, idempotency, and rate limits, see the dedicated pages linked at the bottom.

## Base URL

The CDP API has two environments, each with its own base URL:

| Environment    | Base URL                                    |
| -------------- | ------------------------------------------- |
| **Production** | `https://api.cdp.coinbase.com/platform`     |
| **Sandbox**    | `https://sandbox.cdp.coinbase.com/platform` |

Endpoints are versioned under `/v2/...`. For example: `https://api.cdp.coinbase.com/platform/v2/accounts`.

Sandbox is a fully isolated environment for testing — it does not connect to any blockchain network or move real funds. API keys and resource IDs are environment-scoped and cannot be used across environments. See the [Sandbox guide](/payments/transfers/quickstart) for setup details.

## Resource IDs

Many Payments resources use a prefixed identifier of the form `{prefix}_{uuid}`. The prefix makes IDs self-describing in logs, error messages, and webhook payloads.

| Resource            | Prefix                | Example                                                   |
| ------------------- | --------------------- | --------------------------------------------------------- |
| Account             | `account_`            | `account_af2937b0-9846-4fe7-bfe9-ccc22d935114`            |
| Transfer            | `transfer_`           | `transfer_af2937b0-9846-4fe7-bfe9-ccc22d935114`           |
| Deposit destination | `depositDestination_` | `depositDestination_af2937b0-9846-4fe7-bfe9-ccc22d935114` |
| Payment method      | `paymentMethod_`      | `paymentMethod_af2937b0-9846-4fe7-bfe9-ccc22d935114`      |
| Customer            | `customer_`           | `customer_af2937b0-9846-4fe7-bfe9-ccc22d935114`           |

<Tip>
  Treat resource IDs as opaque strings. The prefix is informational; do not parse the UUID portion to derive meaning.
</Tip>

## Amounts

All monetary amounts are represented as **strings of decimal numbers** to preserve precision.

```json theme={null}
{
  "amount": "100.00",
  "asset": "usd"
}
```

<Warning>
  Never use floating-point numbers for amounts. JSON floats lose precision for many decimal values (for example, `0.1 + 0.2 !== 0.3`), which can lead to off-by-one-cent errors at scale.
</Warning>

**Examples**

| Value        | Meaning      |
| ------------ | ------------ |
| `"100.00"`   | 100 USD      |
| `"2.5"`      | 2.5 BTC      |
| `"103.50"`   | 103.50 USD   |
| `"0.000001"` | 1 micro-unit |

## Asset symbols

Assets are identified by lowercase symbols.

| Category    | Symbols                         |
| ----------- | ------------------------------- |
| Fiat        | `usd`                           |
| Stablecoins | `usdc`, `usdt`, `eurc`, `pyusd` |

For the full list of supported assets and networks, see [Supported networks](/get-started/supported-networks).

## Timestamps

All datetime fields are returned in UTC using ISO 8601 with a `Z` suffix.

```
YYYY-MM-DDTHH:MM:SSZ
```

**Example:** `2023-10-08T14:30:00Z`

## What to read next

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/api-reference/v2/authentication">
    JWT signing and API key formats
  </Card>

  <Card title="Pagination" icon="layer-group" href="/api-reference/v2/pagination">
    Cursor-based pagination for list endpoints
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/api-reference/v2/errors">
    Error response shape and full error catalog
  </Card>

  <Card title="Idempotency" icon="rotate" href="/api-reference/v2/idempotency">
    Safely retry write requests with idempotency keys
  </Card>

  <Card title="Rate limits" icon="gauge-high" href="/api-reference/v2/rate-limits">
    Per-window limits and best practices
  </Card>
</CardGroup>
