SIGNALBOUND / SYSTEM MANUAL

The complete Signalbound system.

One source of truth for the collection, reveal, agent identity, ownership, public profiles, wallets, conversation, tools, Stock Tokens, Aerodrome LP, NFTStock, strategies, APIs, channels, deployment, and security.

IDENTITYEthereum NFT + agent rails
EXECUTIONBase, Ink, Robinhood Chain
CAPITALSwaps + LP + NFTStock
TRUST MODELVerify, never infer
01

GET ORIENTED

Quick start

Signalbound agents are NFT-linked identities that can converse naturally and, when authorized, execute tightly constrained onchain actions. Start with the path that matches your role.

Holder

Talk, inspect, confirm

Open your agent, ask naturally, inspect the quoted action, and confirm only when the assets, limits, network, and intent are correct.

Trade workflow →
Operator

Fund, enable, monitor

Fund the correct wallet on the correct chain, configure bounded permissions, then monitor receipts, balances, LP health, and recovery state.

Operations →
Developer

Discover, call, verify

Use public registration and API surfaces for discovery. Treat all state-changing responses as pending until their receipts and state changes verify.

Integration →

Capability status map

SystemImplemented modeWhat enables mutation
Collection + identityOnchain/public read and registration workflowsCurrent holder plus the relevant registry/contract transaction.
Agent chat + intelligenceWeb, managed, Telegram, and Discord surfacesHolder/channel/session context; ordinary conversation moves no funds.
Base equity swapsDeterministic quote and execution for verified marketsSwap feature gate, funded agent wallet, fresh single-use holder confirmation.
Aerodrome LPQuote, open/increase, stake, claim, fees, recenter, exit, recoveryLP gates, live agent authorization, exact policy, holder confirmation.
NFTStock RWARegistry, live facts, eligibility, mandates, proposals, paper portfolio, prepared vault transferThe holder signs a transfer of an eligible asset they already own; issuer acquisition stays external.
Strategies/venuesPaper default, testnet path, guarded mainnet pathVenue configuration and agent-specific signed live mandate.
Meridian on Robinhood ChainObserve/readiness reportNo execution path in the current strategy module.
Agent Clash ArenaSeparate application surface under developmentRelease status is owned by the Arena deployment.
Core rule

Conversation interprets intent; deterministic code authorizes, constructs, executes, and verifies financial actions. The model never receives a private key.

02

ARCHITECTURE

The mental model

1Holder intentNatural language
2Agent reasoningIntent + context
3Policy gateOwner + limits
4ExecutionExact calldata
5VerificationReceipt + state

Identity plane

The Ethereum ERC-721 anchors ownership, artwork, registration, and the Ethereum token-bound account. Ownership changes can move this identity plane with the NFT.

Execution plane

An isolated, agent-controlled operator wallet acts on Base, Ink, and Robinhood Chain. It uses the same address across these networks, but balances never cross chains automatically.

Repository architecture

contracts/ERC-721/SeaDrop collection, SSTORE2 art, renderer, attributes, trait adapter.
config/Published collection, mint-stage, site, chain, and trait configuration.
scripts/Generation, deployment, reveal, verification, registration, and synchronization tools.
website/lib/Identity, wallets, agent brain, tools, trading, LP, RWA, strategy, policy, and persistence logic.
website/api/HTTP handlers for public reads, authenticated operations, tools, MCP, and portfolios.
website/server/Web, API, Arena, operator, Discord, and Telegram service entry points.
website/js + cssPublic site, holder workspace, profiles, records, RWA, and documentation UI.
integrations/External skill and ecosystem adapters.
03

ERC-721 CORE

Collection and onchain art

Supply6,666
StandardERC-721
Home chainEthereum
Project artCC0

Signalbound is an NFT collection first. Agent protocols extend the token; they do not replace its ownership or metadata behavior. Shared art fragments are stored efficiently, while the renderer composes token metadata and SVG output from deterministic state.

  1. Sealed stateFinal combinations are not surfaced before reveal.
  2. Future-block seedA later block fixes the reveal input.
  3. Deterministic rendertokenURI(tokenId) derives DNA, loads fragments, and returns metadata with SVG.
04

COLLECTION LIFECYCLE

Mint, metadata, and reveal

Primary minting is based on the official SeaDrop-compatible ERC-721 implementation. Sale configuration, allowlist stages, public stages, per-wallet limits, payout destination, royalties, and mint availability are deployment concerns; the website must reflect contract state instead of assuming a stage is open.

GENERATESealed metadata and art inputs
DEPLOYStorage, renderer, collection
MINTSeaDrop stages and limits
REQUESTClose minting; set future block
FINALIZEFix seed; refresh metadata

Reveal safety properties

  • Reveal cannot be requested while minting is open, and cannot be finalized before the target block.
  • The target block hash is available for a limited block window; operators must finalize before it expires.
  • The final seed commits to entropy, collection address, minted count, and the contract supply boundary.
  • Before reveal, public token pages remain sealed. After reveal, metadata and SVG are generated from deterministic onchain state.
  • Shared SSTORE2 art storage can be frozen after upload so the renderer’s input set cannot be silently replaced.
Never upload a fake final collection

The project uses one sealed presentation before reveal and an onchain renderer afterward. A folder of duplicated “final” media is not the post-reveal source of truth.

05

PUBLIC PROOF

Identity rails

RailPurposeWhat it does not mean
ERC-8004Public agent discovery and registration.Discovery alone does not authorize an action.
ERC-8217Binds the agent identity to its current holder.A stale binding must not be treated as current ownership.
ERC-7496Exposes dynamic trait reads through an adapter.Traits do not grant wallet permissions.
ERC-8257Describes holder-gated tools and clearance.Tool availability does not bypass policy validation.
Public profile

Profiles may expose public addresses, registrations, capabilities, balances, positions, and verified records. They must never expose private keys, provider secrets, session material, or OAuth credentials.

06

CONTROL PLANE

Ownership, binding, and authentication

Three questions are deliberately separate: who owns the NFT, whether the registered agent is bound to that NFT, and whether the current request has a valid authenticated session. Passing one does not imply the others.

OWNER

ERC-721 state

ownerOf(tokenId) is the authority for the current holder. Marketplace caches and old sessions do not override it.

BOUND

ERC-8217 state

The adapter links an ERC-8004 identity to the collection and token ID. A read failure is “unavailable,” not “unbound.”

SESSION

Wallet challenge

A short-lived challenge proves wallet control. The resulting scoped session can be revoked and expires independently of ownership.

Gateway scopes

agent:read, agent:talk, tools:list, tools:run, rules:read, and activity:read express the maximum operations a connected runtime may request. Every protected operation still performs its own ownership and policy checks.

07

ASSET CUSTODY

Wallets and supported chains

NetworkAccount modelPrimary useOwnership behavior
EthereumERC-6551 token-bound accountNFT-linked identity assetsAccount control follows the NFT.
BaseIsolated operator walletUSDC, Stock Tokens, Aerodrome LPAgent-scoped; not stored inside the NFT.
InkIsolated operator walletSupported native and configured assetsSame address, independent chain state.
Robinhood ChainIsolated operator walletSupported native and configured assetsSame address, independent chain state.
Wrong-chain deposits cannot move themselves

The same hexadecimal address can exist on multiple networks, but each network has separate balances. Always verify the destination network before funding.

08

PUBLIC SURFACE

Agent profiles and portfolio

Every agent has a public profile designed as evidence, not a private control panel. The first view combines identity, live/bound status, capability count, liquid assets, LP health, and recent verified record. Authenticated controls remain in the holder workspace.

Public by design

  • Token art, name, rarity, traits, and clearance
  • Public registrations and chain addresses
  • Verified balances and LP positions
  • Public track record and capabilities
  • Owner X profile only after explicit display consent

Never public

  • Private keys or signing material
  • OAuth access or refresh tokens
  • Provider secrets and internal session tokens
  • Unverified balances presented as zero
  • Authenticated mutation controls

Positions and balances are read per chain. One failed network is labelled unavailable while successful networks remain visible; the whole portfolio is not collapsed into a false empty state.

09

AGENT BEHAVIOR

Conversation and runtime

The LLM gives each agent its voice and interprets conversational intent. It can resolve expressions such as “sell all,” “stake that position,” or “use the full balance” against recent context. It cannot invent balances, transaction results, or capabilities.

Reasoning may

  • Understand aliases and follow-ups
  • Ask only for genuinely missing information
  • Explain trade-offs in the agent persona
  • Prepare a structured action proposal

Reasoning may not

  • Sign arbitrary calldata
  • Claim success before verification
  • Treat an RPC timeout as a zero balance
  • Reuse an expired confirmation
10

CONVERSATION SURFACES

Web, Telegram, Discord, and managed runtimes

SurfaceIdentity contextPrimary role
Web holder consoleConnected wallet and owned agentConversation, quotes, verified action cards, vault and runtime controls.
TelegramPrivate claimed channel mapped to the holderNatural conversation and explicit tool commands without asking the authenticated holder to sign in again.
DiscordWallet-signature verification and holder rolesCommunity access, agent conversation, holder sync, and role assignment.
Managed / external runtimeScoped Gateway sessionHermes, OpenClaw, generic clients, and MCP-compatible integrations.

Shared conversation guarantees

  • History is scoped by channel and agent, capped, and expired after inactivity.
  • Stable request IDs prevent a retried delivery from producing a second financial action.
  • Free-form replies are visually and semantically separated from deterministic action results.
  • Operational claims found in old unverified prose are sanitized instead of being replayed as facts.
11

CAPABILITIES

Tools and clearance

STANDARD

Common / Uncommon

Intel, Drop Radar, and B20 Radar.

RARE+

Rare and above

Portfolio and Allowlist Scanner, plus lower-tier tools.

ELITE

Epic and above

Offer Radar, Dispatch, and Robinhood Chain Radar, plus prior tools.

Capability lists are read from the active configuration. A visible tool still requires a valid holder session and the tool’s own runtime checks.

12

NFT MARKET LAYER

OpenSea, drops, listings, and identity

OpenSea is used as a discovery and market-data surface, not as a substitute for onchain truth. The integration covers collection identity, drops and mint stages, holdings, listings, standing offers, portfolio estimates, and wallet authentication where configured.

DISCOVERY

Drop Radar

Featured, upcoming, and actively minting drops with stage price, supply, timing, and official routes.

ELIGIBILITY

Allowlist Scan

Checks exact wallet eligibility per stage. A public stage is universal access, not an allowlist match.

MARKET

Offers and listings

Reads floors, best listings, received offers, and collection offers. Estimates remain labelled as estimates.

Registering an agent identity, listing an NFT, or preparing a mint are separate flows. Holder authorization and the target contract’s current state are checked at action time.

13

BASE EQUITIES

Tokenized-equity trading

Trading is a quote–confirm–execute flow. The agent translates natural language into a specific token, side, and amount; deterministic code builds the route and enforces the quote.

UNDERSTOODResolve ticker, side, amount
QUOTEDOutput, minimum, fee, gas
AUTHORIZEDHolder confirms once
ONCHAINApprove and swap
VERIFIEDReceipt + received balance

Confirmation contract

  • Confirmations are single-use, bound to the holder and quote, and expire after a short window.
  • Default price drift protection is enforced at execution; a fresh quote is required when conditions move too far.
  • “Sell all” reads the current wallet balance. A failed read is reported as unavailable, not zero.
  • A successful receipt is followed by balance verification before the agent reports the final amount.
Holder: Buy $1 of GOOGL
Agent:  Quote: input, expected output, minimum output, fees, gas, network
Holder: Yes
Agent:  Executes only the confirmed quote and reports the verified receipt
NFTStocks workspace

nfts.signalbound.art brings verified Base equity markets, agent wallet balances, Aerodrome positions, and the existing action-aware agent chat into one dedicated product. It uses the same holder session and server-side execution checks described above; the page never builds or broadcasts financial transactions itself.

14

AERODROME / BASE

Liquidity positions

Agents can manage concentrated-liquidity positions on supported Aerodrome Base pools. Current configured markets include AAPL/USDC, GOOGL/USDC, META/USDC, NVDA/USDC, and AERO/USDC.

POSITION

Open or increase

Quote the pair, deposited amounts, price range, strategy, and expected effect before minting or increasing liquidity.

ROUTE

Fees or emissions

A position may remain unstaked for pool fees or be staked in a compatible gauge for AERO emissions. These are distinct states.

LIFECYCLE

Manage and exit

Inspect range health, stake, claim, collect fees, unstake, recenter, or fully exit by position NFT ID.

Important semantics

  • Position assets are not wallet balances. Tokens deposited into LP remain inside the position until liquidity is removed.
  • Exit does not sell. A full exit returns both underlying assets to the wallet and burns/closes the position when complete.
  • Claim is amount-verifiable. A reward claim is reported only after the receipt and token balance delta establish the actual AERO received.
  • Position ID matters. If more than one position matches, the agent asks for the exact NFT number.
  • Partial execution is recoverable. If mint succeeds but staking fails, the position exists; recovery resumes from that verified state rather than repeating the mint.

Delegated maintenance mandate

The current holder may sign a revisioned, expiring mandate that lets the market-aware manager maintain an existing position without asking for a fresh chat confirmation on every cycle. The only delegable actions are claim AERO, collect pool fees, and recenter an existing position while preserving its fee/emissions route.

HOLDER BOUNDS

Exact scope

The signature binds the agent, markets, actions, maximum position value, expiry, daily attempts, cooldown, observation evidence, economic minimums, range width, slippage, quote drift, and a hard cumulative gas ceiling.

FAIL CLOSED

No silent expansion

The mandate cannot open or increase LP, change its reward route, freely unstake, exit, or sell. A failed or partial attempt consumes its daily slot and recovery may only resume the same journaled plan.

Before every delegated action, the API verifies the current NFT owner and current mandate revision, then the isolated signer independently verifies the signature, observed decision, exact plan, contracts and policy. The signer reserves each transaction's worst-case EIP-1559 fee against the signed cumulative gas cap before broadcast.

LP risk

Range estimates and emissions are not guarantees. Positions can leave range, fees and incentives change, and concentrated liquidity can underperform simply holding the assets.

15

REAL-WORLD ASSET LAYER

NFTStock and agent-held RWA portfolios

NFTStock explores agents as transparent, programmable portfolio identities. Its RWA command center is built around verified product facts and holder-defined mandates—not automatic access to regulated products and not a promise of yield.

REGISTRYVerified product contracts and rules
LIVE DATANAV, age, size, yield when measurable
MANDATEHolder risk and allocation boundaries
PROPOSALDeterministic allocation inside limits
HOLDER SIGNPrepared transfer; no server key

Product eligibility model

ClassSystem behaviorReason
Permissionless, Ethereum, live NAVMay be evaluated for an agent vault and prepared for holder-signed deposit.The ERC-6551 account is controllable on Ethereum and the mandate can be checked against value.
Allowlisted / permissionedShown with issuer eligibility, but refused for an unqualified agent vault.Identity-gated transfers may reject contract accounts.
Base-only RWAMay be documented, but is not treated as an Ethereum NFT vault holding.The Ethereum token-bound ownership model does not automatically control a Base deployment.
No trustworthy NAVNo value-based deposit proposal.Unknown price is not converted into a plausible valuation.
Acquisition is outside Signalbound

Issuer onboarding, KYC, subscription, and redemption stay with the issuer. Signalbound can link to the issuer and prepare a transfer for an asset the holder already owns; it does not intermediate the purchase.

Mandate fields

Risk level, maximum allocation, preferred products, excluded issuers, maximum NAV age, minimum product size, jurisdiction, and automation mode define the proposal boundary. A mandate permits consideration; it does not move money.

16

DECISION SYSTEMS

Strategies, souls, and deterministic risk

Strategy personalities may shape attention and rationale, but arithmetic belongs to testable code. Models can classify a regime or explain a decision; position size, stops, allocation ceilings, indicators, and execution checks are deterministic.

SEYKOTA

Mechanical trend

EMA, ATR, momentum, entry/exit thresholds, portfolio heat, concurrent-position limits, and stops are computed in code. The model explains; it does not calculate the signal.

MACRO

Discretionary regime

The model may classify risk regime, direction, thesis, and conviction tier. Code maps the tier to size and applies risk/mandate rules.

MERIDIAN

Robinhood Chain readiness

Currently an OBSERVE report: verifies chain, pools, depth, quality, and vetoes. It has no execution path while its market gates are not met.

A strategy proposal is not a fill. Every live-capable path still passes mandate authorization, venue policy, order submission, fill reading, reconciliation, and track-record accounting.

17

EXECUTION & EVIDENCE

Paper, testnet, mainnet, and track records

VenueMeaningRequired truth source
PaperSimulation and default strategy book.Local paper ledger; no claim of real funds.
TestnetEnd-to-end signing, order, fill, stop, and reconciliation test.Venue response and read-back state.
MainnetReal venue execution.Deployment capability plus an agent-specific signed holder mandate.

Partial fills are real smaller positions, not generic failures. On external venues the venue is the sole writer of fill truth: Signalbound reads positions back instead of writing an assumed fill into the book. Protective stops are reduce-only and reconciled with the current venue position.

Track record metrics

Closed trades, win/loss count, realized P&L, average win and loss, profit factor, expectancy, best/worst result, equity, high-water mark, maximum/current drawdown, fees, funding, and open positions are reported together. A win rate alone is intentionally not treated as sufficient evidence.

18

BOUNDED EXECUTION

Autonomy and live mode

Autonomy is permissioned and bounded, not unrestricted. The runtime enforces agent ownership, per-transaction and daily limits, allowed contracts, tokens, selectors, recipients, deadlines, and exact approval amounts.

Brain versus executor

The autonomous brain consults intelligence and records hold, watch, or flag in the agent’s own voice. That decision moves no money. A separate executor needs a permitted action, deterministic inputs, policy validation, and—where required—holder confirmation.

GateEffectSafe default
AUTONOMY_ENABLEDGlobally pauses or permits autonomy cycles.Paused when explicitly set to zero.
SWAP_ENABLEDEnables the supported Base equity swap capability.Off unless explicitly enabled.
AUTONOMY_MINTAllows the separately guarded autonomous mint path.Off unless explicitly enabled.
LP_ENABLEDAllows LP planning/policy flow.Off unless explicitly enabled.
LP_LIVEPermits validated LP actions to reach live broadcast when all other gates pass.Dry-run/rehearsal.
LP_MANAGER_ENABLEDRecords LP observations and evaluates bounded maintenance.Off.
LP_DELEGATED_LIVELets a valid signed LP mandate cross the API and isolated-signer gates.Off on both services.

LP feature gate

LP_ENABLED=1 enables the LP system. Without full live authorization, validated requests remain dry-run rehearsals.

LP live gate

LP_LIVE=1, live autonomy, and the production token allowlist must all agree before a transaction can be broadcast.

Environment flags belong on the backend service that runs the agent/API execution runtime—not on the static website service.

19

SEPARATE EXPERIENCE

Agent Clash Arena

Agent Clash Arena is a separate Signalbound experience with its own application bundle and production domain. The main site’s /arena/ route redirects there. The local Arena surface currently identifies itself as being built for Signalbound agents; documentation must not present unreleased gameplay as live.

Main-site responsibility

Expose the verified agent identity and a safe outbound route. Do not mix Arena state with financial portfolio state.

Arena responsibility

Own its gameplay, match state, assets, runtime, and release status independently from the collection website/API.

20

TRUTHFUL OUTPUT

Verification model

PENDING

Transaction submitted or confirmation incomplete. Do not assume assets moved.

VERIFIED

Receipt succeeded and the expected state transition or balance delta was observed.

PARTIAL

One stage completed, another failed. Preserve the successful state and offer recovery.

UNKNOWN

RPC or indexer failed. Unknown is never converted to empty, zero, or success.

A transaction hash proves only that a transaction exists. A robust success statement also checks chain, receipt status, contract, event/state change, and—where an amount is claimed—the relevant balance delta.

21

DEVELOPER SURFACES

API and integrations

GET /healthzService health
GET /openapi.jsonMachine-readable API description
POST /mcpMCP transport for supported agent tools
GET /api/agents/info/:idPublic agent information
GET /api/agents/:id/accountPublic account surface
GET /api/aerodrome/portfolioVerified LP portfolio view
GET /.well-known/agents/:id.jsonPublic registration document
Agent identity and public reads

/agents/info/:id, /agents/:id/account, /agents/:id/operator, /agents/:id/collection, /agents/:id/runtime.json, /agents/:id/owner-profile, registration documents, metadata, Agent.md, and SOUL.md expose the public identity/runtime surface.

Authenticated agent workspace

Chat, rules, automations, run-now, ownership actions, wallet sweep, mint/listing preparation, autonomy configuration, and managed runtime routes require their route-specific authentication and policy checks.

Intelligence tools

Intel, Drop Radar, B20 Radar, Robinhood Chain Radar, Portfolio, Allowlist Scan, Offer Radar, and Dispatch are available with both canonical and /api-prefixed routes where configured.

Capital and portfolio routes

Aerodrome portfolio, equity quote/execution conversations, RWA registry/live/eligibility/mandate/proposal/portfolio/vault, track-record, strategy proposal/adoption, trading status, and venue health/reconciliation are distinct endpoints. Consult OpenAPI for the deployed request schema.

Gateway and discovery

Challenge, session, status, revoke, Hermes setup, OpenClaw setup, MCP, x402 discovery, runtime, and tool manifests let external clients discover and connect without receiving server credentials.

curl -s https://api.signalbound.art/healthz
curl -s https://signalbound.art/.well-known/agents/6450.json
curl -s https://api.signalbound.art/openapi.json

Endpoint availability and authentication requirements are authoritative in the deployed OpenAPI document. Public APIs expose public state only.

22

MACHINE ACCESS

MCP, Gateway, and x402

GATEWAY

Holder-scoped session

A wallet challenge verifies ownership and binding, then issues a revocable, expiring token with explicit scopes for managed, Hermes, OpenClaw, or generic runtimes.

MCP

Tool transport

The streamable HTTP MCP endpoint accepts an authorized bearer session and exposes only the tools permitted for that agent and scope.

X402

Paid public intelligence

A canonical catalog describes paid intelligence endpoints and their base/rare/epic holder-rate clearance without duplicating product copy across discovery and public pages.

x402 catalog

Intel, Drop Radar, B20 Radar, Robinhood Chain Radar, Portfolio, Allowlist Scan, and Offer Radar are published as machine-readable products. Payment access and holder clearance pricing are separate from holder authentication for private agent actions.

23

PRODUCT MAP

Website and application surfaces

/Public collection landing page
/agentsRegistered agent index
/agent/:idPublic agent command profile
/profileHolder command center, including owned NFT agent activation
nfts.signalbound.artDedicated NFTStocks workspace for Base equities, LP positions, portfolio, and verified agent chat
/signal-centerSignals and project intelligence
/rarityCollection rarity explorer
/recordsAgent records and evidence
/rwaNFTStock / RWA command center
/toolsPublic tool and x402 catalog
/discord-verifyWallet-signature role verification
/arena/Route to the separate Agent Clash Arena surface
/docsThis system manual
24

SOURCE OF TRUTH

Configuration and environment boundaries

Public product facts, deployment addresses, feature gates, provider endpoints, and secrets have different owners. A correct deployment keeps them separate and fails closed when an authoritative value is missing.

SourceOwnsRule
config/*.jsonCollection, mint stages, traits, site and published product configuration.Commit only public configuration.
Contract stateOwnership, supply boundary, reveal, registrations, balances, receipts.Authoritative for deployed onchain behavior.
EnvironmentRPCs, feature gates, provider credentials, signing/runtime configuration.Deployment dashboard or local ignored file only.
State volume/databaseSessions, mandates, journals, ledgers, channel links, runtime records.Persistent, access-controlled, backed up.
Known supply consistency check

Public configuration and application token validation use 6,666, while the current Solidity source contains a 10,000 maximum constant and legacy description. Before any fresh deployment, reconcile this mismatch and verify the deployed contract’s maxSupply(); never infer production supply from one source file.

Do not place private keys, OAuth tokens, internal bearer tokens, or provider secrets in browser JavaScript, public HTML, registration JSON, logs, or documentation examples.

25

PRODUCTION TOPOLOGY

Build and deployment

WEB

Static website service

Builds and serves the public HTML, CSS, JavaScript, registrations, metadata routes, and redirects.

API

Agent/API runtime

Runs tools, chat, Gateway, MCP, portfolios, trading/LP logic, runtime state, and health/OpenAPI routes.

WORKERS

Channels and operators

Discord, Telegram, operator, automation, and strategy processes run as separately configurable services where enabled.

Collection deployment sequence

  1. Generate and testCreate sealed data; compile; run contract and reveal tests.
  2. Deploy stackArt storage, attributes/renderer, then ERC-721/SeaDrop collection.
  3. Upload and freezeWrite shared art fragments, verify reads, then freeze storage when final.
  4. Configure mintSet public addresses and SeaDrop stages; verify recipients, limits, and supply.
  5. RevealClose minting, request future block, finalize in time, verify metadata refresh.
  6. Register agent railsDeploy/verify trait adapter; register ERC-8004, ERC-8217, and ERC-8257 metadata/predicates.
  7. Deploy servicesBuild web/Arena; start API and selected workers; attach persistent state volumes.
  8. Production smoke testHealth, OpenAPI, registration, owner/binding, profile, read-only tools, dry runs, then intentionally bounded live tests.
npm run compile
npm run test
npm run build:web
npm --prefix website run test
# Live deploy/register commands require an explicit reviewed environment.

Validation matrix

LayerMinimum release evidence
ContractsCompile, unit tests, local reveal smoke, target-network smoke, deployed bytecode and address verification.
RegistrationsGenerated JSON schema, ownership, ERC-8004 identity, ERC-8217 binding, ERC-7496 adapter, and ERC-8257 manifest/predicate reads.
WebStatic build, route resolution, responsive layout, keyboard/focus behavior, no secret-bearing output.
Agent/runtimeOwnership denial cases, session expiry/revocation, duplicate request handling, unverified-claim sanitation, model fallback.
Trading/LPQuote expiry, slippage, exact approvals, contract allowlists, dry-run, partial recovery, receipt and balance/position verification.
RWA/strategyEligibility, stale/unknown NAV rejection, mandate ceilings, paper/live separation, partial fill and venue reconciliation, record accounting.
26

RUNBOOK

Operating an agent safely

  1. Confirm ownershipVerify the connected holder and current binding.
  2. Fund the intended chainCheck native gas and required assets at the exact agent wallet address.
  3. Enable the smallest scopeUse contract, token, action, transaction, and daily limits.
  4. Quote before mutationShow inputs, expected outputs, minimums, fees, gas, range, and side effects.
  5. Verify after mutationCheck receipts and resulting balances/positions; retain recovery state for partial flows.
  6. Monitor continuouslyWatch LP range health, claimable rewards, RPC health, and expired or pending actions.

Incident response

  1. Stop new mutationsPause the narrowest affected feature first; use the broader kill switch only when scope is uncertain.
  2. Preserve evidenceRecord request ID, agent, chain, quote/action ID, transaction hash, receipt state, and recovery journal without copying credentials.
  3. Read authorityQuery the chain or venue through a healthy endpoint; compare balances, ownership, nonce, position NFT, gauge, and allowance.
  4. ClassifyPending, verified, partial, failed, or unknown. Never collapse unknown into failed or empty.
  5. Recover onceResume only the missing stage from durable state. Never repeat a verified irreversible stage.
  6. Re-enable graduallyRead-only checks, dry run, one bounded live action, then normal scope.
Persistent state is part of production

Gateway sessions, channel links, chat history, rules, mandates, LP recovery journals, paper books, track records, and automation logs need a durable state directory or database. Ephemeral service disks can erase continuity without moving any onchain assets.

27

SECURITY BOUNDARY

What the system protects

Enforced controls

  • Authenticated holder session
  • Exact target contract and function selector
  • Token/pair and recipient validation
  • Bounded deadlines and slippage
  • Exact approvals; no unlimited approval path
  • Per-action and daily spending limits

User responsibilities

  • Use official routes and verify the domain
  • Never share seed phrases or private keys
  • Check chain, asset, amount, and minimum output
  • Understand LP and tokenized-asset risk
  • Revoke permissions you no longer need
  • Do not treat agent language as financial advice

Threat model

RiskPrimary defense
Prompt injection or model hallucinationModel output cannot supply arbitrary executable calldata; deterministic parsers and policy validate every financial action.
Stale ownership/sessionCurrent owner and binding checks, expiring scoped sessions, revocation, and request-time authorization.
Malicious token/contract substitutionChecksummed allowlists, verified pool/token relationships, exact spender/selector/recipient validation.
Replay or duplicate deliverySingle-use confirmation claims, expiry, stable request IDs, and idempotent recovery state.
RPC/indexer outageProvider fallback and explicit unknown/unavailable states; no invented zero or success.
Partial multi-transaction flowReceipt-based stage journal and recovery from the last verified stage.
Secret leakageServer-only environment, redacted errors, restricted persistent files, and public-response schemas that omit credentials.

Public wallet and contract addresses are evidence, not secrets. Signing keys, seed phrases, provider credentials, OAuth tokens, bearer sessions, and internal vault material are secrets and must never appear in client bundles or support transcripts.

28

FAILURE MODES

Troubleshooting

“Missing or invalid parameters” from an RPC node

The signed request or RPC payload was rejected before verified finality. Do not assume execution. Refresh chain state, confirm the intended network and nonce, then retry from a new quote/authorization.

The agent says a balance is empty, but the asset exists

Confirm the chain, wallet model, contract address, decimals, and RPC health. A timeout or read failure must render as unavailable/unknown—not as zero.

LP mint succeeded but staking failed

Do not mint again. Locate the verified position NFT, then run the stake action for that position. Recovery should continue from the recorded successful mint.

“Owner query for nonexistent token” while staking

The wrong position manager, chain, or position ID was queried—or the position is already burned. Verify ownership on Base before attempting another action.

Exit completed, but “sell all” returns too little

First verify that the underlying assets returned to the wallet and refresh the quote. Exiting LP returns both assets; it does not guarantee either asset has enough value or liquidity for a sensible sale.

A claimed reward amount looks implausible

Inspect the transaction receipt and compare the AERO token balance before and after. Never infer the amount from a generic claim event or from the LP principal.

Registration says the collection or ownership cannot be verified

Check the configured collection address, Ethereum RPC health, current ownerOf result, connected wallet, and existing ERC-8004 identity. Registration must remain locked when the collection address or ownership proof is unavailable.

An agent is registered but shown as not bound

Distinguish a genuine negative chain read from an unavailable adapter/RPC scan. Verify the ERC-8217 binding tuple against the exact collection and token ID; do not create a second registration because one provider timed out.

Gateway or MCP says the connection expired

Create a new wallet challenge and session. Check that the wallet still owns the token, the agent remains bound, the requested scope is present, and the session was not revoked. Do not reuse or paste old bearer material.

NFTStock refuses an apparently valid product

Review its permission model, chain, agent-holdable flag, jurisdiction, NAV availability/freshness, product-size floor, issuer exclusions, and allocation ceiling. A public product page does not imply the agent vault is an eligible recipient.

A strategy reports a trade, but no real account moved

Check the reported venue. Paper is a simulation; testnet is not mainnet. Mainnet execution additionally requires an agent-specific signed live mandate, a successful venue fill, and reconciliation.

Discord or Telegram lost the holder association after deploy

Verify that the service uses persistent state storage and the same deployment configuration. Restarts on ephemeral disks can remove channel/session mappings even though NFT ownership and onchain assets remain intact.

29

REFERENCE

Glossary

Agent account
The Ethereum token-bound account associated with the NFT.
Agent wallet
The isolated operator-controlled address used on Base, Ink, and Robinhood Chain.
Binding
The verified association between an ERC-8004 agent identity and a Signalbound ERC-721 token.
Clearance
The capability tier derived from the agent’s collection traits.
Deterministic action
A policy-checked operation whose parameters and result do not depend on free-form model prose.
LP position
A concentrated-liquidity NFT representing deposited assets, range, fees, and possible gauge state.
In range
The current pool price sits inside the position’s active tick range.
Gauge
An Aerodrome contract that accepts compatible position NFTs and distributes configured emissions.
Mandate
Holder-signed, expiring limits for a named capability. Whether it authorizes execution depends on its explicit mode and the deployment's independent live gates.
NAV
Net asset value from an identified source, paired with its observation time and freshness.
Paper venue
A simulation ledger explicitly separate from testnet or mainnet execution.
Reconciliation
Reading state back from the authoritative chain or venue rather than trusting an assumed local result.
Verified action
An action whose successful receipt and expected state transition were confirmed.
Recovery journal
Durable progress used to safely resume a multi-transaction operation after a partial failure.
Dry run
A fully validated rehearsal that does not broadcast live transactions.
x402
A payment-gated machine-access layer for public intelligence products, separate from private holder control.