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.