# Overview

Direct JSON endpoints for the Wallet Database, Token Creators and wallet activity on Solana, with one key, one header and a monthly credit quota.

The REST API gives your scripts the same data the Web App shows, without the Web App: query the Wallet Database, pull the Token Creators database, and read every swap of a wallet, all as JSON from a direct call\. No queue, no files to download\. Part of the Wallet Database \+ API plan\.

:::banner{type=info}
[Plans and what is included](/plans)
:::

## What it is for

- **The Wallet Database in your own code\.** The same query you build in the Web App, as a JSON body, returns the matching wallets\. Run it on a schedule, feed the result into your own tooling, or into the Bot API for the full metrics\.
- **Token Creators without browsing\.** Sort and page through the creators database, or read one creator's whole token history, to keep a deployer whitelist fresh without opening the app\.
- **A wallet's activity for your own analysis\.** Every swap of a wallet, paged, for a spreadsheet, a model, or an AI that reads trades\.

## Endpoints and what they cost

| Method | Path | What it returns | Cost |
| --- | --- | --- | --- |
| POST | `/wallet_database` | The wallets that match a query, and how many matched in total | 100 credits per matching address, whatever the limit |
| GET | `/wallet_database/columns` | The fields you can query on | none |
| POST | `/token_creators` | A page of creators, sorted the way you ask, with the columns you ask for | 100 credits per address returned |
| GET | `/token_creators/{address}` | One creator's track record and every token they created | 100 credits per request |
| GET | `/wallets/{address}/activity` | The swaps of a wallet, paged by cursor | 1 credit per page of up to 100 swaps |

Every call is direct: you send the request and the JSON comes back in the same response\. The Bot API, which mirrors the Discord commands, works differently: it queues the job and you poll for a file\. See [Bot API overview](/bot-api)\.

## Make your first call

Base URL `https://botapi.walletmaster.tools`\. Every request carries your key in the `api_key` header\.

```bash
curl -H "api_key: $API_KEY" https://botapi.walletmaster.tools/credits
```
```python
import requests
r = requests.get("https://botapi.walletmaster.tools/credits", headers={"api_key": API_KEY})
print(r.json())
```
```javascript
const r = await fetch("https://botapi.walletmaster.tools/credits", { headers: { api_key: API_KEY } })
console.log(await r.json())
```

That call returns your remaining credits, and it is the right first call: it proves the key works before you spend anything\. [Authentication and keys](/rest-authentication) covers the key, the IP binding and the error shapes; [Credit costs](/rest-credit-costs) covers the quota\.

## Your monthly credits

Your plan comes with 1,000,000,000 credits \(1000M\) every 30 days, reset automatically, no rollover, shared between the REST API and the Bot API\. Each call costs what its row in the table above says\. A Wallet Database query that matches 1,000 wallets costs 100,000 credits, whatever the limit, so the monthly quota is ten thousand such queries\.

> [!NOTE]
> The API is for personal use\. If you want to power a product or a service of your own with Wallet Master data, ask in the Discord server about a custom plan\.
