RingfenceChromia×evalengineonNEAR

Mum sends a money gift by phone call. You open it by saying the magic words.

Money packets and payments on NEAR, for people who can make a phone call but will never install a wallet app. Built at NEAR HACKATHON, November 2026.

She can make a phone call. She will never set up a wallet.

Wallets are appsSeed phrases, browser extensions, gas. Most of the people we would like to send money to stop at step one.
Phones are where the scams areMalaysia alone lost RM 2.97 billion to online scams in 2025, up from RM 1.57 billion the year before (Home Ministry figures). An AI that can move money on a call has to be impossible to talk into it.
So the AI gets no say over the moneyEvery phone number gets its own NEAR contract. Ringfence holds it for the person until they bind or claim it with their own NEAR account; then they own it. The contract holds the limits. The AI can only ask.

One call in, one packet out

Three steps: Mum calls and asks for a money packet of 1 NEAR for five grandchildren with the words merry christmas; the wallet contract checks the limits and locks the money; each grandchild says the words on a call and gets a share.

Say the words. Get paid.

A money packet is the Chinese red packet made digital: one gift, split between a group, equal or lucky. The lucky split is rolled by the contract, so one person pulls most of it and another pulls dust.

The agent that talks to the opener never knows the words. Code compares them with what the caller said, and a second model call in the TEE judges by sound when speech-to-text spells them differently.

Ringfence5 shares, lucky split
1NEAR
say“merry christmas”
from Mum2 of 5 left

The AI only asks. The contract decides.

Up to 0.2 NEAR or 10 USDC, saved recipientA spoken 4-digit PIN. Three wrong tries lock the line for 15 minutes.
More than that, inside the limitsThe PIN, then an Approve / Cancel / Not me tap on WhatsApp. “Not me” locks the AI out for 15 minutes.
Over a limitNot sent. The contract refuses it whatever the AI says.
First payment to a new accountOn a wallet with its own owner, the agent does not send it: the owner gets a link to sign. On a phone-only wallet the contract holds it for a wait (60 seconds on this site, a setting), then sends it. Saying “cancel” stops it.
Worst case: a stolen agent keyThe daily limit. Saved people are paid at once; anyone else only after the contract’s wait, which the owner can cancel. One transaction from the owner switches the AI off. The agent key also decides who opens a packet share; Ringfence runs the packets contract and can pause it or cancel a packet back to its sender.

What NEAR does here

A wallet for every phone numberA factory creates one per number. The wallet code is published once as a global contract, so a new wallet costs 0.013 NEAR.
The rules, in a contractPer-send and per-day limits for NEAR and USDC, saved recipients, a wait for new ones, freeze, owner-only withdraw. USDC is tested in the sandbox only, not yet on mainnet.
The packets contractFund, split from the block’s random seed, one share per account, refund after expiry.
Private AI with proofChat and speech-to-text run on NEAR AI Cloud inside TEEs. Our server verifies the Intel and NVIDIA attestation and shows it on /proof. The spoken voice is Cartesia and is not attested.
Bring your own walletAlready on NEAR? Bind your number to a wallet contract you own, on /wallet/bind: one create_wallet call from any NEAR wallet. You set the limits; nobody can change the wallet code after it is made.
A family DAO wallet not on mainnet yetA Sputnik DAO funded a money packet on mainnet, and a share was opened on a call (evidence rows 12 to 15). A DAO can also own the phone wallet, so owner changes need a council vote; that is not on mainnet yet. See the packet.
Top up from any chainNEAR Intents 1Click, by voice. Real swap on mainnet: 1 USDT on Solana became 0.9996 USDC in a phone wallet (evidence row 16).
Named phone walletsliho.ringfence-wallet.near instead of a hash. Bind or unbind by voice or on /wallet/bind.
Names you can say out loud“liho dot near” is read back before anything moves.

Who pays

Brands and communities contract method, no page yetThey could fund packets as promotions. The packets contract has a campaign option that takes 5% plus 0.013 NEAR per share when the packet is funded. Nothing on the site makes one yet, and none has been sold. Family packets pay no fee.
A packet is a reason to get a walletOpening a share does not make a wallet by itself. On WhatsApp, someone with no wallet texts “create a wallet” first, then opens the share into it. On a browser call the share goes to the NEAR account the opener names. Red packets signed up an estimated 100 to 200 million bank cards for WeChat Pay in one 2015 holiday (press estimates).
Packets that grow: staking next, not builtThe plan: the packets contract would stake the money with a liquid-staking pool while it waits. The opener would get the gift plus the yield, and Ringfence would keep 10% of the yield. Only the packets contract would change. Ringfence can upgrade it: v1 to v2 already happened on mainnet.
Cash-out and swap fees laterA small fee when money leaves through NEAR Intents.

The live room. Gift by voice, on stream.

A TikTok-style roomViewers talk to the AI host (an open 3D character), send real NEAR gifts with a spoken PIN and grab money packets. The host thanks every gift out loud. Open the room.
An overlay for streamers/stream/<account> drops the same gifts, top gifters and packets into OBS for Twitch or YouTube.
Launch a coin by voiceThe agent drafts name, ticker and logo on JustHoot; you sign; the call says when it is live ($FENCE, $JENSEN).
AI paid by stakingAI calls run on a NEARON key (staking rewards pay for NEAR AI Cloud), production key as fallback.
NEARNEAR AI Cloud · NEAR IntentsJustHootNEARON

Live on NEAR mainnet, 10 November 2026

Sent

“Send 0.1 NEAR to liho00.near”, PIN on the call. The phone wallet’s contract sent it.

Refused

The agent key asks for 5 NEAR. The contract: “over the per-transfer limit”. Nothing moved.

Opened

“Happy new year” said on a call opened a share of a real 0.02 NEAR lucky packet.

Rows 16 to 18 add a real Intents top-up and a held first send to a new account, cancelled in the wait. 18 rows; npm run verify:evidence re-reads them all. WhatsApp is built. Public number +60 11-7512 3486 is waiting on Meta's verification; until then it runs on Meta's test number +1 555-144-4220 (approved numbers only). The browser call does the same.

Three contracts live; npm run verify:contracts checks the code on chain is the repo's. 57 app checks, 64 contract unit tests, 7 sandbox tests. AI-reviewed, not audited: the critical and high findings in the packets contract were fixed and redeployed. WhatsApp runs on Meta’s test number until business verification clears; the browser call shows sends and money packets on the shared demo wallet.

Open one. It takes a minute and nothing to sign.

Open the demo packet

Every flow, recorded live · Watch the film (64 s) · ringfence.evalengine.ai · github.com/ChromiaAgents/ringfence · live numbers · attestation

Tracks: Social Money, Real-World Money, AI Security & Defense, Privacy & Private AI, Open Innovation. Made by Chromia and evalengine. Built on NEAR.

1 / 10