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 →SIGNALBOUND / SYSTEM MANUAL
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.
GET ORIENTED
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.
Open your agent, ask naturally, inspect the quoted action, and confirm only when the assets, limits, network, and intent are correct.
Trade workflow →Fund the correct wallet on the correct chain, configure bounded permissions, then monitor receipts, balances, LP health, and recovery state.
Operations →Use public registration and API surfaces for discovery. Treat all state-changing responses as pending until their receipts and state changes verify.
Integration →| System | Implemented mode | What enables mutation |
|---|---|---|
| Collection + identity | Onchain/public read and registration workflows | Current holder plus the relevant registry/contract transaction. |
| Agent chat + intelligence | Web, managed, Telegram, and Discord surfaces | Holder/channel/session context; ordinary conversation moves no funds. |
| Base equity swaps | Deterministic quote and execution for verified markets | Swap feature gate, funded agent wallet, fresh single-use holder confirmation. |
| Aerodrome LP | Quote, open/increase, stake, claim, fees, recenter, exit, recovery | LP gates, live agent authorization, exact policy, holder confirmation. |
| NFTStock RWA | Registry, live facts, eligibility, mandates, proposals, paper portfolio, prepared vault transfer | The holder signs a transfer of an eligible asset they already own; issuer acquisition stays external. |
| Strategies/venues | Paper default, testnet path, guarded mainnet path | Venue configuration and agent-specific signed live mandate. |
| Meridian on Robinhood Chain | Observe/readiness report | No execution path in the current strategy module. |
| Agent Clash Arena | Separate application surface under development | Release status is owned by the Arena deployment. |
Conversation interprets intent; deterministic code authorizes, constructs, executes, and verifies financial actions. The model never receives a private key.
ARCHITECTURE
The Ethereum ERC-721 anchors ownership, artwork, registration, and the Ethereum token-bound account. Ownership changes can move this identity plane with the NFT.
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.
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.ERC-721 CORE
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.
tokenURI(tokenId) derives DNA, loads fragments, and returns metadata with SVG.COLLECTION LIFECYCLE
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.
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.
PUBLIC PROOF
| Rail | Purpose | What it does not mean |
|---|---|---|
| ERC-8004 | Public agent discovery and registration. | Discovery alone does not authorize an action. |
| ERC-8217 | Binds the agent identity to its current holder. | A stale binding must not be treated as current ownership. |
| ERC-7496 | Exposes dynamic trait reads through an adapter. | Traits do not grant wallet permissions. |
| ERC-8257 | Describes holder-gated tools and clearance. | Tool availability does not bypass policy validation. |
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.
CONTROL PLANE
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.
ownerOf(tokenId) is the authority for the current holder. Marketplace caches and old sessions do not override it.
The adapter links an ERC-8004 identity to the collection and token ID. A read failure is “unavailable,” not “unbound.”
A short-lived challenge proves wallet control. The resulting scoped session can be revoked and expires independently of ownership.
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.
ASSET CUSTODY
| Network | Account model | Primary use | Ownership behavior |
|---|---|---|---|
| Ethereum | ERC-6551 token-bound account | NFT-linked identity assets | Account control follows the NFT. |
| Base | Isolated operator wallet | USDC, Stock Tokens, Aerodrome LP | Agent-scoped; not stored inside the NFT. |
| Ink | Isolated operator wallet | Supported native and configured assets | Same address, independent chain state. |
| Robinhood Chain | Isolated operator wallet | Supported native and configured assets | Same address, independent chain state. |
The same hexadecimal address can exist on multiple networks, but each network has separate balances. Always verify the destination network before funding.
PUBLIC SURFACE
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.
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.
AGENT BEHAVIOR
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.
CONVERSATION SURFACES
| Surface | Identity context | Primary role |
|---|---|---|
| Web holder console | Connected wallet and owned agent | Conversation, quotes, verified action cards, vault and runtime controls. |
| Telegram | Private claimed channel mapped to the holder | Natural conversation and explicit tool commands without asking the authenticated holder to sign in again. |
| Discord | Wallet-signature verification and holder roles | Community access, agent conversation, holder sync, and role assignment. |
| Managed / external runtime | Scoped Gateway session | Hermes, OpenClaw, generic clients, and MCP-compatible integrations. |
CAPABILITIES
Intel, Drop Radar, and B20 Radar.
Portfolio and Allowlist Scanner, plus lower-tier tools.
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.
NFT MARKET LAYER
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.
Featured, upcoming, and actively minting drops with stage price, supply, timing, and official routes.
Checks exact wallet eligibility per stage. A public stage is universal access, not an allowlist match.
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.
BASE EQUITIES
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.
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
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.
AERODROME / BASE
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.
Quote the pair, deposited amounts, price range, strategy, and expected effect before minting or increasing liquidity.
A position may remain unstaked for pool fees or be staked in a compatible gauge for AERO emissions. These are distinct states.
Inspect range health, stake, claim, collect fees, unstake, recenter, or fully exit by position NFT ID.
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.
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.
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.
Range estimates and emissions are not guarantees. Positions can leave range, fees and incentives change, and concentrated liquidity can underperform simply holding the assets.
REAL-WORLD ASSET LAYER
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.
| Class | System behavior | Reason |
|---|---|---|
| Permissionless, Ethereum, live NAV | May 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 / permissioned | Shown with issuer eligibility, but refused for an unqualified agent vault. | Identity-gated transfers may reject contract accounts. |
| Base-only RWA | May 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 NAV | No value-based deposit proposal. | Unknown price is not converted into a plausible valuation. |
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.
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.
DECISION SYSTEMS
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.
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.
The model may classify risk regime, direction, thesis, and conviction tier. Code maps the tier to size and applies risk/mandate rules.
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.
EXECUTION & EVIDENCE
| Venue | Meaning | Required truth source |
|---|---|---|
| Paper | Simulation and default strategy book. | Local paper ledger; no claim of real funds. |
| Testnet | End-to-end signing, order, fill, stop, and reconciliation test. | Venue response and read-back state. |
| Mainnet | Real 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.
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.
BOUNDED EXECUTION
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.
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.
| Gate | Effect | Safe default |
|---|---|---|
AUTONOMY_ENABLED | Globally pauses or permits autonomy cycles. | Paused when explicitly set to zero. |
SWAP_ENABLED | Enables the supported Base equity swap capability. | Off unless explicitly enabled. |
AUTONOMY_MINT | Allows the separately guarded autonomous mint path. | Off unless explicitly enabled. |
LP_ENABLED | Allows LP planning/policy flow. | Off unless explicitly enabled. |
LP_LIVE | Permits validated LP actions to reach live broadcast when all other gates pass. | Dry-run/rehearsal. |
LP_MANAGER_ENABLED | Records LP observations and evaluates bounded maintenance. | Off. |
LP_DELEGATED_LIVE | Lets a valid signed LP mandate cross the API and isolated-signer gates. | Off on both services. |
LP_ENABLED=1 enables the LP system. Without full live authorization, validated requests remain dry-run rehearsals.
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.
SEPARATE EXPERIENCE
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.
Expose the verified agent identity and a safe outbound route. Do not mix Arena state with financial portfolio state.
Own its gameplay, match state, assets, runtime, and release status independently from the collection website/API.
TRUTHFUL OUTPUT
Transaction submitted or confirmation incomplete. Do not assume assets moved.
Receipt succeeded and the expected state transition or balance delta was observed.
One stage completed, another failed. Preserve the successful state and offer recovery.
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.
DEVELOPER SURFACES
GET /healthzService healthGET /openapi.jsonMachine-readable API descriptionPOST /mcpMCP transport for supported agent toolsGET /api/agents/info/:idPublic agent informationGET /api/agents/:id/accountPublic account surfaceGET /api/aerodrome/portfolioVerified LP portfolio viewGET /.well-known/agents/:id.jsonPublic registration document/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.
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.
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.
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.
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.
MACHINE ACCESS
A wallet challenge verifies ownership and binding, then issues a revocable, expiring token with explicit scopes for managed, Hermes, OpenClaw, or generic runtimes.
The streamable HTTP MCP endpoint accepts an authorized bearer session and exposes only the tools permitted for that agent and scope.
A canonical catalog describes paid intelligence endpoints and their base/rare/epic holder-rate clearance without duplicating product copy across discovery and public pages.
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.
PRODUCT MAP
/Public collection landing page/agentsRegistered agent index/agent/:idPublic agent command profile/profileHolder command center, including owned NFT agent activationnfts.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 manualSOURCE OF TRUTH
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.
| Source | Owns | Rule |
|---|---|---|
config/*.json | Collection, mint stages, traits, site and published product configuration. | Commit only public configuration. |
| Contract state | Ownership, supply boundary, reveal, registrations, balances, receipts. | Authoritative for deployed onchain behavior. |
| Environment | RPCs, feature gates, provider credentials, signing/runtime configuration. | Deployment dashboard or local ignored file only. |
| State volume/database | Sessions, mandates, journals, ledgers, channel links, runtime records. | Persistent, access-controlled, backed up. |
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.
PRODUCTION TOPOLOGY
Builds and serves the public HTML, CSS, JavaScript, registrations, metadata routes, and redirects.
Runs tools, chat, Gateway, MCP, portfolios, trading/LP logic, runtime state, and health/OpenAPI routes.
Discord, Telegram, operator, automation, and strategy processes run as separately configurable services where enabled.
npm run compile
npm run test
npm run build:web
npm --prefix website run test
# Live deploy/register commands require an explicit reviewed environment.
| Layer | Minimum release evidence |
|---|---|
| Contracts | Compile, unit tests, local reveal smoke, target-network smoke, deployed bytecode and address verification. |
| Registrations | Generated JSON schema, ownership, ERC-8004 identity, ERC-8217 binding, ERC-7496 adapter, and ERC-8257 manifest/predicate reads. |
| Web | Static build, route resolution, responsive layout, keyboard/focus behavior, no secret-bearing output. |
| Agent/runtime | Ownership denial cases, session expiry/revocation, duplicate request handling, unverified-claim sanitation, model fallback. |
| Trading/LP | Quote expiry, slippage, exact approvals, contract allowlists, dry-run, partial recovery, receipt and balance/position verification. |
| RWA/strategy | Eligibility, stale/unknown NAV rejection, mandate ceilings, paper/live separation, partial fill and venue reconciliation, record accounting. |
RUNBOOK
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.
SECURITY BOUNDARY
| Risk | Primary defense |
|---|---|
| Prompt injection or model hallucination | Model output cannot supply arbitrary executable calldata; deterministic parsers and policy validate every financial action. |
| Stale ownership/session | Current owner and binding checks, expiring scoped sessions, revocation, and request-time authorization. |
| Malicious token/contract substitution | Checksummed allowlists, verified pool/token relationships, exact spender/selector/recipient validation. |
| Replay or duplicate delivery | Single-use confirmation claims, expiry, stable request IDs, and idempotent recovery state. |
| RPC/indexer outage | Provider fallback and explicit unknown/unavailable states; no invented zero or success. |
| Partial multi-transaction flow | Receipt-based stage journal and recovery from the last verified stage. |
| Secret leakage | Server-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.
FAILURE MODES
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.
Confirm the chain, wallet model, contract address, decimals, and RPC health. A timeout or read failure must render as unavailable/unknown—not as zero.
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.
The wrong position manager, chain, or position ID was queried—or the position is already burned. Verify ownership on Base before attempting another action.
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.
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.
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.
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.
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.
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.
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.
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.
REFERENCE