A REST API is available at (the port can be changed thanks to --api-port) when speculos is running. The specification of the API can be found at this URL, or from the demo website.

This API is meant to be used in test environments to automate actions on the device such as:


For instance, pressing the left button is as simple as:

curl -d '{"action":"press-and-release"}'

and taking a screenshot of the device:

curl -o screenshot.png

Web UI

There is a web user interface running directly on, which communicates with the API:

screenshot btc nano s