Agents Tutorial
01 / 21
Sui Basecamp 2026 · Marina Bay Sands, Singapore · Oct 7–8

Agentic Workshop

From binary to agents — how software gets built, and where AI takes it next.

Take it with you.
OpenRouterSuiSuiNSWalrus Memory

Arrow keys, or swipe →

Contents
Before we start

A quick show of hands.

Count the hands in the room. Enter a number for each group to update the chart.

Connecting to the participant count…
Percentage of participants
Vibe-coding
High-level languages
Low-level languages

Waiting for participants to open the QR link.

Total updates automatically from QR arrivals. Each browser is counted once; repeat scans do not add participants. Groups can overlap, so percentages may add up to more than 100%.

01

The evolution of software.

Every layer of software is built on the one beneath it. Four of them, stacked — from the machine at the bottom to plain language at the top.

000 · 1

Binary

Every computer, at bottom, only understands two states: on and off — written as 0 and 1, bits grouped into bytes. Every program that has ever run was binary at some point.

01Assembly · C

Low-level languages

Assembly and C let you write closer to what the machine actually does. You manage memory yourself — no safety net. Fast and precise, but every detail is your responsibility.

02Python · JavaScript · Java

High-level languages

Languages that read closer to English than to machine code. The language handles memory, so you focus on logic. A trade: some speed and control, for a lot of speed writing it.

03plain language

Vibe-coding

Describe what you want in plain language; the AI writes the code — and decides the syntax, the structure, even the language. Another layer of abstraction: the same evolution, one step further.

Four layers, one evolution.

Each layer hides the one below it. Vibe-coding doesn't replace the others — it sits on top of them, the way Python sits on top of C, and C sits on top of binary.

“Maybe in ten years, talking to an AI will feel just as outdated. Maybe we'll just think, and a product appears.” — on where this evolution might go
02

Building an agent.

A local TypeScript program with tools for a Sui wallet, identity and memory. OpenRouter selects tools when needed; the application validates calls and displays verified results.

What is an agent?

…then observe again

02 / THE WORKSHOP STACK

One agent. Four building blocks.

01 / REASONING

OpenRouter

Hosted model access for tool selection. The agent runs locally; no model download or GPU is needed.

02 / WALLET

Sui

Create a local Ed25519 wallet and read testnet balances through the Sui SDK. Keys stay in the local application.

03 / IDENTITY

SuiNS

Resolve a name to an address and read the wallet’s on-chain default name.

04 / MEMORY

Walrus Memory

Use MemWal to remember and recall facts across restarts, with a configured account and delegate.

02 / SETUP

Start with the tutorial.

Install Git and Node 22.22.2 or newer. With nvm installed, run:

git clone https://github.com/justbiar/suibasecamp.git
cd suibasecamp
nvm install
nvm use
./setup.sh

Edit the generated .env locally: add OPENROUTER_API_KEY, keep SUI_NETWORK=testnet, and choose a tool-capable OPENROUTER_MODEL (tutorial default: openrouter/free).

npm run agent
/doctor

Local slash commands also work without an API key. Model availability depends on the provider.

Read the result. Know the source.

Create a wallet, then read its balance. The CLI renders verified tool data rather than model-written balances.

/wallet create
/balance

# Illustrative result — your balance will differ
Tool > get_balance
Verified tool data > get_balance
  network: testnet
  balanceSui: "0.689"

Use the official Testnet faucet for test tokens. The current agent supports wallet creation and reads; transfers and swaps are future work.

03

An identity. A memory.

Give your agent a name on SuiNS, then teach it a fact it can recall after a restart. Sui provides chain state; Walrus Memory provides persistence.

03 / SUINS IDENTITY

A name connected to your wallet.

Register a name on SuiNS Testnet, point it at your generated wallet address, and set that address’s default name.

/resolve yourname.sui
/identity

AGENT_SUINS_NAME only sets the expected name. It does not register a name or change the on-chain identity. An unset name returns NOT_FOUND.

03 / WALRUS MEMORY

Teach it. Restart it. Ask again.

Configure MEMWAL_ACCOUNT_ID and MEMWAL_PRIVATE_KEY (an authorized delegate key) in .env. Keep MEMWAL_NAMESPACE stable and run npm run doctor.

/remember My workshop project is a Sui travel assistant.
/exit
# Back in your terminal
npm run agent
# In the restarted agent
/recall What is my workshop project?

Wait for confirmed persistence before restarting. The relayer receives plaintext and handles embeddings and Seal encryption before Walrus storage. Storage lasts for funded epochs.

03 / SHARE YOUR AGENT

Give your agent a place here.

Once wallet reads, identity and memory work, register a profile in the workshop’s shared testnet package. Registration is a separate Sui CLI transaction.

01 / Build02 / Register03 / Discover

Use the registration guide to align your signer with the wallet you declare. Profiles appear after indexing; a listing is not proof of a running service.

Thank you — questions? Let's build.

Agentic Workshop — a session at Sui Basecamp 2026 by BIAR. Marina Bay Sands, Singapore · Oct 7–8.

Take it with you.