# Market2Agent — The Background Check of the Internet

Trust scoring for any entity on Earth. One API call, nine sensors, one number.

```
pip install market2agent
```

## Quick Start

```python
from trustchain import verify

result = verify("stripe.com")
print(result.score)    # 875
print(result.grade)    # "AAA"
print(result.trusted)  # True

# TrustResult is truthy:
if verify("stripe.com"):
    proceed()
```

## What It Does

Every `verify()` call fires **9 independent sensors** in parallel:

| Sensor | What It Checks |
|--------|---------------|
| Tranco | Global traffic rank (Top 1M) |
| crt.sh | Certificate transparency logs |
| VirusTotal | 70 security vendor consensus |
| DNS | SPF, DMARC, DKIM, DNSSEC |
| HTTP Headers | Security headers, WAF/CDN fingerprint |
| WHOIS | Domain age, registrar, expiry |
| Knowledge Graph | Wikipedia, Wikidata, Crunchbase |
| Web Presence | Structured data, status pages, tech stack |
| Social | LinkedIn, GitHub, social profiles |

Results are scored **0–1000**, graded **AAA to D**, with a clear recommendation: `PROCEED`, `REVIEW`, or `REJECT`.

Every observation is **SHA-256 hash-chained** on the TrustChain — an append-only, cryptographically verifiable ledger.

## Integration Patterns

### Decorator — gate any function

```python
from trustchain import guard

@guard("api.vendor.com", min_score=600)
def call_vendor_api():
    ...  # Only runs if vendor scores 600+
```

### Middleware — protect your entire app

```python
from trustchain import TrustGate

app.add_middleware(TrustGate, min_score=500)
```

### Async — for AI agent frameworks

```python
from trustchain import verify_async

result = await verify_async("openai.com")
```

## Federation — Build Your Own Trust Layer

Add custom sensors without affecting the canonical score:

```python
from trustchain import TrustNode

node = TrustNode(name="my-app", region="us-west-2")

@node.sensor("payment_reliability", weight=2.0)
def check_payments(target):
    rate = get_failure_rate(target)
    return {"score": int((1 - rate) * 100), "fail_rate": rate}

result = node.verify("stripe.com")
result.canonical_score   # 875 (from Market2Agent, immutable)
result.local_score       # 920 (from your sensors)
result.blended_score     # 888 (70/30 blend)
```

**Security model:** Canonical score is READ-ONLY. Your sensors can add caution (flag something canonical missed) but never remove it. If canonical says REJECT, your local score doesn't override that.

Your usage patterns — volume, diversity, consistency — are observed through normal API telemetry. Honest use at scale increases YOUR trust score. You earn trust by behavior, not by claiming it.

## Pricing

| Tier | Calls/mo | Price |
|------|----------|-------|
| Free | 10/hr | $0 |
| Pro | 1,000 | $50/mo |
| Business | 10,000 | $200/mo |

Preview scores are always free. No credit card required.

## Links

- **Website:** [market2agent.ai](https://market2agent.ai)
- **API Docs:** [market2agent.ai/docs](https://market2agent.ai/docs)
- **GitHub:** [github.com/jamesrausch100/DaaSTrustLayer](https://github.com/jamesrausch100/DaaSTrustLayer)

## License

MIT — use it anywhere, no restrictions.

Built by [James Rausch](https://market2agent.ai) in Scottsdale, AZ.
