Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fxops-ai/agent-commerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Agent Commerce Protocol (ACP)

Open specification and reference implementation for agent-native data commerce.

ACP enables AI agents to autonomously discover, evaluate, and transact with data providers — without human mediation at each access decision. It defines the commercial and governance layer that sits between agent task execution and proprietary data sources.


The Problem

Traditional SaaS data products were built for human buyers: pricing pages, manual authentication, signed contracts. AI agents can't navigate any of that. When an agent tasked with M&A research hits a paywall, it has no way to evaluate the terms, decide if they comply with its operating policy, or execute a transaction — so it abandons the access attempt.

ACP fills that gap.


Three Schemas, One Flow

Provider publishes          Agent carries             Agent produces
ATS document       ──────▶  AAP policy      ──────▶   ATR record
(what's available,          (what it's                (what was agreed,
 what it costs,              authorized to             audit trail)
 terms of access)            agree to)
Schema Role Published by
ATS — Agent Terms Schema Machine-readable product terms at /.well-known/agent-terms.json Data providers
AAP — Agent Authorization Policy Operating authority the agent carries at runtime Agent creators
ATR — Agent Transaction Record Tamper-evident audit record of every access decision Agents (to creator's log endpoint)

Real-World Workflow Examples

Three GTM use cases showing buyer and seller perspectives, ATS/AAP/ATR flows, and outcome distributions. Each answers the same three questions:

"Is a human required in order for us to perform this transaction?" "Where can we realistically provide agentic transactions as a customer segment?" "How can we empower our existing customers with this workflow?"

Use Case 1 — M&A Due Diligence Research (Private Equity)

The scenario: A PE firm deploys a research agent to assemble first-pass due diligence packages across three proprietary data sources — financial data, litigation records, and media intelligence — within 90 minutes of a new target entering the pipeline.

Seller opportunity: Per-query pricing aligned to deal-cycle consumption patterns. New agent buyer segment invisible to current CRM pipelines.

Human required? ~2% — first-time provider access above spend threshold only. 97% fully autonomous.

ACP path: DISC → PARSE → EVAL → APPROVED → PAY (prepaid credit / x402) → ATR

Full flow diagram and schema examples


Use Case 2 — Supplier Contract Screening (Legal / Compliance)

The scenario: A Fortune 500 legal ops team deploys a compliance screening agent to run annual and quarterly supplier screening across OFAC sanctions, ESG violations, adverse media, and litigation records — 200 suppliers, three data sources.

Seller opportunity: Continuous quarterly consumption replacing annual project-based access. ATR audit record satisfies Chief Compliance Officer regulatory defensibility requirements directly.

Human required? ~6% — partial sanctions matches, preliminary ESG investigations, ambiguous jurisdiction only. 89% approved autonomous, 5.5% auto-rejected.

ACP path: DISC → PARSE → EVAL → APPROVED / REJECTED / ESCALATED → PAY (prepaid credit wallet) → ATR

Full flow diagram and schema examples


Use Case 3 — Commercial Underwriting Enrichment (Financial Services / Insurance)

The scenario: A commercial lines carrier deploys an underwriting enrichment agent to pull property valuation, CAT exposure, industry loss history, and financial stability data for 150–200 weekly submissions — reducing manual data assembly from 25–40 minutes to 5–10 minutes per submission.

Seller opportunity: Existing API customer expansion. No new contract, no new sales cycle. Outcome-based pricing ($0.45/enriched submission) replaces capped annual license. Monthly prepaid wallet ($2,500 budget) maps to enterprise procurement patterns.

Human required? ~3% escalations (CAT score >85, below-investment-grade financial stability, valuation anomalies). Human remains in loop for binding decision — not for data assembly.

ACP path: DISC → PARSE → EVAL → APPROVED / ESCALATED → PAY (prepaid credit wallet, auto-topup) → ATR

Full flow diagram and schema examples


Repository Structure

acp/
├── schemas/
│   ├── ats-schema.json          # Agent Terms Schema (JSON Schema draft-07)
│   ├── aap-schema.json          # Agent Authorization Policy
│   └── atr-schema.json          # Agent Transaction Record
│
├── reference/
│   └── acp/
│       ├── evaluator.py         # Core policy evaluation engine
│       ├── atr_builder.py       # ATR production with integrity hashing
│       ├── agent_client.py      # Full ACP flow client
│       └── mock_provider.py     # Mock ATS-enabled data provider servers
│
├── examples/
│   ├── ats/                     # Example ATS documents
│   └── aap/
│       └── enterprise-manda.json  # M&A research agent policy
│
├── tests/
│   └── test_acp.py              # Full test suite (25 tests, stdlib only)
│
└── docs/
    ├── acp-flow.md              # Mermaid flow diagram + decision reference
    └── workflow-examples/
        ├── uc1-pe-research.md
        ├── uc2-legal-compliance.md
        └── uc3-financial-services.md

Quick Start

No external dependencies. Python 3.10+ stdlib only.

git clone https://github.com/fxops-ai/agent-commerce
cd agent-commerce

# Run the full test suite
PYTHONPATH=reference python3 tests/test_acp.py

# Run a live demo (starts mock servers, runs full flow)
PYTHONPATH=reference python3 -c "
import json
from acp import ACPAgentClient
from acp.mock_provider import MockProviderServer

server = MockProviderServer()
server.start()

with open('examples/aap/enterprise-manda.json') as f:
    aap = json.load(f)

# Disable new-provider escalation for demo
aap['escalation_rules']['escalate_on'] = []

client = ACPAgentClient(
    aap=aap,
    agent_id='did:web:acme.com:agents:demo',
    known_providers={'com.capitalintel.dataproducts'}
)

result = client.access(
    'http://localhost:8001',
    task_description='M&A due diligence: company financial analysis'
)

print(json.dumps(result['atr'], indent=2))
server.stop()
"

For Data Providers

Publish an ATS document at /.well-known/agent-terms.json on your domain. Agents will discover it automatically during task execution.

Minimum viable ATS:

{
  "ats_version": "0.1.0",
  "provider": { "id": "com.yourco.data", "name": "Your Co Data", "jurisdiction": "US",
                "certifications": ["SOC2_TYPE2"] },
  "product": { "id": "your-product", "name": "Your Data Product",
               "category": "financial_company_data",
               "description": "What the data is and what it covers.",
               "freshness": { "update_frequency": "daily" } },
  "pricing": { "currency": "USD",
               "settlement_methods": [
                 { "method": "prepaid_credit", "min_purchase_usd": 5.00,
                   "topup_via": ["stripe", "invoice_net30"] }
               ],
               "models": [{ "model_id": "per-query", "type": "per_query",
                            "unit_price": 0.05, "unit": "single record" }] },
  "access": { "protocol": "rest_json", "endpoint_uri": "https://api.yourco.com/data",
              "auth_method": "api_key" },
  "usage_policy": { "permitted_uses": ["internal_analysis"],
                    "prohibited_uses": ["model_training"],
                    "redistribution": "derived_only",
                    "downstream_agents": "same_org_only" },
  "legal": { "terms_uri": "https://yourco.com/agent-terms",
             "governing_law": "State of Delaware, United States",
             "auto_renew": false,
             "agent_binding": "agent_acts_as_agent_of_buyer" }
}

See the full SaaS Provider Implementation Guide and complete ATS schema for all available fields.


Payment Rail Integration

ACP is payment-rail agnostic. The authorization decision (ATS + AAP → ATR) is independent of how money moves. Supported settlement methods in the current reference implementation:

Method Best for Notes
prepaid_credit Per-query, per-record micropayments Recommended for enterprise. Human tops up wallet via Stripe or invoice; agent draws autonomously. Maps to standard procurement patterns.
x402 Autonomous micropayments, crypto-native HTTP-level protocol. No human required per transaction. Ideal for high-frequency sub-cent queries.
ap2 Google ecosystem agents Google Agent Payment Protocol.
stripe Subscriptions, prepaid wallet top-ups Not recommended for direct per-query agent billing. Use as topup mechanism for prepaid_credit instead.
usdc Stablecoin settlement Via Nevermined or direct.

Note on Stripe: Stripe's per-transaction fee structure (2.9% + $0.30) makes it unsuitable for direct per-query micropayments. Use prepaid_credit with topup_via: ["stripe"] for enterprise-friendly billing that maps to standard procurement workflows. See Issue #2 — Prepaid Credit Wallet for full schema proposal.


Adopters & Implementations

This section tracks known ATS publications, agent implementations, and community contributions. If you've published an ATS document or built an ACP-compatible agent, open a PR to add your entry below.

Data Providers (ATS Published)

No entries yet. Be the first — open a PR to add your ATS endpoint.

Provider Domain Data Category Pricing Model Date Added

Agent Implementations (AAP Deployed)

No entries yet. If you've deployed an agent with an ACP-compatible AAP policy, open a PR to add your entry.

Organization Use Case Agent Type AAP Scope Date Added

Community Contributions

Contributor Contribution Link

To add your implementation:

  1. Fork this repository
  2. Edit this README — add a row to the relevant table above
  3. Open a pull request with the title [Adopter] Your Organization Name

For ATS publication validation, use the ATS schema to confirm your document is spec-compliant before submitting.


Open Issues & Roadmap

Issue Title Milestone
#1 Add prepaid_credit as first-class settlement pattern v0.2.0

v0.2.0 priorities:

  • Prepaid credit wallet settlement pattern (structured settlement_methods field)
  • TypeScript reference implementation
  • ACP validator CLI tool
  • LLM-backed semantic policy evaluation
  • Enterprise AAP templates — healthcare, legal, financial services

v1.0.0 milestone:

  • Stable schema version (no breaking field changes)
  • IANA registration of agent-terms well-known URI suffix
  • Formal interoperability test suite

Spec Version

ACP v0.1.0 — Draft for public comment.

Schema stability: ATS, AAP, ATR schemas are not yet stable. Field names and enum values may change before v1.0.0. Breaking changes will be communicated via the versioning block in the schemas.


License

  • Code (reference implementation, tests, tooling): Apache 2.0
  • Specification (schemas, documentation): CC BY 4.0

Both licenses permit free use, modification, and distribution. Attribution required for specification derivatives.


Contributing

Issues and PRs welcome at github.com/fxops-ai/agent-commerce.

Priority areas for contribution:

  • Real-world ATS documents from production data providers
  • TypeScript reference implementation
  • LLM-backed semantic policy evaluation (replacing keyword heuristic in _check_task_relevance)
  • ACP validator CLI tool
  • Enterprise AAP templates for healthcare, legal, and financial services verticals

Further Reading

About

ACP: Open spec for AI agent-native data commerce. Three schemas — Agent Terms (ATS), Authorization Policy (AAP), Transaction Record (ATR) — enable agents to discover, evaluate, and transact with proprietary data sources autonomously. Python reference implementation included. Payment-rail agnostic.

Topics

Resources

License

Apache-2.0, CC-BY-4.0 licenses found

Licenses found

Apache-2.0
LICENSE-CODE
CC-BY-4.0
LICENSE-SPEC.txt

Stars

Watchers

Forks

Packages

 
 
 

Languages