Skip to main content
Use idyl node join on the machine that will provide capacity. The command creates or loads the machine’s local node identity, proves ownership from that machine, requests the chosen provider admission path, and can start the local node service when the node is admitted. The node private key stays on the machine. Package installation alone does not create a node identity or start the node service.

1. Install IDYL

Node service management is supported on macOS and Linux.
Install IDYL with Homebrew Cask:
brew install --cask idyl-labs/tap/idyl
Verify the install:
idyl version

2. Log in

idyl login
Confirm the account that will own the node:
idyl whoami

3. Configure the local node

This step is optional. idyl node join can create the local node identity and config automatically. Use idyl node init when you want to set the node realm or local resource limits before joining. If you omit --realm, the node uses the active CLI context realm. You can pass --realm explicitly when the CLI has multiple contexts or initialized realms.
idyl node init --realm global.idyl.network --limit-cpu 1 --limit-memory 256Mi
Limits are safety caps: IDYL uses the lower of the machine’s detected capacity and the configured local limits. You can also set disk and GPU limits:
idyl node init --realm global.idyl.network --limit-cpu 1 --limit-memory 256Mi --limit-disk 10Gi --limit-gpu nvidia:1
Update the local node config later:
idyl node config set --realm global.idyl.network
idyl node config set --limit-cpu 2 --limit-memory 1Gi
idyl node config show
If the node service is already running, restart it for updated limits to take effect. For runtime profile selection, operating system support, containerd settings, and microVM configuration, see Configure a node.

4. Join through a fleet

Use a fleet when this node should be managed with a group of provider nodes.
idyl node join --fleet <fleet-id> --start
Output similar to:
Node identity ready.

Node ID:      idyl1abc...
Account:     550000000001 / Alice
Signed in:   [email protected]
Fleet:       391742608215 / prod
Subnet:      seti
Admission:   admitted
Service:     started

5. Join one node directly to a subnet

Use direct subnet join when the subnet should admit this specific node instead of a fleet.
idyl node join --subnet <subnet> --start
This path does not add the node to a fleet.

Pending admission

Some subnets require provider approval. If admission is pending, the node is registered but the local service is not started:
Node ID:      idyl1abc...
Account:     550000000001 / Alice
Subnet:      seti
Admission:   pending
Service:     stopped

Run after approval:
  idyl node start
After the subnet operator grants admission, start the service:
idyl node start

6. Check the local node

idyl node status
View logs:
idyl node logs
Stop the local node service:
idyl node stop
For more service lifecycle commands, see Run the node service.

7. Confirm the node is visible

Inspect connected nodes in the subnet:
idyl node get --subnet <subnet>
To include disconnected nodes:
idyl node get --subnet <subnet> --all
To watch nodes as they change:
idyl node get --subnet <subnet> --watch

Remove local node state

To remove the local service integration while keeping the node identity:
idyl node uninstall-service
To delete the local node identity and state, use reset with explicit confirmation:
idyl node reset --dangerous
Only reset a node when you intentionally want this machine to stop using its current node identity.