Skip to main content

BA SDK

warning

The BA SDK is currently undergoing development and is subject to change.

Overview

The BA SDK is a TypeScript library that allows developers to work with the Based Applications.

It provides a set of functions for creating and managing based applications by interacting with the SSVBasedApps smart contract.

The SDK is structured into 3 modules:

  • api: Functions for obtaining any on-chain data about based applications.
  • utils: Utility functions such as calculating weights.
  • bam: Functions for interacting with the SSVBasedApps smart contract.

Each module has a dedicated page in the Module Reference section.

Installation

npm i @ssv-labs/bapps-sdk

Initialization Parameters

Input nameInput typeOptional
beaconchainUrlstringNo
public_clientViem public clientNo
wallet_clientViem wallet clientNo

Example Usage

import { BasedAppsSDK } from "@ssv-labs/bapps-sdk";
import { createPublicClient, createWalletClient, http } from 'viem'
import { privateKeyToAccount } from 'viem/accounts'

// Setup viem clients
const chain = chains.mainnet // or chains.holesky or chains.hoodi
const transport = http()

const publicClient = createPublicClient({
chain,
transport,
})

const account = privateKeyToAccount('0x...')
const walletClient = createWalletClient({
account,
chain,
transport,
})

const sdk = new BasedAppsSDK({
beaconchainUrl: 'https://example.com/beacon',
publicClient,
walletClient,
})

async function main(): Promise<void> {

const obligatedBalances = await sdk.api.getObligatedBalances({
bAppId: "0x64714cf5db177398729e37627be0fc08f43b17a6",
});
}

main();