Authentication
All requests to the Stream API require a valid JWT token. Requests without a token, or with an
invalid or expired token, are rejected with a 401 Unauthorized error.
Obtaining a token
Tokens are issued from the arcfeed.finance dashboard. Navigate to API Tokens and create a new token. Copy it immediately — it is only shown once.
Sending the token
Pass the raw JWT as the value of the Authorization HTTP header on every request — no
scheme prefix:
http
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9...The pattern per language:
typescript
import { createClient } from '@connectrpc/connect';
import { createGrpcTransport } from '@connectrpc/connect-node';
import { StreamService } from '@arcfeed-dev/protobuf/gen/es/streamservice/v1/stream_pb';
// Attach the token via an interceptor on every request
const transport = createGrpcTransport({
baseUrl: 'https://stream.arcfeed.finance',
httpVersion: '2',
interceptors: [
(next) => async (req) => {
req.header.set('Authorization', 'YOUR_API_TOKEN');
return next(req);
}
]
});
const client = createClient(StreamService, transport);Keep your API token secret. Do not commit it to source control or expose it in client-side code.
Use environment variables or a secrets manager.
Token lifecycle
- Tokens do not expire automatically — they remain valid until revoked.
- Revoke tokens from the dashboard at any time.
- Each token is tied to your account’s active subscription.