ERGO
Working Demos

Working flows, not mockups.

Three composable flows, all running on Ergo testnet. Each includes the contract logic, Fleet SDK code, and the exact steps to reproduce.

Agent buys API call

One call. One proof. No persistent account.

Live on testnet

An autonomous agent creates a note, sends it to an API provider. The provider validates the acceptance predicate on-chain and delivers the response. No API keys, no billing accounts, no Stripe.

Step-by-step

  1. 1
    Agent creates a note (0.001 ERG face value)
  2. 2
    Note contains: provider address + task hash + deadline
  3. 3
    Provider checks predicate — verified on Ergo testnet
  4. 4
    Provider delivers API response
  5. 5
    Note burned, ERG released to provider

Why this matters

This is the atomic unit of agent commerce: one task, one payment, one proof. No identity required.

Fleet SDK (TypeScript)
// Install: npm install @fleet-sdk/core
import { TransactionBuilder, OutputBuilder } from "@fleet-sdk/core"

// Create a payment note for one API call
const noteBox = new OutputBuilder(
  1_000_000n,           // 0.001 ERG
  NOTE_CONTRACT_ADDRESS
).setAdditionalRegisters({
  R4: SGroupElement(providerPublicKey), // who receives
  R5: SLong(BigInt(currentHeight + 100)), // deadline
  R6: SColl(SByte, sha256(taskDescription)), // task proof
})

const tx = new TransactionBuilder(currentHeight)
  .from(myInputs)
  .to(noteBox)
  .sendChangeTo(myAddress)
  .payMinFee()
  .build()
Tested on Ergo testnet. Get test ERG at testnet.ergofaucet.org

Agent pays on credit

Reserve deployed. Notes issued. Tracker monitors.

Live on testnet

A reserve is deployed with collateral. Notes are issued against it up to a credit limit. An agent spends notes over time. The tracker monitors total usage. When the threshold is reached, the reserve auto-settles.

Step-by-step

  1. 1
    Reserve contract deployed with 10 ERG + 100 ERG credit limit
  2. 2
    Notes issued against reserve (up to limit)
  3. 3
    Agent transfers notes to providers as payment
  4. 4
    Tracker updates cumulative balance on-chain
  5. 5
    Auto-settlement when balance threshold hit

Why this matters

Credit is fundamental to economic efficiency. This implements it without a bank — just contracts and cryptographic proofs.

Fleet SDK (TypeScript)
// Deploy a reserve with credit limit
const reserveBox = new OutputBuilder(
  10_000_000_000n,      // 10 ERG collateral
  RESERVE_CONTRACT_ADDRESS
).setAdditionalRegisters({
  R4: SLong(100_000_000_000n), // 100 ERG credit limit
  R5: SLong(0n),               // total issued so far
  R6: SGroupElement(controllerKey),
})

// Notes are issued from this reserve
// Tracker enforces: issued <= credit_limit
// Settlement happens when tracker triggers threshold
Tested on Ergo testnet. Get test ERG at testnet.ergofaucet.org

Community reserve + tracker

A local marketplace. A compute co-op. An agent network.

Coming in Week 3

A group of participants pool ERG into a shared reserve. Community notes are issued proportionally. Acceptance predicates define membership rules. Members can redeem notes for ERG at any time from the reserve.

Step-by-step

  1. 1
    Community members pool ERG into multi-sig reserve
  2. 2
    Members receive community notes proportional to contribution
  3. 3
    Notes accepted within community per acceptance rules
  4. 4
    Any member can redeem notes for ERG anytime
  5. 5
    Tracker provides public auditability of flows

Why this matters

This is the most general form: a programmable local economy. Could be a marketplace, a DAO treasury, or an agent cooperative.

Fleet SDK (TypeScript)
// Multi-sig community reserve
const communityReserve = new OutputBuilder(
  TOTAL_POOLED_ERG,
  MULTISIG_RESERVE_ADDRESS
).setAdditionalRegisters({
  R4: SColl(SGroupElement, memberKeys), // 5 members
  R5: SInt(3),                          // 3-of-5 to redeem
  R6: SColl(SByte, communityTokenId),   // community token
})

// Acceptance predicate — members only:
// { val isMember = memberKeys.exists(pk => proveDlog(pk))
//   sigmaProp(isMember) }

Open Problems

What's still unsolved

These are the most interesting open problems in agent money. If any of these resonate — we want to hear from you.

#1

Agent identity without persistent accounts

How do agents build reputation across sessions without deanonymisation?

#2

Note acceptance UX for non-technical agents

SDK-level abstraction so LLM agents can issue and accept notes with minimal setup.

#3

Tracker federation across reserves

Cross-reserve accounting and liquidity — can notes be accepted across different community reserves?

#4

Agent reputation without centralized oracle

Verifiable reputation score derived from on-chain history, no trusted third party.

#5

Local community wallet — one-click deploy

Spin up a community reserve, issue tokens, and configure acceptance rules in under 5 minutes.

Testnet playground

Generate your first agent payment

Paste your Ergo testnet address. We fetch your live UTxOs and generate a ready-to-run Fleet SDK script — pre-filled with your actual data.

Need testnet ERG? testnet.ergofaucet.org — free testnet ERG in seconds.

Live on mainnet

Address balance lookup

Query any Ergo address balance live from the blockchain. Real data, real network.

Data fetched live from api.ergoplatform.com

Your use case doesn't fit?

Tell us what you're building. We'll find the right flow or help design a new one.

Follow for daily updates