Skip to main content

Signing Requests

ChainStream uses API keys to authenticate all API calls. The Base API URL will be one of the following depending on your workspace environment type:
  • Mainnet: https://api-dex.chainstream.io/
Each API request must include the following headers:
  • Authorization - This value should be set to Bearer <Access Token>. The access token is a Base64 encoded JSON Web Token (JWT).

Generating JWT Token

You can generate a JWT token using the following code:

JavaScript

import { AuthenticationClient } from 'auth0';

const auth0Client = new AuthenticationClient({
    domain: `dex.asia.auth.chainstream.io`,
    clientId: 'your client id',
    clientSecret: 'your client secret'
  });

const response = await auth0Client.oauth.clientCredentialsGrant({
      audience: 'https://api.dex.chainstream.io'
    });

return response.data.access_token;

Using SDKs

After generating the JWT token, you can use it to initialize the SDK:

JavaScript SDK

import { DexClient } from "@chainstream-io/sdk";

// jwtToken generated from previous step
const dex = new DexClient("your-jwt-token");
Make sure to replace the placeholder values with your actual API credentials.
I