Docs / Developers

Adapter SDK

Ship a new printer, EFTPOS, scale, or drawer driver in a day.

The Adapter SDK is the contract between apps/bridge and the outside world. Three categories ship today:

  • Printer — ESC/POS, Line Mode, anything with a byte vocabulary

and a TCP socket.

  • EFTPOS — mock, Tyro iClient, Smartpay JSON-RPC.
  • Cash drawer — printer-kicked today; USB-HID coming in v2.

The contract

Each adapter exposes a factory that returns an object implementing the category interface:

export interface Printer {
  print(job: PrintJob): Promise<string>;
}

export interface EftposAdapter {
  sale(req: EftposSaleRequest): Promise<EftposSaleResult>;
  void(req: EftposVoidRequest): Promise<EftposVoidResult>;
  refund(req: EftposRefundRequest): Promise<EftposRefundResult>;
}

No framework. No DI container. A factory that takes env, returns an object, done.

Certification

We certify adapters against the SDK test harness before shipping them in the public build. See /partners/hardware-vendors for the process and commercials.