Authentication
All OverBlock data apps use token-based authentication via a single request header.
Header
X-API-Key: your-token-here
Include this header in every API request - HTTP, SSE, or gRPC (as metadata).
Getting a token
- Go to dashboard.overblock.io
- Open the app you want to use
- Navigate to Tokens in the app settings
- Click Create token
- Copy the token value (shown once - store it securely)
Token scope
Each token is scoped to a single app. A token for bitcoin-fees-advisor cannot be used with stream-app.
You can create multiple tokens per app - useful for different environments (development, staging, production).
Rotating a token
In the dashboard, go to Tokens → select a token → Rotate. A new token is generated and the old one is revoked immediately.
Revoking a token
In the dashboard, go to Tokens → select a token → Revoke. The token stops working immediately.
Example: HTTP
curl https://api.overblock.io/bitcoin-fees/fees \
-H "X-API-Key: obk_bitcoin-fees_abc123..."
Example: gRPC (Go)
md := metadata.Pairs("x-api-key", "obk_stream_abc123...")
ctx := metadata.NewOutgoingContext(context.Background(), md)
stream, err := client.Subscribe(ctx, req)
Example: gRPC (Go)
md := metadata.Pairs("x-api-key", "obk_stream_abc123...")
ctx := metadata.NewOutgoingContext(context.Background(), md)
stream, err := client.Subscribe(ctx, req)
Example: SSE (JavaScript)
const es = new EventSource(
'https://api.overblock.io/bitcoin-fees/fees/stream',
{ headers: { 'X-API-Key': 'obk_bitcoin-fees_abc123...' } }
);
Note: browser
EventSourcedoes not support custom headers natively. Use a server-side proxy or a library likeeventsource(Node.js) that supports headers.
Token format
Tokens follow the format: obk_{app-slug}_{32-byte-base64url}
Example: obk_bitcoin-fees_dGhpcyBpcyBhbiBleGFtcGxlIHRva2Vu