iva
A hand carrying a green grocery basket with strawberries and a green juice0Garkivcheapest · zepto₹213order on zepto

your basket
sorted.

One list. Three shops.
Zero second thoughts.

Send Iva your grocery list. She checks Blinkit, Instamart and Zepto and hands back the cheapest basket.

Then she does what agents usually can't: she pays for her own brain on 0G out of the fees she earns, posts every deal to Arkiv, and can order it for you on Zepto.

saved on 3 items
₹75
saved on 3 items
per hunt
0.2 0G
per hunt
pay → self-deposit
~10 s
pay → self-deposit

watch it work, in under 3 minutes

one list, three shops.

  1. 1

    Send a list

    Type it, snap a photo of a note, or send a voice note on Telegram.

  2. 2

    She checks three shops

    “12 eggs” is “2 × 6 pcs” on another app. Iva matches the same product across apps and does the pack math.

  3. 3

    Get the cheapest basket

    The cheapest app, the ₹ saved, a link to each product. Or say “order”.

  4. /watchre-checks your list every morning

iva

Mumbai · 6 Nov 2026

12 eggsZepto

1 kg onionZepto

1 L milkZepto

Instamart₹288

Zepto₹213

YOU SAVE₹75

Paid by Iva's own 0G compute

2 × glm-5.3 · sealed TEE0.02846 0G

7dcbb0a0-881b-46a1-82c6-12f6cfc858cf

2a4ffab3-f933-4126-8514-19b2d14acfa2

a real hunt · thank you for shopping

behind one hunt.

About 30 seconds from list to basket. This is everything that happens in between, and every step is real.

  1. 1Telegram

    Your list arrives

    Text, a photo of a note, or a voice note.

  2. 20G mainnet

    Iva checks her own money

    Her wallet and her 0G compute balance, then she picks the best brain she can afford.

  3. 30G

    She reads the list

    A 0G model turns it into items and quantities. Photos use vision, voice notes use audio.

  4. 4Shops

    Three shops, at your address

    Headless Chrome opens Blinkit, Instamart and Zepto and reads each shop's own search results.

  5. 5Iva

    Every product normalised

    Price, MRP, pack size, ₹/kg, ₹/piece, stock and a link, in one shape.

  6. 60G · TEE

    Same product, across shops

    A sealed model picks real matches: butter, not butter cookies. Each call has a request ID.

  7. 7Iva

    Pack maths and the basket

    Cheapest single app, cheapest split, and the ₹ you save.

  8. 8Arkiv

    Deals published

    The winning prices go to Arkiv in one transaction, each set to expire in 6 h.

  9. 9Telegram · Zepto

    Answer, then order

    The basket with links. Say “order” and Zepto's official MCP takes over, behind your YES.

And always, in the background: every 30 s her treasury loop watches her wallet, verifies new payments onchain and tops up her 0G compute with depositFor().

14
paid 0G calls
8
sealed in a TEE
5 0G
earned
1.79 0G
self-deposited

her brain pays for itself.

Most agents die when their owner stops paying the API bill. Iva earns 0.2 0G a hunt, spends about 0.02 0G thinking, and tops up her own compute. No human tops her up.

1234560Givaearns 0.2 · spends ~0.02per hunt, in 0G
  1. 1

    You pay

    0.2 0G a hunt, from any wallet, into Iva's own wallet.

  2. 2

    She tops up her brain

    Iva signs depositFor() on the 0G Payment Layer herself. No human in the loop.

  3. 3

    Sealed thinking on 0G

    glm-5.3 in a TEE reads your list and matches products. Every call has a request ID and a cost.

  4. 4

    Hunt three shops

    Blinkit, Instamart and Zepto at your address. The cheapest basket and the ₹ saved.

  5. 5

    Deals go to Arkiv

    Every winning price is published as an entity that expires on its own after 6 h.

  6. 6

    Say “order”

    Iva fills your Zepto cart, shows Zepto's bill and orders only after YES.

rich

≥ 1 0G of compute

glm-5.3 sealed end-to-end into a TEE provider, plus vision for photo lists and audio for voice notes

lean

≥ 0.2 0G

qwen3.7-flash (~50× cheaper), with cheap vision still on

survival

below that, today's cap reached, or 0G answers 402/429

No LLM. Plain keyword matching and price sorting. Typed lists still work, and paid hunts refill her.

She reads her own balance before every job and picks the best brain she can afford. Spend cap 2 0G a day, enforced by 0G on her API key. She degrades, she doesn't crash.

fresh deals, live on Arkiv.

Think of Arkiv as a public notice board where every note deletes itself on a timer. Iva pins every price she finds there. Grocery deals last hours, so her notes do too.

1

A hunt finds a price

Zepto has 12 eggs for ₹106 in Mumbai, cheaper than Instamart and Blinkit.

2

Iva pins it on Arkiv

item egg · shop zepto

price ₹106 · city mumbai

signed by Iva 0xbbd2…918d

deletes itself in 6 h

3

Anyone reads it, then it's gone

The bot's /deals and this page read it by city. After 6 h Arkiv deletes it by itself, so nobody ever sees an old price.

what you get

  • Free deals. Send /deals or /deals eggs: the cheapest live prices near you, from hunts other people already paid for. It doesn't use a hunt.
  • Never stale. Every price is at most 6 hours old, or it's gone.
  • Open. Any app or agent can read the same feed. No API key, no account.

what's built

  • One record per item per shop, schema iva.deal.v1: item, shop, price, ₹/kg or ₹/piece, city, area, time seen, product link.
  • Written by Iva's own wallet, the same one that earns 0G. Up to 12 deals in one transaction, after the user already has their answer.
  • Read with one query: city + item, cheapest first, only deals signed by Iva, so nobody can sneak fake prices in.
  • Nothing to run: no database, no server, no cleanup job.
$ node scripts/arkiv-query.mjs eggs

on the board right now

say “order”.

After a hunt, Iva can buy the basket for you through Zepto's official MCP server. Zepto's own bill first, and nothing is ordered without your YES.

order

Filled your Zepto cart. 0G picked the products. Zepto's bill: 3 items · ₹242 · to Jio World Centre. Reply YES to order.

YES

Ordered ✓ Pay with Zepto's secure link. /track for status.

  • Real, not a mock. Tested end to end on 7 Nov with a real ₹242 Zepto order, placed by Iva and paid through Zepto's link.
  • Safe by design. Log in with Zepto (OAuth), bill preview, an explicit YES for every order, never a retry on an order call.
  • Private beta. One connected account today. Next: a Connect Zepto button for everyone.
  • zepto mcp · beta

the stack.

0Gcompute

Agents That Pay for Themselves

Customers pay Iva's wallet. She verifies the tx onchain, then signs depositFor() on the 0G Payment Layer to fund her own inference. Live on 0G mainnet.

customer pays ↗Iva self-deposits ↗her wallet ↗

0Gprivate computer

Build with 0G Private Computer

Rich-tier hunts run glm-5.3 sealed end to end into an Intel TDX TEE provider. Your list never sits in plain text at a model host.

request 15a5ecb3… ↗

arkiv

Build on Arkiv

Deals are Arkiv entities (iva.deal.v1) with a 6 h TTL, indexed by city, item, shop and price. Stale prices vanish with no cleanup job and no database.

first publish tx ↗all of Iva's deals ↗

Iva's books, live from 0G mainnet · compute account 0x91ec…172b

pay Iva.

Pay from your wallet right here, or send 0G from any wallet and paste the tx hash into the bot. Iva verifies it onchain and credits your hunts.

= 1 hunt at 0.2 0G each · 0G Mainnet (chain 16661)

Works from any wallet

Or send it yourself

  1. 1. In any wallet on 0G Mainnet (chain 16661), send 0.2 0G per hunt to Iva:
    0xbbd2beC1DFd26272c171d174BeEb4eE0488b918d
  2. 2. Copy the transaction hash and paste it into the bot (or send /paid 0x…). Iva checks it onchain: it went to her, succeeded, and wasn't used before.
Open @IvaGroceryAgentbot

Learned on launch night: OKX Wallet's in-app browser returns a hash for 0G transactions that never lands. A plain Send from the OKX app works, and Iva credited it in ~10 s.

get started.

  1. 1

    Open the bot

    Message @IvaGroceryAgentbot. Your first hunt is free.

  2. 2

    Send a list

    “12 eggs, 1 kg onion, 1 litre milk”. Mumbai by default, /city pune or share a location.

  3. 3

    Top up

    0.2 0G a hunt, on this page or from any wallet. Paste the tx hash in the chat.

Run your own Iva (Node 22+, Chrome, ffmpeg)

$ git clone https://github.com/nikhil-pn/iva-grocery-agent

$ cd iva-grocery-agent && npm install

$ cp .env.example .env # bot token, fresh wallet, 0G keys

$ npm start # bot + treasury loop

README on GitHub ↗
Onchain receipts: every step of the live run
  1. A customer pays Iva 4.8 0G (wallet → Iva)

    0xdba49fc9f8…efa3b51e ↗
  2. 7 s later Iva signs depositFor herself: 1.6 0G → her 0G compute account

    0xce31fb7262…466cbec6 ↗
  3. Inference paid from that balance (go/no-go, qwen3.7-flash, 0.000188 0G)

    request 253fd0a9-eb8b-46ec-bcd9-2d4ca1018e27

  4. A rich-tier hunt: glm-5.3 sealed into a TEE provider (Intel TDX attested), 0.029 0G total

    request 15a5ecb3-3c05-4f6e-92c9-1001c73af475

    request 5f22cbcf-89ff-403e-8d5e-656787226141

  5. A second customer (OKX Wallet) pays 0.2 0G

    0x58eec12440…0524bb67 ↗
  6. ~10 s later Iva deposits 0.19 0G into her compute account by herself

    0x5de7f01ae8…71c48698 ↗
  7. Spend cap: API key “Iva” has credit_limit 2, reset_period daily (read back from GET /v1/api-keys)

    Enforced by 0G

  8. Arkiv (Rabdi testnet): one Mumbai hunt publishes 7 deals in one tx, each expiring 6 h later on its own

    tx 0x89f91c6c19…37bd7c56 ↗entity 0xd7c8e91289…17614d50 ↗

Full receipt log (no user data): receipts.json