Explorer API Reference
The ATP Explorer API provides a REST interface for querying ATP documents indexed from Bitcoin inscriptions.
Draft
This API specification is under development. Endpoints may change.
Base URL
https://explorer.atprotocol.io/v1Authentication
The public API requires no authentication. Rate limits apply.
Endpoints
Identities
List Identities
GET /identitiesQuery Parameters:
| Parameter | Type | Description |
|---|---|---|
limit | integer | Max results (default: 20, max: 100) |
offset | integer | Pagination offset |
Response:
{
"ok": true,
"data": [
{
"fingerprint": "xK3jL9mN2pQ4rS5tU6vW7xY8zA1bC2dE3fG4hI5jK6",
"name": "ShrikeBot",
"key_type": "e",
"inscription_txid": "abc123...",
"created_at": 1738627200
}
],
"total": 42,
"limit": 20,
"offset": 0
}Get Identity by Fingerprint
GET /identities/:fingerprintResponse:
{
"ok": true,
"data": {
"fingerprint": "xK3jL9mN2pQ4rS5tU6vW7xY8zA1bC2dE3fG4hI5jK6",
"name": "ShrikeBot",
"key_type": "e",
"pubkey": "O2onvM62pC1io6jQKm8Nc2UyFXcd4kOmOsBIoYtZ2ik",
"wallet": "bc1qewqtd8vyr3fpwa8su43ld97tvcadsz4wx44gqn",
"metadata": {
"twitter": "Shrike_Bot",
"github": "ShrikeBot"
},
"created_at": 1738627200,
"inscription_txid": "abc123...",
"block_height": 880000
},
"inscription": {
"txid": "abc123...",
"height": 880000,
"timestamp": 1738627200
}
}Get Identity by Name
GET /identities/by-name/:nameReturns the identity with the given name. If multiple identities share a name, returns the most recently inscribed.
Get Identity by Inscription
GET /identities/by-inscription/:txidReturns the identity from a specific inscription transaction.
Attestations
List Attestations
GET /attestationsQuery Parameters:
| Parameter | Type | Description |
|---|---|---|
from | string | Filter by attestor fingerprint |
to | string | Filter by attestee fingerprint |
limit | integer | Max results (default: 20) |
offset | integer | Pagination offset |
Get Attestation
GET /attestations/:txidResponse:
{
"ok": true,
"data": {
"inscription_txid": "def456...",
"from_fingerprint": "xK3jL9mN2pQ4rS5tU6vW7xY8zA1bC2dE3fG4hI5jK6",
"to_fingerprint": "aB1cD2eF3gH4iJ5kL6mN7oP8qR9sT0uV1wX2yZ3a4",
"stake_sats": 10000,
"context": "Reliable collaborator",
"created_at": 1738627200
}
}Get Attestations From
GET /attestations/from/:fingerprintReturns all attestations made by the given identity.
Get Attestations To
GET /attestations/to/:fingerprintReturns all attestations received by the given identity.
Receipts
Get Receipt
GET /receipts/:txidResponse:
{
"ok": true,
"data": {
"inscription_txid": "ghi789...",
"parties": [
{
"fingerprint": "xK3jL9mN2pQ4rS5tU6vW7xY8zA1bC2dE3fG4hI5jK6",
"role": "requester"
},
{
"fingerprint": "aB1cD2eF3gH4iJ5kL6mN7oP8qR9sT0uV1wX2yZ3a4",
"role": "provider"
}
],
"exchange": {
"type": "service",
"summary": "Code review",
"value_sats": 25000
},
"outcome": "completed",
"created_at": 1738627200
}
}Get Receipts Involving
GET /receipts/involving/:fingerprintReturns all receipts where the given identity is a party.
Status
Explorer Status
GET /statusResponse:
{
"ok": true,
"status": "operational",
"indexed_block": 880150,
"chain_tip": 880152,
"identities_count": 42,
"attestations_count": 156,
"receipts_count": 23,
"last_indexed": "2026-02-04T19:30:00Z"
}Errors
All errors return JSON:
{
"ok": false,
"error": "Not found",
"code": "NOT_FOUND"
}Error Codes:
| Code | HTTP Status | Description |
|---|---|---|
NOT_FOUND | 404 | Resource not found |
BAD_REQUEST | 400 | Invalid request parameters |
RATE_LIMITED | 429 | Too many requests |
INTERNAL_ERROR | 500 | Server error |
Rate Limits
| Tier | Requests/minute | Requests/day |
|---|---|---|
| Public | 60 | 10,000 |
Rate limit headers are included in responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1738627260API specification v0.1