Agent Marketplace
The Mandaitor Marketplace is a platform for sharing, versioning, and discovering AI agents with verifiable trust metrics. Agent providers can publish listings that describe their agent's capabilities, pricing, and compliance certifications, while consumers can discover agents based on trust scores, drift history, and mandate compatibility.
Core Concepts
The marketplace operates on a listing-based model where each listing represents a single agent offered by a tenant. Listings go through a lifecycle from draft to published, and include trust metrics that are computed from the agent's actual runtime behavior within Mandaitor.
| Concept | Description |
|---|---|
| Listing | A published description of an agent's capabilities, pricing, and trust profile |
| Trust Metrics | Computed scores based on compliance history, drift, uptime, and review ratings |
| Discovery | Search and filter agents by capability, trust score, pricing, region, or certification |
| Reviews | Community ratings and reviews from organizations that have used the agent |
Creating a Listing
To list an agent on the marketplace, the agent must first be registered in the Agent Identity Registry. Then create a listing:
const listing = await client.post("/marketplace/listings", {
agent_id: "agt_01HXYZ",
display_name: "BIM Validation Agent",
tagline: "Automated IFC model validation for construction projects",
description: "Full description of capabilities...",
capabilities: [
{
action: "construction.validation.approve",
resources: ["project:*"],
description: "Validates IFC models against project standards",
},
],
pricing: { model: "PER_CALL", amount_cents: 5, currency: "EUR" },
tags: ["construction", "bim", "validation"],
supported_regions: ["eusc-de-east-1"],
certifications: ["ISO_27001"],
});
Listings start in DRAFT status and must be explicitly published.
Publishing
Once a listing has at least one capability declaration, it can be published to make it visible in discovery:
POST /marketplace/listings/{listingId}/publish
Published listings are visible to all authenticated users. The listing can be suspended or archived at any time by the owner. Suspension preserves the listing record and trust history while removing it from active discovery, whereas archival is a soft-delete used when the owner no longer wants to offer the agent.
| Lifecycle operation | Endpoint | Effect |
|---|---|---|
| Publish draft | POST /marketplace/listings/{listingId}/publish | Makes a valid draft listing discoverable. |
| Suspend published listing | POST /marketplace/listings/{listingId}/suspend | Temporarily removes the listing from active discovery without losing history. |
| Archive listing | DELETE /marketplace/listings/{listingId} | Soft-deletes the listing from owner workflows and public discovery. |
Discovery and Search
Consumers can discover agents using rich filtering:
GET /marketplace/discover?q=validation&category=construction&min_trust_score=0.7&sort_by=trust_score
Available filters include full-text search (q), category, capability pattern, minimum trust score, maximum drift score, minimum rating, pricing model, region, and certification.
Best-Match Query
For programmatic agent selection, the match endpoint returns the single best agent for a given requirement:
const match = await client.post("/marketplace/discover/match", {
required_capabilities: ["construction.validation.approve"],
resource_pattern: "project:proj_123/*",
constraints: {
min_trust_score: 0.8,
max_drift_score: 0.3,
region: "eusc-de-east-1",
},
});
Trust Metrics
Trust metrics are computed from the agent's actual runtime behavior and include:
| Metric | Description |
|---|---|
trust_score | Composite score (0–1) based on all other metrics |
avg_rating | Average community rating |
review_count | Number of reviews |
total_invocations | Total tool calls processed |
success_rate | Percentage of successful verifications |
avg_response_ms | Average response latency |
drift_score | Current aggregate drift score |
uptime | Availability percentage |
Reviews
Authenticated users can leave reviews for published listings, retrieve public review history for a listing, and delete their own review when it is no longer accurate.
| Operation | Endpoint | Notes |
|---|---|---|
| Create review | POST /marketplace/reviews | Adds a rating, title, and body for a listing. |
| List reviews | GET /marketplace/reviews/{listingId} | Returns public review entries for the listing. |
| Delete own review | DELETE /marketplace/reviews/{listingId}/{reviewId} | Removes a review created by the caller. |
Authenticated users can leave reviews for published listings:
await client.post("/marketplace/reviews", {
listing_id: "lst_01HXYZ",
rating: 4,
title: "Reliable BIM validation",
body: "Consistent results across multiple project types...",
});
The Marketplace is currently in Beta. The listing, discovery, and review flows are functional, but trust metric computation frequency and the matching algorithm may evolve based on feedback.