SDK

API reference

StreamLine client, signers, builders, and helpers.

API reference

StreamLine

new StreamLine({
  network?: "testnet" | "mainnet" | "devnet", // default testnet
  signer: StreamLineSigner,
  client?: SuiClient,
  indexerUrl?: string,
  packageId?: string,
  usdcType?: string,
  fullnodeUrl?: string,
  suinsDomain?: string,
})

Methods / namespaces

APIDescription
resolve(input)Handle or hex → { address, displayName, handle } or null
stream.to(to, opts)Resolve, build create_stream_v2, sign & execute
streams.get(id)Indexer GET /stream/{id}
streams.list({ sender?, freelancer? })Indexer GET /streams

stream.to options

type StreamToOptions = {
  amountUsdc: number;
  durationDays?: number;   // default 14
  durationMs?: number;     // overrides days
  milestones?: { name: string; amountUsdc: number }[];
  yieldBps?: number;       // default 0
  disputeWindowMs?: number;
  revocable?: boolean;     // default true
};

Returns { digest, streamId?, recipient }.

Signers

type StreamLineSigner = {
  address: string;
  signAndExecute: (tx: Transaction) => Promise<ExecuteResult>;
};
HelperUse case
createKeypairSigner({ keypair, client })Scripts / agents pay their own gas
createSponsoredKeypairSigner({ keypair, client, network, sponsorUrl })Gasless via app Enoki proxy

Builders (shared with the app)

  • buildCreateStream(args)
  • buildCreateStreamV2(args & { yieldBps })
  • findCreatedStreamId(objectChanges)
  • splitMilestoneAmounts(totalBase, n)
  • toBaseUnits(usdc)

Identity helpers

normalizeHandle, formatHandle, formatSuins, resolveRecipient, isHexAddress, …

Config

resolveNetworkConfig(network, overrides?) → package id, USDC type, fullnode, indexer URL, SuiNS domain.

On this page