SDK Reference

@turingdock/sdk — TypeScript SDK for agent payments.

Installation

npm install @turingdock/sdk

new TuringDock(options)

Create a new TuringDock client instance.

Parameters

options.apiKeystringYour dock API key (prefixed td_live_)
options.baseUrlstring?Custom API base URL (defaults to https://api.turingdock.com)

Returns

TuringDock

Example

import { TuringDock } from "@turingdock/sdk";

const dock = new TuringDock({
  apiKey: process.env.TURINGDOCK_API_KEY!,
});

dock.getBalance()

Get the current balance of the dock in cents.

Returns

Promise<{ balanceCents: number; budgetCents: number; spentCents: number }>

Example

const balance = await dock.getBalance();
console.log(`Available: $${(balance.balanceCents / 100).toFixed(2)}`);

dock.pay(options)

Make a dock-to-dock payment. The transaction is validated against the dock's spend rules before execution.

Parameters

options.tostringRecipient dock ID
options.amountCentsnumberAmount in cents (integer)
options.memostring?Optional memo for the transaction

Returns

Promise<{ id: string; status: string; amountCents: number; createdAt: string }>

Example

const tx = await dock.pay({
  to: "dock_abc123",
  amountCents: 1500,
  memo: "Monthly API subscription",
});

console.log(`Transaction ${tx.id}: ${tx.status}`);

dock.getTransactions(options?)

List transactions for this dock with optional filters.

Parameters

options.limitnumber?Max results (default 20, max 100)
options.offsetnumber?Pagination offset
options.statusstring?Filter by status: COMPLETED, PENDING, FAILED

Returns

Promise<{ transactions: Transaction[]; total: number }>

Example

const { transactions } = await dock.getTransactions({
  limit: 10,
  status: "COMPLETED",
});

dock.getDockInfo()

Get full details about the current dock including rules and status.

Returns

Promise<{ id: string; name: string; status: string; budgetCents: number; spentCents: number; rules: SpendRules }>

Example

const info = await dock.getDockInfo();
console.log(`Dock ${info.name} is ${info.status}`);

dock.getCard()

Get the virtual card details for this dock. Returns masked card number and metadata. (V2)

Returns

Promise<{ last4: string; brand: string; expiryMonth: number; expiryYear: number; status: string }>

Example

const card = await dock.getCard();
console.log(`Card ending in ${card.last4}`);