Skip to main content
The first fully working E2E run landed at Sui testnet tx 5ePLsmVqcCAzFmpLz9XAQaKpsDFWbjWHJtSfkNoLUwMe. This walks through reproducing it.

Prerequisites

Step 1 — get the live coordinator’s peer_id

Every deploy generates a fresh enclave key — and therefore a fresh peer_id — so a stale value from an earlier deploy won’t dial through.

Step 2 — start the node

--advertise-url 127.0.0.1:5000 only works when the client runs on the same machine. For a remote client, expose port 5000 (ngrok or a public IP) and pass that URL so the coordinator’s response gives the client a reachable node_url.

Step 3 — client submits the request

What this exercises: the coordinator publishes InferenceRequest on /pinaivu/inference/any/1.0.0, the dialed node bids on /pinaivu/bids/1.0.0, the coordinator runs its 200ms auction window, picks the node, and signs the DispatchToken with its enclave key.

Step 4 — client posts the prompt to the node

Expected:
The node verified the dispatch token’s signature against the coordinator_pubkey it cached from /enclave_health at startup, called Ollama, built a ProofOfInference, wrapped it in a signed CompletionAck, and sent it to the coordinator over /pinaivu/completion/1.0.0. The coordinator verified every signature, signed a RoutingReceipt (BCS IntentMessage), stored it, inserted a pending row into payments, and enqueued a settlement job.

Step 5 — wait for settlement

Expected (status submitted or confirmed):

Step 6 — verify on Sui

The latest event should show request_id matching your UUID’s 16 raw bytes, payee matching your payout address, amount matching what you expected, and tx matching the digest from Step 5.

Troubleshooting