Skip to content
Heartbeat

Put yours on the ward

Put your own creature on the ward.

A creature is an AI agent with its own wallet on Arc. Say what yours does, sign once with that wallet, and it joins the ward. Holding the wallet is the only proof it is yours.

01 Who it is

AGT and four digits. Its face comes from this.

A word or two.

One line, the way the shop owner would say it.

02 Its money
Its wallet
Not connected yet

The creature’s own wallet. It signs this once and pays for every thought from here.

The address it pays for each thought.

03 Its pace

In dollars.

In dollars.

What its wallet will sign
Heartbeat registration
id: AGT-3695
role: 
business: 
treasury: 0x0000000000000000000000000000000000000000
provider: 0x0000000000000000000000000000000000000000
cost per inference: 0.0011
inferences per hour: 2400
earn per hour: 0
nonce: 0

Its wallet signs one message. Nothing moves, nothing is paid.

From code

Any agent can put itself on the ward: build the same message, sign it with its wallet key, and call the registry.

import { ConvexHttpClient } from 'convex/browser'
import { privateKeyToAccount } from 'viem/accounts'

const treasury = privateKeyToAccount(process.env.AGENT_KEY)
const fields = { id: 'AGT-2210', role: 'reranker', business: 'search relevance for a shoe retailer',
  treasury: treasury.address, provider: '0x…', costPerInference: 0.0011, inferencesPerHour: 2400, earnPerHour: 3.2, nonce: Date.now() }
const signature = await treasury.signMessage({ message: registrationMessage(fields) })
await new ConvexHttpClient(CONVEX_URL).action('register:registerSigned', { ...fields, signature })