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

# General Information

> Core concepts, conventions, and behavior of the Vaayu API.

# General Information

The Vaayu API provides developer-friendly payment infrastructure for sending and tracking payments through a simple API.

This page explains the conventions used across the API.

## Base URL

For local development, the API is available at:

```text theme={null}
http://127.0.0.1:8000
```

Your production base URL will be different.

## Authentication

Most protected endpoints require an API key.

Send the API key in the `X-API-Key` header:

```bash theme={null}
curl http://127.0.0.1:8000/balance/0xYourAddress   -H "X-API-Key: YOUR_API_KEY"
```

Keep API keys private. Do not expose them in browser-side JavaScript or public repositories.

## Request Format

For endpoints that accept JSON data, send:

```http theme={null}
Content-Type: application/json
```

Example:

```json theme={null}
{
  "to": "0xRecipientAddress",
  "amount": 10
}
```

## Response Format

Successful requests return JSON.

Example:

```json theme={null}
{
  "status": "success"
}
```

The exact response fields depend on the endpoint.

## HTTP Methods

Vaayu uses standard HTTP methods:

| Method | Purpose |
| - | - |
| `GET` | Retrieve information |
| `POST` | Create or initiate an operation |

## Common HTTP Status Codes

| Status | Meaning |
| - | - |
| `200` | Request completed successfully |
| `201` | Resource created successfully |
| `400` | Invalid request |
| `401` | Missing or invalid API key |
| `404` | Resource not found |
| `422` | Request validation failed |
| `500` | Internal server error |

## Transaction IDs

Payment operations return a transaction hash such as:

```text theme={null}
0x1234567890abcdef...
```

Use the transaction hash with the transaction-status endpoint to check the payment.

```text theme={null}
GET /transaction/{tx_hash}
```

## Amounts

Amounts should be provided as numeric values representing the payment amount.

Example:

```json theme={null}
{
  "amount": 25
}
```

For production integrations, use the exact amount and decimal conventions documented for the payment asset you are using.

## Addresses

Blockchain addresses must be supplied in the format expected by the selected network.

Example:

```text theme={null}
0x742d35Cc6634C0532925a3b844Bc454e4438f44e
```

Always validate recipient addresses before initiating a payment.

## Sandbox

During development, use the Vaayu sandbox environment where available.

Sandbox transactions are intended for testing integration flows without using real funds.

## API Explorer

If your Vaayu API server is running locally, FastAPI exposes interactive API documentation at:

```text theme={null}
http://127.0.0.1:8000/docs
```

You can use this interface to inspect endpoints and test requests.

## Related Pages

<CardGroup cols={2}>
  <Card title="Create API Key" icon="key" href="/create-api-key">
    Create and authenticate API keys.
  </Card>

  <Card title="Send Payment" icon="paper-plane" href="/send-payment">
    Initiate a payment through the API.
  </Card>

  <Card title="Get Transaction" icon="magnifying-glass" href="/get-transaction">
    Retrieve transaction status.
  </Card>

  <Card title="Get Balance" icon="wallet" href="/get-balance">
    Check a blockchain address balance.
  </Card>
</CardGroup>


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