# BTCVanity API Documentation

Source: https://www.btcvanity.io/docs/api

Updated: 2026-11-05

Submit a Bitcoin pattern through the site, follow its status and retrieve a verified result.

Base URL: https://www.btcvanity.io

## Before you integrate

The same-origin site API requires a fresh Turnstile token with action generate for every new search. The server gateway credential is never exposed to the browser.


## Start a job

POST /api/start-job accepts one prefix or suffix, caseSensitive and turnstileToken. Patterns contain 1–8 Base58 characters.


```sh
{"prefix":"A","caseSensitive":false,"turnstileToken":"fresh-token"}
```


## Check the job status

GET /api/check-status?id=JOB_ID. Poll no more often than every five seconds. A completed result contains address, privateKey and generationTimeMs. Keep job IDs private.


```sh
{"status":"pending","jobId":"example-job-id"}
```


## Cancel a search

POST /api/cancel-job with JSON id. Wait for cancelled status; a cancellation request is not proof the worker has stopped.


## Handle errors and uncertain requests

Handle invalid input (400), failed verification or origin checks (403), capacity limits (429) and provider errors (502/503). Do not automatically retry an uncertain start request.


## Handle results securely

Keys are generated on the server-side worker. Do not log private keys or send them to analytics, URLs or notifications. Save a successful result promptly.

