~/.kinetic/config.toml. kinetic config get prints the values the device is using. kinetic config set <path> writes one of them. Secrets are stored encrypted, and kinetic config set prompts for them so they do not land in shell history.
Changing a claim input after the device is claimed does not change the chain. The chain wins. See State.
chain
[chain] is off until quickstart, or kinetic config set chain.enabled true, turns it on.
per_tx_cap must be less than or equal to daily_cap at claim time. After claim, change caps with /limits, not by editing these two keys.
marketplace
The device calls
{url}/api/agent/listings. Details are in Data listing.
records
An empty list turns recording off. Each field is a table:type is string, number, boolean, object, or array. required defaults to true. Names are letters, digits, and underscores, cannot start with a digit, are at most 64 characters, and must be unique. kinetic plugin install replaces this whole list from the package’s records.example.toml.
Stored lines go to ~/.kinetic/records/operations.jsonl. The path is derived from the install directory. It is not a config key.
peripherals
With no[peripherals] table, the daemon listens for an ESP32 on /dev/ttyUSB0 and for a Pico, Nucleo, and Arduino on /dev/ttyACM0, at 115200 baud. Setting boards replaces that list, including when the list is empty.
transport is serial, native, or websocket. native is local GPIO, used with rpi-gpio.
Plugins and SOPs
Plugins are discovered from~/.kinetic/plugins when plugin discovery is on, which is the default. Each installed package gets a [[plugins.entries]] row. Egress grants and plugin config live on that row:
~/.kinetic/sops. A package install copies sop/ to <sops_dir>/<name>/ and leaves an existing directory in place.
kinetic config schema prints every other key the runtime accepts, including channels, providers, and memory. Quickstart writes the Telegram bot token and the model provider for you.