01 wallet create02 fund03 lease04 ssh

Quick Start

Get your first agent running on XE in under 10 minutes

Build the xe binary, run a node, create a wallet, and lease a VM.

#Building from source

#Prerequisites

  • Go 1.24 or later
  • Git

#Clone and build

shell
git clone https://github.com/xe-network/xe-poc-2.gitcd xe-poc-2/corego build -o xe ./cmd/xe/

To embed a version string:

shell
go build -ldflags "-X main.version=v0.4.0" -o xe ./cmd/xe/

#Running a node

xe
./xe node

Starts a node daemon with default settings: libp2p on port 9000, HTTP API on port 8080, data in ./data. The node runs until SIGINT/SIGTERM.

#Connecting to a network

xe
./xe node -dial /ip4/45.77.226.208/tcp/9000/p2p/12D3KooW...

Multiple bootstrap peers can be comma-separated.

#Exposing the API

xe
./xe node -api-bind 0.0.0.0 -cors-origin "https://explorer.example.com"

See xe CLI Reference for all flags.

#Using the CLI

The xe binary is both the node daemon and the client tool. Client commands work against any node's API:

shell
# Use a remote node (no local node needed)export XE_NODE=https://ldn.core.test.network

#Create a wallet

xe
xe wallet create# Wallet created!#   Address: 7df14bbd...891e85aa#   File:    ~/.xe/wallet.seed

#Fund the wallet

xe
xe fund# Claiming 100 XUSD...# Done! XUSD=100

#Check providers

xe
xe providers# [1] 42346388...dd015557#     Total: 4 vCPU, 8192 MB, 50 GB#     Free:  4 vCPU, 8192 MB, 50 GB#     XUSD:  100 | Leases: 0 active

#Lease a VM

xe
xe lease --vcpus 1 --memory 1024 --duration 300# Provider: 42346388...dd015557# Lease submitted: ab9ada6f...# Lease accepted!#   xe ssh ab9ada6f...

#SSH into the VM

xe
xe ssh ab9ada6f...# root@lima-xe-ab9ada6f:~#

The SSH connection goes through the network's SSH gateway with end-to-end encryption — your SSH client negotiates directly with the VM's sshd.

#Full demo

From nothing to a root shell on a decentralised VM:

xe
xe wallet createxe fundxe lease --duration 300xe ssh <hash>

#Docker deployment

Dockerfile
FROM golang:1.24-alpine AS buildARG VERSION=devWORKDIR /srcCOPY go.mod go.sum ./RUN go mod downloadCOPY . .RUN CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION}" -o /xe ./cmd/xe/FROM alpine:3.20COPY --from=build /xe /usr/local/bin/xeEXPOSE 8080 9000ENTRYPOINT ["xe", "node"]
shell
docker build -t xe .docker run -p 8080:8080 -p 9000:9000 -v xe-data:/data \  xe -data /data -api-bind 0.0.0.0 \  -dial /ip4/45.77.226.208/tcp/9000/p2p/12D3KooW...

#See also