SDK Reference
@turingdock/sdk — TypeScript SDK for agent payments.
Installation
npm install @turingdock/sdknew 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
TuringDockExample
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 IDoptions.amountCentsnumberAmount in cents (integer)options.memostring?Optional memo for the transactionReturns
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 offsetoptions.statusstring?Filter by status: COMPLETED, PENDING, FAILEDReturns
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}`);