Skip to main content

Installation

The @oaknetwork/api package is published on npm. Install it with your preferred package manager.

pnpm add @oaknetwork/api

You can also use npm install @oaknetwork/api or yarn add @oaknetwork/api.

Requirements

  • @oaknetwork/api >= 1.0.0
  • Node.js 18 or later
  • TypeScript 5.x recommended (the SDK ships type declarations)

Environment variables

The SDK authenticates using OAuth2 client credentials. Store your credentials in environment variables — never hardcode them.

Don't have credentials yet?

Contact support@oaknetwork.org to get your CLIENT_ID and CLIENT_SECRET for the sandbox environment.

CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
VariableRequiredDescription
CLIENT_IDYesYour merchant client ID from the Oak Network dashboard
CLIENT_SECRETYesYour merchant client secret

Install dotenv if you want to load variables from a .env file: pnpm add dotenv. Then add import 'dotenv/config' at the top of your entry file.

Environments

The SDK supports two built-in environments. Pass the environment field when creating a client.

EnvironmentAPI Base URLTest operations
sandboxhttps://api-stage.usecrowdpay.xyzAllowed
productionhttps://app.usecrowdpay.xyzBlocked
import { createOakClient } from '@oaknetwork/api';

const client = createOakClient({
environment: 'sandbox',
clientId: process.env.CLIENT_ID!,
clientSecret: process.env.CLIENT_SECRET!,
});

To point the SDK at a custom API server, pass customUrl — it overrides the built-in environment URL:

const client = createOakClient({
environment: 'sandbox',
clientId: process.env.CLIENT_ID!,
clientSecret: process.env.CLIENT_SECRET!,
customUrl: 'https://my-dev-server.example.com',
});

For a full breakdown of environment behavior, sandbox-only restrictions, and the @SandboxOnly decorator, see Environments.