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

# Pricing

> How Orthogonal pricing works

## Pay Per Call

Orthogonal uses simple per-call pricing. You only pay for what you use - no monthly fees or minimums.

Each API endpoint has a fixed price shown in the [API catalog](https://orthogonal.com/discover) and returned by the search API:

```json theme={null}
{
  "api": "apollo",
  "path": "/v1/people/match",
  "price": 0.03,
  "description": "Enrich a person by email"
}
```

## Pricing Tiers

Prices vary by API and complexity:

| Tier     | Price Range    | Examples                                               |
| -------- | -------------- | ------------------------------------------------------ |
| Basic    | $0.001 - $0.01 | Olostep scraping ($0.005), Hunter email search ($0.01) |
| Standard | $0.01 - $0.10  | Apollo enrichment ($0.03), LinkUp AI search ($0.004)   |
| Premium  | $0.10 - $1.00  | Deep research, AI analysis, bulk operations            |

## Billing

* **Credits**: Pre-pay for credits at [orthogonal.com/dashboard/balance](https://www.orthogonal.com/dashboard/balance)

Every API response includes the cost:

```json theme={null}
{
  "success": true,
  "priceCents": 0.5,
  "data": { ... }
}
```

## Free Tier

New accounts get \$5 in free credits to try the platform. No credit card required.

## x402 Direct Payment

Orthogonal supports **x402** - a protocol for paying API providers directly with stablecoins.

With x402:

* Pay providers directly (lower fees for high volume)
* Use USDC on Base network
* No pre-paid credits needed

<Accordion title="How x402 works">
  1. Request an endpoint that supports x402
  2. Get a `402 Payment Required` response with payment details
  3. Sign a payment authorization with your wallet
  4. Retry with the `X-PAYMENT` header
  5. Payment is processed and you get the response

  ```javascript theme={null}
  import { wrapFetchWithPayment } from 'x402-fetch';
  import { privateKeyToAccount } from 'viem/accounts';

  const account = privateKeyToAccount(PRIVATE_KEY);
  const fetchWithPayment = wrapFetchWithPayment(fetch, account);

  // Automatically handles 402 responses
  const response = await fetchWithPayment('https://x402.orth.sh/api/endpoint');
  ```
</Accordion>

Contact us for x402 access: [hello@orthogonal.com](mailto:hello@orthogonal.com)
