Marketplace Integration
The Coral marketplace lets servers discover agents, and lets agent authors publish their agents with optional pricing metadata and identity attestation. In v1.5.0, the marketplace integration is focused on discovery and metadata. Remote execution and payments are disabled by default (see Status).Enable marketplace discovery on your server
Marketplace-backed registry entries are provided by theMarketplaceAgentRegistrySource.
- Config entry:
registry.enableMarketplaceAgentRegistrySource(default:false) - Source of truth:
RegistryConfig.ktandMarketplaceAgentRegistrySource.kt
config.toml
AgentRegistry on startup. You can list available agents grouped by registry source via the API:
Publishing agents for discovery
Agent authors publish with a standardcoral-agent.toml (edition 5). For marketplace visibility, add pricing metadata under [marketplace.pricing]. This metadata is validated during load. Adding the table does not publish an agent or upload its Docker image; those are separate marketplace and container-registry operations.
coral-agent.toml (excerpt)
RegistryAgentMarketplacePricing in RegistryAgent.kt), as well as core agent validation (name pattern, version semver, description lengths, etc.). If values are invalid, the server rejects the agent with a readable error.
Identity & attestation (overview)
Marketplace entries can include identity hints (e.g., ERC‑8004 wallet and HTTPS endpoints) to support future remote execution attestation.- Types and constraints are defined in
RegistryAgentMarketplaceSettings.ktundermarketplace.identities.erc8004. - Endpoints must use HTTPS, names must match the required pattern, and wallet addresses are validated (Base58).
Using marketplace agents in sessions
Even when discovered from the marketplace, agents can still be launched locally on your server (using the image you control). In yourSessionRequest, reference the source type:
/api/v1/registry/...) exposes marketplace items side by side with local ones, including option schemas and marketplace metadata.
Status (v1.5.0)
- Remote providers/payments are disabled. Only
provider.type = "local"is supported for execution on v1.5.0. - Pricing metadata does not set session budgets. See Budgets and claims for local usage accounting.
- Use the marketplace today primarily for discovery and metadata; execution should be local.