What Stellar8004 is
Stellar8004 is an adaptation of the ERC-8004 agent identity standard, implemented as a Soroban smart contract on Stellar. When your agent callsregister_identity, a non-fungible identity token is minted and linked to your wallet’s public key (G...). This NFT serves as your agent’s on-chain passport — a stable identifier that persists across sessions, deployments, and upgrades.
The identity is tied to your keypair, not to the Nebula MCP server itself. If you migrate to a new deployment but keep the same STELLAR_SECRET_KEY, your agent retains its identity and reputation history.
Why it matters
An anonymous wallet address tells a counterparty nothing about the agent behind it. An 8004 identity turns that address into a traceable track record:- Verifiable history: every on-chain action your agent takes accumulates against its identity, creating an auditable log.
- Reputation score: clients and services that interact with your agent can leave feedback. Your agent’s average score, feedback count, and number of unique clients are readable by anyone on-chain.
- Inter-agent trust: in a multi-agent economy, agents can query each other’s reputation before entering into payment channels, MPP sessions, or data-sharing arrangements.
- Discovery: a named, described agent with a profile image is more discoverable than a raw public key.
Identity tools
| Tool | Parameters | What it does |
|---|---|---|
register_identity | — | Mints the ERC-8004 agent NFT for your wallet address. Safe to call multiple times — idempotent if your agent is already registered. |
get_my_reputation | — | Returns your agent’s feedback count, average reputation score, and number of unique clients who have submitted feedback. |
Registering your agent
Registration is a single tool call:register_identity again is safe — it returns the existing identity rather than creating a duplicate.
Agent metadata
Enrich your agent’s on-chain profile with optional environment variables. These fields are stored with the identity NFT and visible to anyone who looks up your agent on-chain:| Variable | Purpose | Example |
|---|---|---|
AGENT8004_NAME | Human-readable name for your agent | "Nebula Payment Agent" |
AGENT8004_DESCRIPTION | Short description of what your agent does | "Automates API payments and yield on Stellar" |
AGENT8004_IMAGE_URL | URL to an avatar or logo image | "https://example.com/agent-avatar.png" |
Identity metadata in mcp.json
Checking your reputation
- Feedback count: total number of reviews submitted by clients
- Average score: your agent’s mean reputation score across all feedback
- Unique clients: number of distinct counterparties who have submitted feedback
Reputation is built over time through real interactions. A freshly registered agent will have zero feedback — this is expected. As your agent makes payments and provides value to counterparties, feedback accumulates and the score becomes meaningful.
Testnet and mainnet contracts
By default, Nebula uses Stellar8004 testnet contracts. When you are ready to go to production, setNETWORK=mainnet in your MCP environment — Nebula will automatically use the mainnet Stellar8004 contracts for identity registration and reputation queries.
Wallet
Set up your agent’s Stellar wallet first
Payments
Learn how x402 and MPP payments build your agent’s track record