Quickstart

Get up and running with Tenzro Platform in under 5 minutes. This guide walks you through installing the SDK, configuring authentication, and making your first API call.

Prerequisites

  • A Tenzro Platform account with API access
  • Node.js 18+ (for TypeScript) or Rust 1.70+ (for Rust)
  • Your API key and tenant ID from the dashboard

Step 1: Install the SDK

TypeScript

npm install @tenzro/platform
# or
yarn add @tenzro/platform
# or
pnpm add @tenzro/platform

Rust

cargo add tenzro-platform

Step 2: Configure Environment

Create a .env file with your credentials:

TENZRO_API_KEY=tnz_yourtenant_yoursecretkey
TENZRO_TENANT_ID=your-tenant-id
TENZRO_NETWORK=devnet
TENZRO_BASE_URL=https://api.platform.tenzro.com

Step 3: Initialize the Client

TypeScript

import { TenzroPlatform } from '@tenzro/platform';

const platform = new TenzroPlatform({
  apiKey: process.env.TENZRO_API_KEY!,
  tenantId: process.env.TENZRO_TENANT_ID!,
  baseUrl: process.env.TENZRO_BASE_URL,
});

Rust

use tenzro_platform::TenzroPlatform;

// Reads TENZRO_API_KEY, TENZRO_TENANT_ID, TENZRO_NETWORK from env
let platform = TenzroPlatform::from_env()?;

// Or construct directly
let platform = TenzroPlatform::new(
    "tnz_yourtenant_yoursecretkey",
    "your-tenant-id",
)?;

Step 4: Make Your First API Call

Let's list Canton parties and check a balance:

TypeScript

// List Canton parties
const parties = await platform.ledger.listParties();
console.log('Parties:', parties);

// Get balance for a party
const balance = await platform.ledger.getBalance(parties[0].partyId);
console.log('Balance:', balance);

Rust

// List Canton parties
let parties = platform.ledger().list_parties().await?;
for party in &parties {
    println!("Party: {} ({})", party.display_name, party.party_id);
}

// Get balance for a party
let balance = platform.ledger().get_balance(&parties[0].party_id).await?;
println!("Balance: {:?}", balance);

Step 5: Handle Errors

The SDK provides typed errors for all failure cases:

TypeScript

import { TenzroError, RateLimitError, AuthenticationError } from '@tenzro/platform';

try {
  const wallet = await platform.wallet.create({ ... });
} catch (error) {
  if (error instanceof RateLimitError) {
    console.log('Rate limited, retry after:', error.retryAfter);
  } else if (error instanceof AuthenticationError) {
    console.log('Invalid API key');
  } else if (error instanceof TenzroError) {
    console.log('API error:', error.message, error.code);
  }
}

Next Steps