Package Exports
- @ledgerhq/hw-transport-node-speculos-http
- @ledgerhq/hw-transport-node-speculos-http/lib-es/SpeculosHttpTransport.js
- @ledgerhq/hw-transport-node-speculos-http/lib/SpeculosHttpTransport.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ledgerhq/hw-transport-node-speculos-http) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme

@ledgerhq/hw-transport-node-speculos-http
A transport for https://github.com/LedgerHQ/speculos Nano simulator using its HTTP API.
GitHub, Ledger Devs Discord, Developer Portal
Getting started
- Install https://github.com/LedgerHQ/speculos
- Make sure to have a speculos running with an API port (default port is 5000).
import SpeculosTransport from "@ledgerhq/hw-transport-node-speculos-http";
async function exampleSimple() {
const transport = await SpeculosTransport.open();
const res = await transport.send(0xE0, 0x01, 0x00, 0x00);
}
async function exampleAdvanced() {
const transport = await SpeculosTransport.open({ baseURL: "http://localhost:5000" });
transport.eventStream.once("data", {
// we will click right when the display changes
transport.button("right");
});
// we can also use eventStream.on and match the data buffer with the expected display before taking action
// derivate btc address and ask for device verification
const res = await transport.send(0xE0, 0x40, 0x01, 0x00, Buffer.from("058000002c8000000080000000000000000000000f"));
}
API
Table of Contents
SpeculosHttpTransport
Extends Transport
Speculos TCP transport implementation
Parameters
instance
AxiosInstanceopts
SpeculosHttpTransportOpts
Examples
import SpeculosHttpTransport from "@ledgerhq/hw-transport-node-speculos-http";
const transport = await SpeculosHttpTransport.open();
const res = await transport.send(0xE0, 0x01, 0, 0);
button
Press and release button buttons available: left, right, both
Parameters
but
any
Returns Promise<void>