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

# Free Tier

> GET /v1/free-tier/* — Check and manage your free tier allowance.

Every wallet gets **100 free API calls** to paid endpoints. No payment required to start.

<Info>
  Free endpoints (list, get, delete, search, suggested, relations, history, graph, export, namespaces, stats) don't consume free tier credits.
</Info>

## GET /v1/free-tier/info

Public endpoint (no auth required). Returns free tier policy.

```bash curl theme={null}
curl https://api.memoclaw.com/v1/free-tier/info
```

```json Response theme={null}
{
  "free_tier": {
    "enabled": true,
    "calls_per_wallet": 100,
    "description": "Every wallet gets 100 free API calls. No payment required."
  },
  "auth": {
    "header": "x-wallet-auth",
    "format": "{wallet_address}:{unix_timestamp}:{signature}",
    "message_to_sign": "memoclaw-auth:{unix_timestamp}",
    "expiry_seconds": 300
  },
  "after_free_tier": {
    "payment": "x402 (USDC on Base)",
    "note": "Only endpoints using OpenAI are charged. See /reference/pricing for details."
  }
}
```

## GET /v1/free-tier/status

Check your remaining free tier calls. Requires wallet authentication.

### Headers

<ParamField header="x-wallet-auth" type="string" required>
  Format: `{address}:{timestamp}:{signature}`
</ParamField>

### Response

<ResponseField name="wallet" type="string">
  Your wallet address.
</ResponseField>

<ResponseField name="free_tier_remaining" type="number">
  Calls remaining in free tier.
</ResponseField>

<ResponseField name="free_tier_total" type="number">
  Total free tier allowance (100).
</ResponseField>

<ResponseField name="free_tier_used" type="number">
  Calls already used.
</ResponseField>

## Example

<CodeGroup>
  ```bash curl theme={null}
  curl https://api.memoclaw.com/v1/free-tier/status \
    -H "x-wallet-auth: 0xYourWallet:1699900000:0xSignature..."
  ```

  ```javascript JavaScript theme={null}
  const timestamp = Math.floor(Date.now() / 1000);
  const message = `memoclaw-auth:${timestamp}`;
  const signature = await wallet.signMessage(message);

  const response = await fetch("https://api.memoclaw.com/v1/free-tier/status", {
    headers: {
      "x-wallet-auth": `${wallet.address}:${timestamp}:${signature}`,
    },
  });
  ```

  ```python Python theme={null}
  from memoclaw import MemoClaw

  client = MemoClaw()  # auth is handled automatically
  status = client.status()
  print(f"Remaining: {status.free_tier_remaining}/{status.free_tier_total}")
  ```
</CodeGroup>

```json Response theme={null}
{
  "wallet": "0x1234...abcd",
  "free_tier_remaining": 87,
  "free_tier_total": 100,
  "free_tier_used": 13
}
```
