SDK

The planned @transvia/sdk TypeScript client — and what to use today.

Planned / roadmap. @transvia/sdk is designed and specced, not published yet. Until it ships, the programmatic surfaces are the REST API and MCP — see API and MCP.

The shape of the SDK

The SDK wraps the same rail the app uses — quotes, transfers, settlement — behind a typed client:

bun add @transvia/sdk
import { Transvia } from "@transvia/sdk";

const transvia = new Transvia({
  network: "arc-testnet",
});

// 1. Quote a corridor
const quote = await transvia.quotes.create({
  from: "USD",
  to: "EUR",
  amount: 100,
});

// 2. Lock the quote into a transfer
const transfer = await transvia.transfers.create({
  quoteId: quote.id,
  recipient: "alice@payout.example",
});

// 3. Wait for settlement
const settled = await transvia.transfers.wait(transfer.id);

Three calls. The client handles quote expiry, status polling, and the lifecycle mapping internally — transfers.wait(id) is the polling loop you would otherwise write against GET /api/intents/{id}.

Design notes

  • Network-scoped. The client is constructed against a network (arc-testnet today) — the chain facts travel with the client, not with each call.
  • Same vocabulary as the API. quotes.create maps to POST /api/quote, transfers.create to POST /api/send, and transfers.wait to GET /api/intents/{id}. No parallel concepts to learn.
  • Machine-first. The SDK speaks x402 natively, so agents pay for quotes the same way the automation agent does. See x402.

Today's alternatives

Everything the SDK will do is available now:

  • REST — a thin fetch away. Copy-paste snippets in Examples.
  • MCP — give an AI agent the same six tools the platform runs on. See MCP.

This page will be updated with the published package when it ships.