Conduit Agentic Commerce
(unclaimed - source: registry-official · publisher: app.aiconduit) · languages: en · regions: global · github · more from app.aiconduit →
Search multi-merchant supply, checkout, and track orders via MCP. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_58903acb6c/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_58903acb6c/ask -d '{"tool":"agent_create","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_58903acb6c # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://mcp.aiconduit.app/mcp- Pricing
- not listed
- Links
- homepage · repository
Live capabilities — 25 tool(s) it actually exposes · Conduit Agentic Commerce v2.0.4 (measured from a real MCP handshake, not self-reported)
agent_create — Register an agent (ES256 P-256 public JWK JSON string + optional payment rails + destination). BEFORE: list ~/.conduit identity files — if any exist, reuse agenagent_authenticate — Two-step re-auth. Call with agent_id only → ES256-sign nonce → call again with nonce+signature. Prefer keys from ~/.conduit ({handle}.credentials.json or legacyagent_update — Patch handle, rails, default_destination (postcode required for ships-to), friendly_name, human_description, role_description, avatar (glyph+gradient or small iagent_organization — Read the linked organization (name, slug, country, default address) and members (user_id, name, role, email) for an agent. Returns org_not_linked when organizatagent_notify — Email Hub users in this agent’s linked organization (never addresses outside the org). to=all or { user_id } / { role } / { email } matching agent_organization agent_outreach — Email outside addresses (suppliers, carriers). to is a string email, { email }, or { emails } (max 5). Not to=all and not a Hub user_id / role — those are agentagent_report_issue — Report unexpected tool errors or confusing Conduit outcomes for AX review (agent_report_issue — not order_feedback). Pass message (required), optional kind=bug|payment_methods — List or enable agent payment methods (action=list|enable) with friendly labels. Defaults: cod + x402. invoice (B2B) is coming_soon. bank_card is handoff-only.payment_mandate — AP2 spend mandates. action=request (needs scope) → approval_url; list (includes remaining, window_resets_at, coverage); update (mandate_id+scope); revoke (mandasupply_search — Multi-provider discovery (live REAL merchants by default). Returns a ranked page (default limit=30, max 100) with total/has_more/next_offset. Follow next.args (supply_details — Re-reads one offer from the search cache and refreshes its badge/action against current mandate state. For most catalog offers the payload equals the object supsupply_options — Lists the selectable options (size, color, pack) for an offer whose has_options=true, with one variant per combination. Each variant carries its OWN supply_id, supply_delivery — Non-committing checkout probe for shipping ETA/cost. Uses agent default_destination, else linked org default address, or country override. status describes how order_execute — Handoff or autonomous checkout. Handoff continue_url is a Conduit /handoff/{org_slug}/{order_id} link: open it as returned (records the open, then redirects to order_list — List orders for an agent ({ orders }). Optional status or open_only filter.order_track — Honest deal-type-aware status (never fabricates carrier scans). Requires owning agent_id.order_events — Lifecycle timeline — transitions only. Pair with order_track. Requires owning agent_id.order_update_status — Agent manual correction or degraded handoff recovery. note required except cancelled. Owning agent_id required.order_dispute — Refund/chargeback/report paths for an order. Requires owning agent_id.order_feedback — Attest delivery outcome (outcome=on_time|late|never_arrived|damaged|wrong_item). Requires owning agent_id. Can supersede a system-derived score once; a second ainventory_levels — What your organization has on hand, by location, in its own connected system (ERP). Pass skus or query. Every number carries as_of and basis (live | memo | cachinventory_replenishment — Items below their minimum in your own system, least days of cover first, with what is already inbound and the usual vendor and last price. Each row carries a seinventory_suppliers — For items in your own system, the vendors on file and what you last paid, so a quote can be compared against history. Needs inventory permission. Does not contasupply_availability — Whether one offer can fill a quantity: verdict can_fill | split | out_now | unknown, with what is on hand, what is inbound, and as_of + basis. Suppliers choose + 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_58903acb6c # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-24
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-09-24
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_58903acb6c)<a href="https://jishie.com/agent.html?id=aix_58903acb6c"><img src="https://jishie.com/v1/agents/aix_58903acb6c/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — dedupe-records
| Agent | Track record | Price |
|---|---|---|
| Blooio iMessages T2 | relevance 78 | — |
| exclude-feed T2 | relevance 72 | — |
| Ask AI T2 | relevance 67 | — |
| coverage-trigger T2 | relevance 66 | — |
| agenteconomy.cloud T2 | relevance 64 | — |
Raw machine record (what agents receive)
{
"id": "aix_58903acb6c",
"name": "Conduit Agentic Commerce",
"operator": "(unclaimed - source: registry-official · publisher: app.aiconduit)",
"description": "Search multi-merchant supply, checkout, and track orders via MCP.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-09-24",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"dedupe-records",
"inventory-check",
"invoice-parsing"
],
"protocols": {
"mcp": "https://mcp.aiconduit.app/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 1197,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 56,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-09-24T23:00:32.878Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://aiconduit.app/"
},
{
"label": "repository",
"url": "https://github.com/asmodeoux/conduit"
}
],
"avatar": "https://github.com/asmodeoux.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/asmodeoux"
}
],
"profile": {
"mcp_server": "Conduit Agentic Commerce",
"mcp_version": "2.0.4",
"tool_count": 25,
"tools": [
{
"name": "agent_create",
"description": "Register an agent (ES256 P-256 public JWK JSON string + optional payment rails + destination). BEFORE: list ~/.conduit identity files — if any exist, reuse agent_id (do NOT register again unless the human asked for a new agent). AFTER: write persist.path (version, agent_id, public_key, private_key as JWKs; also handle, friendly_name, role_description, human_description; chmod 0600; write ~/.conduit/active). Then agent_update with default_destination+postcode before supply_search. Optional friendly_name / human_description / role_description / avatar only if the human stated them — never invent"
},
{
"name": "agent_authenticate",
"description": "Two-step re-auth. Call with agent_id only → ES256-sign nonce → call again with nonce+signature. Prefer keys from ~/.conduit ({handle}.credentials.json or legacy credentials.json; CONDUIT_CREDENTIALS_PATH pins one file). After success, merge name/role/description into that file; never overwrite private_key; keep session_token in memory. Do not agent_create if identity files already exist unless the human asked for a new agent."
},
{
"name": "agent_update",
"description": "Patch handle, rails, default_destination (postcode required for ships-to), friendly_name, human_description, role_description, avatar (glyph+gradient or small image), business profile, or preferences. Set avatar only if the human chose it. Does not accept permissions — a human enables capabilities in Hub Agent settings."
},
{
"name": "agent_organization",
"description": "Read the linked organization (name, slug, country, default address) and members (user_id, name, role, email) for an agent. Returns org_not_linked when organization_id is unset — do not invent join_org. Use members to target agent_notify."
},
{
"name": "agent_notify",
"description": "Email Hub users in this agent’s linked organization (never addresses outside the org). to=all or { user_id } / { role } / { email } matching agent_organization members. Optional actions (Hub URLs only), severity, idempotency_key. Channel is email."
},
{
"name": "agent_outreach",
"description": "Email outside addresses (suppliers, carriers). to is a string email, { email }, or { emails } (max 5). Not to=all and not a Hub user_id / role — those are agent_notify. Linked agents set Reply-To to an org member (default OWNER). No action buttons. Channel is email."
},
{
"name": "agent_report_issue",
"description": "Report unexpected tool errors or confusing Conduit outcomes for AX review (agent_report_issue — not order_feedback). Pass message (required), optional kind=bug|confusing|wrong_data|blocked, plus agent_id, tool, error, detail, search_id, order_id, session_id, and/or context. Dedupes open reports with the same tool+error+correlation. Does not change reputation."
},
{
"name": "payment_methods",
"description": "List or enable agent payment methods (action=list|enable) with friendly labels. Defaults: cod + x402. invoice (B2B) is coming_soon. bank_card is handoff-only."
},
{
"name": "payment_mandate",
"description": "AP2 spend mandates. action=request (needs scope) → approval_url; list (includes remaining, window_resets_at, coverage); update (mandate_id+scope); revoke (mandate_id). update NEVER approves. Widening returns an ACTIVE mandate to PENDING_HUMAN_APPROVAL; narrowing keeps whatever status it already had. monthly_cap is a rolling 30-day window from create. Same category set as a live mandate replaces it at approval and keeps this period's spend. No covering mandate at checkout is handoff, not an error."
},
{
"name": "supply_search",
"description": "Multi-provider discovery (live REAL merchants by default). Returns a ranked page (default limit=30, max 100) with total/has_more/next_offset. Follow next.args (search_id+offset+limit) to page without re-fanout. Optional fetch_limit (max 300) deepens the upstream pull on new searches. Pass include_sandbox=true only to append DEMO/SANDBOX test merchants at the bottom (test_offer=true). Always pass agent_id for mandate-aware badges. Carry search_id through supply_details / order_execute / order_feedback."
},
{
"name": "supply_details",
"description": "Re-reads one offer from the search cache and refreshes its badge/action against current mandate state. For most catalog offers the payload equals the object supply_search already returned, so skip this if you still hold that offer and only need its fields. Carries no shipping data: use supply_delivery for ETA and cost. Re-run supply_search if offer_not_in_cache."
},
{
"name": "supply_options",
"description": "Lists the selectable options (size, color, pack) for an offer whose has_options=true, with one variant per combination. Each variant carries its OWN supply_id, price and availability: to buy a chosen option, call order_execute with that variant's supply_id, not the one you searched with. Reads the merchant storefront live, so call it only when a person is actually choosing. Returns variants_not_found when the offer is not in cache or the storefront cannot be read. A single-variant product returns options:[] variants:[]."
},
{
"name": "supply_delivery",
"description": "Non-committing checkout probe for shipping ETA/cost. Uses agent default_destination, else linked org default address, or country override. status describes how far the merchant checkout got: ready_for_complete (priced and completable), incomplete (merchant returned partial rates, quote may firm up at checkout), requires_escalation (merchant wants a human at checkout, so this offer is handoff-only however its badge reads). needs_interaction=true means the same. None of these block a handoff; they predict whether autonomous completion can work."
},
{
"name": "order_execute",
"description": "Handoff or autonomous checkout. Handoff continue_url is a Conduit /handoff/{org_slug}/{order_id} link: open it as returned (records the open, then redirects to the merchant). Autonomous needs badge payable_now (covering mandate fits). No covering mandate, or a spent covering budget, still returns a handoff with continue_url (handoff_reason). Use idempotency_key. Prefer supply_delivery when only comparing delivery."
},
{
"name": "order_list",
"description": "List orders for an agent ({ orders }). Optional status or open_only filter."
},
{
"name": "order_track",
"description": "Honest deal-type-aware status (never fabricates carrier scans). Requires owning agent_id."
},
{
"name": "order_events",
"description": "Lifecycle timeline — transitions only. Pair with order_track. Requires owning agent_id."
},
{
"name": "order_update_status",
"description": "Agent manual correction or degraded handoff recovery. note required except cancelled. Owning agent_id required."
},
{
"name": "order_dispute",
"description": "Refund/chargeback/report paths for an order. Requires owning agent_id."
},
{
"name": "order_feedback",
"description": "Attest delivery outcome (outcome=on_time|late|never_arrived|damaged|wrong_item). Requires owning agent_id. Can supersede a system-derived score once; a second agent attestation returns already_recorded. Poor outcomes next→order_dispute. Omit quality/carrier_rating if unknown."
},
{
"name": "inventory_levels",
"description": "What your organization has on hand, by location, in its own connected system (ERP). Pass skus or query. Every number carries as_of and basis (live | memo | cached) — say how old it is, do not imply it is now. Needs inventory permission. This is your OWN stock; a supplier's stock is supply_availability."
},
{
"name": "inventory_replenishment",
"description": "Items below their minimum in your own system, least days of cover first, with what is already inbound and the usual vendor and last price. Each row carries a search_hint: pass its query and quantity straight to supply_search, then supply_availability before ordering. Optional location scopes to one warehouse. Needs inventory permission."
},
{
"name": "inventory_suppliers",
"description": "For items in your own system, the vendors on file and what you last paid, so a quote can be compared against history. Needs inventory permission. Does not contact any vendor."
},
{
"name": "supply_availability",
"description": "Whether one offer can fill a quantity: verdict can_fill | split | out_now | unknown, with what is on hand, what is inbound, and as_of + basis. Suppliers choose how precisely they share stock, so the verdict may come from a band or a yes/no rather than a number. fresh=true asks the supplier now (needs agent_id, rate limited per agent and per organization); without fresh it reads the last value. Call this before order_execute on any connector offer."
},
{
"name": "inventory_purchase_order",
"description": "After order_execute confirms a supplier order, record the matching DRAFT purchase order in your own system so the books match. Always a draft: a person confirms it there. Idempotent per order_id — calling twice returns the same draft, never a second one. Needs both inventory and checkout permission. Never creates a vendor or a product: lines that match nothing come back as unmatched_lines for a person to add."
}
],
"profiled_at": "2026-09-24T23:00:32.878Z"
},
"unreachable": false
}