How aakashmutum/paypal-hackathon works
TrustOra is a merchant/payee risk check placed between PayPal authorization and capture. A shopper or agent initiates checkout; the API holds funds, investigates merchant identity and supporting signals, decides from evidence and rules, then captures, holds for review, or voids. The web app presents the case and checkout flow, while an MCP server exposes agent tools. The README documents Channel3 pricing, registry checks, scam memory, and prompt-injection defenses; sampled source confirms key orchestration paths, but not every integration’s wiring.
Main entry points: orchestrator.ts Investigator · frontendApi.controller.ts Frontend Controller · orderOrchestration.service.ts Order Orchestration · apiClient.ts Web API Client
Components 30
Shopper Experience
- Web Checkout
apps/web/src/pages/Checkout.tsx - Case View
apps/web/src/pages/Engine.tsx - Web API Client
apps/web/src/api/apiClient.ts
Checkout API
- API Routes
apps/api/src/app.ts - Frontend Controller
apps/api/src/controllers/frontendApi.controller.ts - Agent Bridge
apps/api/src/controllers/agentBridge.controller.ts - Order Orchestration
apps/api/src/services/orders/orderOrchestration.service.ts - Payment Flow
apps/api/src/services/payments/paymentFlow.service.ts - PayPal Orders
apps/api/src/services/paypal/paypalOrders.service.ts - Investigation State
apps/api/src/services/investigation/investigation.types.ts - Merchant Verification
apps/api/src/services/verification/merchantVerification.service.ts - Risk Decision
apps/api/src/services/risk/riskEngine.service.ts
Investigation Engine
- Agent Runner
apps/api/src/services/agent/agentRunner.service.ts - Investigator
packages/agent/src/orchestrator.ts - Baseline Checks
packages/agent/src/tools/baseline.ts - Evidence Derivation
packages/agent/src/evidence/derive.ts - Scoring Rules
packages/agent/src/scoring - Decision Explanation
packages/agent/src/explain - Agent Ports
packages/agent/src/ports.ts
Evidence Integrations
- Merchant Signals
packages/signals/src/agentPort - Page Claims
packages/signals/src/agentPort/html.ts - Channel3 Pricing
packages/signals/src/agentPort/channel3Client.ts - Scam Memory
packages/memory/src - Business Registry
apps/api/src/services/registry/corporateRegistry.ts
Agent Access
- MCP Server
apps/mcp/src/server.ts - MCP API Client
apps/mcp/src/apiClient.ts - Checkout Tools
apps/mcp/src/tools/safeCheckout.ts
Other components
- Shopper
- AI Shopping Agent
- PayPal Sandbox
Connections 32
- Shopper → Web Checkout: starts checkout
README.md - Web Checkout → Web API Client: requests checkout
- Web API Client → API Routes: calls API
- API Routes → Frontend Controller: routes requests
apps/api/src/app.ts - Frontend Controller → Payment Flow: creates authorization
apps/api/src/controllers/frontendApi.controller.ts - Payment Flow → PayPal Orders: creates order
apps/api/src/services/payments/paymentFlow.service.ts - PayPal Orders → PayPal Sandbox: holds funds
README.md - Frontend Controller → Investigation State: stores investigation
apps/api/src/controllers/frontendApi.controller.ts - Frontend Controller → Agent Runner: starts investigation
apps/api/src/controllers/frontendApi.controller.ts - Agent Bridge → Agent Runner: runs agent
apps/api/src/controllers/agentBridge.controller.ts - Agent Runner → Investigator: invokes investigator
apps/api/src/services/agent/agentRunner.service.ts - Investigator → Baseline Checks: runs checks
packages/agent/src/orchestrator.ts - Baseline Checks → Agent Ports: uses ports
packages/agent/src/tools/baseline.ts - Agent Ports → Merchant Signals: collects signals
- Merchant Signals → Page Claims: extracts claims
packages/signals/src/agentPort/kernelClient.ts - Investigator → Evidence Derivation: derives evidence
packages/agent/src/orchestrator.ts - Investigator → Scoring Rules: scores evidence
packages/agent/src/orchestrator.ts - Investigator → Decision Explanation: writes explanation
packages/agent/src/orchestrator.ts - Investigator → Scam Memory: uses memory
packages/agent/src/orchestrator.ts - Investigator → Channel3 Pricing: checks prices
README.md - Order Orchestration → PayPal Orders: reads and captures
apps/api/src/services/orders/orderOrchestration.service.ts - Order Orchestration → Business Registry: looks up business
apps/api/src/services/orders/orderOrchestration.service.ts - Order Orchestration → Merchant Verification: verifies payee
apps/api/src/services/orders/orderOrchestration.service.ts - Order Orchestration → Risk Decision: evaluates risk
apps/api/src/services/orders/orderOrchestration.service.ts - Agent Runner → Frontend Controller: returns findings
apps/api/src/controllers/frontendApi.controller.ts - Web API Client → Case View: provides case data
apps/web/src/pages/Engine.tsx - Case View → Web API Client: requests case actions
apps/web/src/pages/Engine.tsx - AI Shopping Agent → MCP Server: uses tools
README.md - MCP Server → Checkout Tools: registers tools
apps/mcp/src/server.ts - Checkout Tools → MCP API Client: requests checkout
apps/mcp/src/tools/safeCheckout.ts - MCP API Client → API Routes: calls API
- Risk Decision → Payment Flow: guides capture or void
README.md