📦Javascript SDK

The August Digital SDK provides a JavaScript API for August services and resources. You can use the JavaScript API to build applications or libraries for the browser or Node.js.

Current Version: v4.0.0

The August Digital SDK provides a comprehensive JavaScript/TypeScript API for interacting with August Digital vaults and services across multiple blockchain networks. Whether you're building web applications, backend services, or integrations, the SDK offers a unified interface for EVM and Solana chains.

Key Features

Multi-Chain Support

  • EVM Chains: Ethereum, Arbitrum, Base, BSC, Avalanche, and more

    • wagmi and ethers Signers are supported

  • Solana: Native Solana program support with full vault functionality

  • Unified interface across all supported chains

Comprehensive Vault Operations

  • Query all vaults or specific vault details

  • Fetch user positions and balances

  • Get loan data and allocations

  • Retrieve historical APY and TVL data

  • Track user transaction history

Transaction Support

  • Deposit assets into vaults (EVM and Solana)

  • Adapter deposits with alternative tokens (ETH, WETH, native tokens)

  • Multi-asset vault deposits

  • Request withdrawals/redemptions

  • Claim available redemptions

  • Approve token spending

Getting Started

Installation

Install the package in your project directory with:

npm install @augustdigital/sdk

Initialization

Then, initialize the SDK in your project using your August API key and various provider RPC URLs:

import AugustDigitalSDK from '@augustdigital/sdk';

const AugustSDK = new AugustDigitalSDK({
  augustKey: <AUGUST_API_KEY>
  providers: {
    <CHAIN_ID>: <JSON_RPC_URL>,
    // Mainnet Example:
    // 1: `https://mainnet.infura.io/v3/${INFURA_API_KEY}`,
  },
  keys: {
    august: 'YOUR_AUGUST_API_KEY',      // Optional: required when wanting more than high-level vault information
    coingecko: 'YOUR_COINGECKO_KEY',    // Optional: used strictly as a fallback for asset prices
  },
})

Note: the first provider in the providers object will be what network the SDK is initially connected to.

Development Mode

Enable console logging for debugging:

const sdk = new AugustSDK({
  providers: {
    1: 'https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY',
  },
  monitoring: {
    env: 'DEV', // Enables console logs
  },
});

With Solana Support

Include Solana by adding its RPC endpoint with chain ID -1:

const sdk = new AugustSDK({
  providers: {
    1: 'https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY',
    42161: 'https://arb-mainnet.g.alchemy.com/v2/YOUR_KEY',
    -1: 'https://api.mainnet-beta.solana.com', // Solana Mainnet
  },
});

TypeScript Support

The SDK is written in TypeScript and exports all types:

import { 
  AugustSDK, 
  IVault, 
  IVaultPosition,
  IVaultLoan,
  IAddress,
  IChainId,
} from '@augustdigital/sdk';

const sdk = new AugustSDK({
  providers: {
    1: 'https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY',
  },
});

// All methods return typed results
const vault: IVault = await sdk.getVault({
  vault: '0x1234...',
});

Last updated