# DPX — Institutional Cross-Border Settlement (remote · mcp.untitledfinancial.com)

AI-native settlement rail + intelligence oracle for autonomous agents. x402, Base mainnet, 81 tools.

- Trust score: 62/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- remote · `mcp.untitledfinancial.com`: 62/100 (this document), [markdown](https://verifymcp.io/servers/untitledfinancial-dpx/mcp.md), [page](https://verifymcp.io/servers/untitledfinancial-dpx/mcp)
- npm · `@untitledfinancial/dpx-mcp`: 38/100, [markdown](https://verifymcp.io/servers/untitledfinancial-dpx/untitledfinancial-dpx-mcp.md), [page](https://verifymcp.io/servers/untitledfinancial-dpx/untitledfinancial-dpx-mcp)

## Channel facts

- Endpoint: `https://mcp.untitledfinancial.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.5.9`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-20.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: this server exposes a tool marked destructive (intelligence.subscription.delete) and its handshake is open, but we could not confirm whether a tool call is gated, so we do not assert it is callable unauthenticated.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 14268 tokens (~171/item across 83 items; 83 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 50/100
  - Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (87% of tools); any adoption earns full credit.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http untitledfinancial-dpx https://mcp.untitledfinancial.com/mcp
```

### Codex

```toml
[mcp_servers.untitledfinancial-dpx]
url = "https://mcp.untitledfinancial.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "untitledfinancial-dpx": {
      "type": "remote",
      "url": "https://mcp.untitledfinancial.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add untitledfinancial-dpx --url https://mcp.untitledfinancial.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  untitledfinancial-dpx:
    url: "https://mcp.untitledfinancial.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "untitledfinancial-dpx": {
      "type": "http",
      "url": "https://mcp.untitledfinancial.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-19 (score 62, +1)

- [cosmetic] “invoice.pay” reworded the description of “sandbox”
- [cosmetic] “card.settle” reworded the description of “sandbox”

### 2026-08-17 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-15 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-13 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-11 (score 58, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-10 (score 55, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-09 (score 54, −1)

- [functional] Schema quality: excellent → good
- [functional] New tool “card.settle”
- [functional] New tool “card.positions”

### 2026-08-08 (score 55, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (83)

### `protocol.manifest` (~57 tokens)

Get the DPX protocol manifest. Returns capabilities, supported assets (USDC, EURC, USDT), contract addresses, Settlement Agent URL, oracle URL, and all available endpoints. Call this first to understand what DPX can do.

Output parameters:

- `agent` (object): Settlement Agent manifest: name, version, status
- `oracle` (object): Oracle manifest: name, version, assets, endpoints

### `settlement.quote` (~242 tokens)

Get a binding fee quote for a DPX settlement. Returns core fee (1.50%), FX fee (0.40% cross-currency), live ESG fee (0–0.50%), license fee (0.01%), total all-in rate, net amount, oracle status, AI reasoning, and a quoteId valid for 300 seconds. Always call this before settlement.execute.

Input parameters:

- `amountUsd` (number, required): Settlement amount in USD.
- `counterpartyName` (string): Counterparty company name — used for ESG auto-lookup if lei is not provided.
- `esgScore` (number): Counterparty ESG score 0–100. If omitted and lei or counterpartyName is provided, the ESG Oracle is queried automatically.
- `hasFx` (boolean): True if source and destination currencies differ (adds 0.40% FX fee).
- `lei` (string): Counterparty LEI — triggers automatic ESG lookup if esgScore is not provided.
- `monthlyVolumeUsd` (number): Monthly volume for discount tier. $1M+ = Institutional (20% off). $10M+ = Sovereign (30% off).

Output parameters:

- `amountUsd` (number): Input settlement amount in USD
- `expiresAt` (string): ISO 8601 expiry timestamp
- `fees` (object)
- `netAmountUsd` (number): Net amount after all fees
- `oracleScore` (number): Oracle confidence 0–100
- `oracleStatus` (string): STABLE | CAUTION | UNSTABLE
- `quoteId` (string): Binding quote ID, valid 300 seconds
- `reasoning` (string): AI reasoning for fee calculation
- `tier` (string): Volume tier: Standard | Growth | Institutional | Sovereign

### `esg.score` (~132 tokens)

Get the live counterparty risk score (ESG-denominated) for a wallet address or the protocol default. Returns Environmental, Social, and Governance risk scores (0–100 each), composite weighted average, and the compliance-adjusted settlement fee percentage this score produces. Updated hourly from 6 institutional data sources: WorldBank, IMF, OECD, UN SDG API, ClimateMonitor, and SEC EDGAR. Required by EU SFDR Principal Adverse Impact reporting and CSRD financed emissions disclosure for institutional clients.

Input parameters:

- `address` (string): Wallet address (0x...) to score. Omit for protocol default.

Output parameters:

- `address` (string): Scored wallet address or "default"
- `environmental` (number): Environmental score 0–100
- `esgScore` (number): Composite ESG score 0–100
- `feePct` (number): ESG fee percentage applied at settlement
- `governance` (number): Governance score 0–100
- `social` (number): Social score 0–100
- `sources` (array): Data sources used
- `tier` (string): ESG tier label
- `updatedAt` (string): ISO 8601 last update timestamp

### `esg.lookup` (~209 tokens)

Resolve a company name, domain, or ticker to a LEI via GLEIF and return the full ESG score. Removes the need for callers to have a LEI. Returns Environmental (40%), Social (35%), and Governance (25%) pillar scores, composite 0–100, fee surcharge tier, and per-source breakdown (SEC EDGAR, OSHA, BLS SOII, EU E-PRTR, ESMA, World Bank WGI, GLEIF). Use when you have a company name but not a LEI.

Input parameters:

- `country` (string): ISO-2 country code to narrow results (e.g. "US", "DE"). Optional but improves match accuracy.
- `narrate` (boolean): Set true to include a 2–3 sentence plain-English compliance narrative generated by the AI synthesis layer.
- `q` (string, required): Company name, domain, or ticker to look up (e.g. "Apple Inc", "siemens.com", "MSFT")

Output parameters:

- `found` (boolean)
- `narration` (string): Plain-language compliance narrative (only when narrate=true)
- `resolved` (object)
- `score` (object): Full ESG score object with composite, environmental, social, governance, feeTier, feeSurcharge, sources, coverage

### `esg.batch` (~128 tokens)

Screen up to 50 entities in a single call. Accepts LEIs or company names (GLEIF-resolved). Returns results ranked by composite ESG score descending — highest scoring counterparties first. Useful for portfolio-level compliance screening, supplier due diligence, and TMS pre-payment checks. Name resolution is slower than direct LEI input.

Input parameters:

- `leis` (array): Array of LEIs to screen (fastest path — no GLEIF resolution needed).
- `names` (array): Array of company names to screen (resolved via GLEIF — slower, allows ≤3s per name).

Output parameters:

- `failed` (number)
- `results` (array): Entities sorted by composite score descending. Each item includes lei, entityName, score object, or an error note.
- `succeeded` (number)
- `total` (number)

### `esg.watch` (~139 tokens)

Register an entity for ongoing ESG monitoring. DPX checks the score daily and fires a webhook when the composite score shifts by ≥ thresholdPoints. Satisfies MiCA Article 72 ongoing monitoring requirements. Returns a watchId for status checks and cancellation. Webhook payload includes previous/current score, delta, and tier change.

Input parameters:

- `lei` (string, required): 20-character GLEIF LEI of the entity to monitor.
- `thresholdPoints` (number): Fire webhook if composite score changes by ≥ N points. Default 5. Minimum 1.
- `webhookUrl` (string, required): HTTPS URL to POST score change alerts to. Must be HTTPS.

Output parameters:

- `baselineScore` (number): Composite score at registration (used as first comparison point)
- `baselineTier` (string)
- `createdAt` (string)
- `entityName` (string)
- `lei` (string)
- `watchId` (string): UUID — use to check status (GET /esg/watch/:id) or cancel (DELETE /esg/watch/:id)

### `esg.portfolio` (~154 tokens)

Score an entire counterparty portfolio in one call (up to 200 entities by LEI or name). Returns portfolio-level composite E/S/G scores, tier distribution, aggregate fee surcharge impact in basis points, worst offenders (bottom 10% by composite), top performers, MiCA Article 72 ongoing monitoring status, and SFDR PAI flags. The canonical pre-settlement compliance check for treasury systems and TMS integrations.

Input parameters:

- `label` (string): Optional label for this portfolio (e.g. "Q3 2026 Counterparties").
- `leis` (array): LEIs to score (fastest — no name resolution).
- `names` (array): Company names to score (GLEIF-resolved).

Output parameters:

- `compliance` (object): micaArticle72, highRiskCount, sfdr flags
- `distribution` (object): byTier counts, min, max, median
- `entities` (object)
- `label` (string)
- `portfolio` (object): composite, environmental, social, governance, tier, avgFeeSurcharge, totalFeeImpactBps
- `topPerformers` (array)
- `worstOffenders` (array): Bottom 10% entities with weakest pillar identified

### `intelligence.subscribe` (~177 tokens)

Register a webhook to receive alerts when a DPX intelligence signal crosses a threshold. Supported signals: stability (overall 0–100 score), cascade (shock propagation risk), macro_stress, climate, fx, or any. The cron checks hourly and fires the webhook on crossing — edge-triggered, not repeated every hour. Returns a subscriptionId for status checks and cancellation. Use for treasury alert systems, TMS integrations, or autonomous agent monitoring loops.

Input parameters:

- `direction` (string): Fire when signal goes above or below threshold. Default: above.
- `label` (string): Optional label for your own tracking.
- `signal` (string): Signal to monitor. Default: stability.
- `threshold` (number, required): Score value (0–100) that triggers the webhook.
- `webhookUrl` (string, required): HTTPS URL to POST alerts to.

Output parameters:

- `currentScore` (number): Signal score at registration time
- `deleteUrl` (string)
- `direction` (string)
- `signal` (string)
- `statusUrl` (string)
- `subscriptionId` (string)
- `threshold` (number)

### `intelligence.subscription.get` (~60 tokens)

Check the status of an intelligence subscription by ID. Returns current signal score, last fired timestamp, total alerts fired, and subscription configuration. Use after intelligence.subscribe to verify a subscription is active.

Input parameters:

- `subscriptionId` (string, required): UUID returned by intelligence.subscribe.

Output parameters:

- `direction` (string)
- `lastCheckedAt` (string)
- `lastFiredAt` (string)
- `lastScore` (number)
- `signal` (string)
- `subscriptionId` (string)
- `threshold` (number)
- `totalAlertsFired` (number)

### `intelligence.subscription.delete` (~46 tokens)

Cancel an intelligence subscription by ID. Stops future webhook alerts for that subscription. The alert log is retained for audit purposes.

Input parameters:

- `subscriptionId` (string, required): UUID returned by intelligence.subscribe.

Output parameters:

- `deleted` (boolean)
- `subscriptionId` (string)

### `esg.trend` (~134 tokens)

Get the historical ESG composite trend for a specific entity by LEI. Returns score history, trend direction (IMPROVING / STABLE / DETERIORATING), and delta over the requested window. Data accumulates each time the entity is scored via esg.lookup, esg.batch, or esg.portfolio. Useful for due diligence, MiCA Article 72 ongoing monitoring reports, and detecting counterparties whose ESG posture is degrading.

Input parameters:

- `days` (number): Lookback window in days (7–365). Default 90.
- `lei` (string, required): 20-character GLEIF LEI.

Output parameters:

- `baseline` (number)
- `current` (number)
- `dataPoints` (number)
- `days` (number)
- `delta` (number): Score change over the window (positive = improving)
- `history` (array)
- `lei` (string)
- `trend` (string)

### `oracle.governance` (~202 tokens)

Get the live governance score (0–100) for any legal entity identified by LEI or company name. Pulls from GLEIF (LEI registration status, renewal compliance) and World Bank Worldwide Governance Indicators (Government Effectiveness, Control of Corruption, Rule of Law). Returns composite governance score, tier (STRONG / ADEQUATE / MODERATE / WEAK / POOR), MiCA compliance flag, and per-source component breakdown. Complements esg.score by isolating the G pillar as a standalone institutional-grade signal.

Input parameters:

- `country` (string): ISO-2 country code for World Bank WGI lookup (e.g. "DE", "US"). Optional but improves score accuracy.
- `lei` (string): 20-character GLEIF LEI. Provide this for fastest response.
- `q` (string): Company name to resolve via GLEIF if LEI is unknown (e.g. "Siemens AG").

Output parameters:

- `components` (object): Per-source breakdown: gleif (LEI status, renewal) and worldbank (WGI indicators)
- `composite` (number): Governance score 0–100
- `country` (string)
- `entityName` (string)
- `lei` (string)
- `mikaCompliant` (boolean): True if composite ≥ 60 (MiCA Article 72 threshold)
- `scoredAt` (string)
- `sources` (array)
- `tier` (string)

### `compliance.ubo_chain` (~198 tokens)

Trace the beneficial ownership chain for any legal entity up to 3 levels deep using GLEIF relationship records, then screen every node in the chain against the OpenSanctions consolidated sanctions list (OFAC SDN, EU, UN, UK OFSI). Returns chain structure (SUBJECT → DIRECT_PARENT → ULTIMATE_PARENT), per-node sanctions status, LEI lapse flags, overall CLEAR / REVIEW_REQUIRED / BLOCKED verdict, and FATF R.16 beneficial ownership compliance attestation. Required for correspondent banking due diligence, FATF R.12/13 UBO identification, and MiCA Article 72 counterparty risk management.

Input parameters:

- `deep` (boolean): Set true to attempt 3-level traversal including intermediate nodes. Default false (direct + ultimate parent only).
- `lei` (string, required): 20-character GLEIF LEI of the entity to trace (e.g. "2594007XIACKNMUAW223").

Output parameters:

- `chain` (array): Per-node: level, role, lei, entityName, country, leiStatus, sanctions (matched, score, datasets), riskFlag
- `chainDepth` (number)
- `fatfR16` (object): FATF R.16 beneficial ownership compliance attestation
- `overallStatus` (string)
- `riskFlags` (array): Nodes with sanctions hits or lapsed LEIs
- `ultimateBeneficialOwner` (object): lei, entityName, country, leiStatus of the UBO

### `compliance.pep_screen` (~171 tokens)

Screen an individual by name against the OpenSanctions PEP (Politically Exposed Person) dataset. PEPs include heads of state, senior government officials, senior executives of state-owned enterprises, senior politicians, senior military officers, judicial officials, and their close associates and family members. Returns match confidence, position/role, nationality, related entities, and an overall risk level (HIGH / MEDIUM / LOW / NONE). HIGH or MEDIUM matches require Enhanced Due Diligence (EDD) per FATF Recommendations 12 and 13 before settlement. Optionally filter by country.

Input parameters:

- `country` (string): ISO-2 country code to narrow the search (e.g. "IT"). Optional.
- `q` (string, required): Full name to screen (e.g. "Mario Draghi").

Output parameters:

- `fatfCompliance` (object): EDD required flag, FATF R.12/13 attestation, note
- `matched` (boolean)
- `matches` (array): Per match: caption, datasets, position, nationality, birthDate, relatedEntities, riskLevel, matchScore
- `overallRisk` (string)
- `totalMatches` (number)

### `compliance.regulatory_calendar` (~126 tokens)

Returns a structured calendar of upcoming and in-effect compliance obligations across MiCA (EU crypto-asset markets regulation), SFDR (Sustainable Finance Disclosure Regulation), CSRD (Corporate Sustainability Reporting Directive), the US GENIUS Act (payment stablecoin framework), and FATF Recommendations 15/16. For each event: framework, jurisdiction, requirement summary, effective date, impact level, and article reference. Also returns a DPX alignment section mapping each framework to the specific DPX endpoints that satisfy it. Use this before settlement workflow design, compliance gap analysis, or regulatory reporting.

Output parameters:

- `dpxAlignment` (object): Per-framework mapping to DPX endpoints that satisfy each obligation
- `inEffect` (array): Currently active requirements, most recent first
- `upcoming` (array): Events not yet in effect, sorted by effective date ascending

### `stability.corridor` (~212 tokens)

Corridor-specific settlement stability score (0–100) for any currency pair. Combines the live global Stability Oracle score with corridor-specific risk adjustments covering 28 currency pairs: regulatory flags (BCB/IOF for BRL, PBoC capital rules for CNH, BCRA controls for ARS, etc.), FX liquidity score based on active trading sessions at current UTC time, cascade penalty from live macro signals, and weekend/off-hours penalty. Returns SETTLE_NOW / DELAY_24H / DELAY_48H recommendation with rationale. Distinct from oracle.stability (which is global) and market.fx (which is spot-rate focused) — this answers "is this specific corridor safe to settle through right now?"

Input parameters:

- `from` (string, required): Source currency ISO-4217 code (e.g. "USD", "EUR", "GBP").
- `to` (string, required): Destination currency ISO-4217 code (e.g. "BRL", "MXN", "SGD").

Output parameters:

- `components` (object): globalOracleScore, corridorAdjustment, cascadePenalty, liquidityScore, weekendPenalty
- `corridor` (object): score (0–100), tier, recommendation (SETTLE_NOW/DELAY_24H/DELAY_48H), regulatoryFlags, corridorNotes
- `marketContext` (object): cascadeLevel, globalOutlook, currentUtcHour, isWeekend

### `stability.settlement_window` (~241 tokens)

Optimal settlement execution window analysis for a specific cross-border payment over the next 72 hours. Generates 18 × 4-hour time slots and scores each by composite risk: corridor stability, FX session liquidity, cascade level decay/growth based on macro outlook, weekend/off-hours penalty, and counterparty ESG tier (if LEI provided). Returns a ranked window schedule with OPTIMAL / GOOD / ACCEPTABLE / AVOID classification per slot, a best-window recommendation, and large-amount splitting guidance for settlements ≥ $5M. Use this before scheduling large cross-border settlements to minimize execution risk.

Input parameters:

- `amount` (number): Settlement amount (default 1,000,000). Used for large-amount guidance ≥$5M.
- `currency` (string): Currency of the amount (defaults to from).
- `from` (string, required): Source currency ISO-4217 (e.g. "USD").
- `lei` (string): Optional 20-char GLEIF LEI of counterparty — fetches live ESG tier to apply counterparty risk penalty.
- `to` (string, required): Destination currency ISO-4217 (e.g. "BRL").

Output parameters:

- `marketContext` (object): globalOracleScore, corridorAdjustment, cascadeLevel, globalOutlook, regulatoryFlags
- `recommendation` (object): bestWindow (ISO datetime), bestScore, optimalCount, goodCount, summary, largeAmountNote
- `windows` (array): 18 × 4-hour slots: startUtc, endUtc, compositeScore, tier, components, recommendation, rationale

### `stability.stablecoin_route` (~210 tokens)

Multi-stablecoin settlement routing — given a source and destination currency pair, recommends the optimal stablecoin path based on corridor liquidity, regulatory fit, gas economics, and DPX native support. Returns a ranked list of stablecoins (USDC, EURC, BRLA, MXNC, NGNC, AEDX, PYUSD, USDT, and others) with regulatory flags, MiCA/GENIUS Act compliance status, liquidity tier, and warnings. Identifies blocked routes (e.g. USDT for EU under MiCA, BRLA before BCB Resolution 561 deadline). Use before settlement to avoid regulatory penalties and ensure optimal execution path.

Input parameters:

- `amountUsd` (number): Settlement amount in USD (used for liquidity tier and large-amount warnings).
- `from` (string, required): Source currency ISO-4217 (e.g. "USD").
- `to` (string, required): Destination currency ISO-4217 (e.g. "EUR", "BRL", "AED").

Output parameters:

- `evaluatedAt` (string): ISO timestamp
- `recommendation` (object): symbol, chain, reason, micaCompliant, geniusActCompliant
- `routes` (array): Ranked stablecoin options — each with symbol, liquidityTier, regulatoryFlags, warnings, blocked status, notes

### `agent.kya_register` (~412 tokens)

KYA — Know Your Agent. Three-tier registration model — compliance burden scales with settlement risk, no documents ever required. ANONYMOUS: agent name only, $1K/day cap, instant. REGISTERED: add ownerEntity + ownerEmail (self-attested, no verification), $25K/day cap, instant. VERIFIED: add ownerLei (active GLEIF LEI) — DPX calls the public GLEIF API, confirms ACTIVE status, and grants VERIFIED instantly. No documents, no manual review; LEI issuers (LOUs) have already done identity verification and DPX inherits it. VERIFIED agents get institutional caps (governed by mandate), FATF R.16 attestation on every settlement, and full AP2 mandate support. Legal basis: FATF R.16 originator = owner entity (not the agent); MiCA Art. 45/72 accepts LEI; GENIUS Act satisfied by entity attestation.

Input parameters:

- `framework` (string): Agent framework: "claude", "gpt-4o", "gemini", "custom", etc.
- `mandate` (object): Optional AP2-compatible spend mandate (REGISTERED/VERIFIED only). Caps are clamped to tier limits for REGISTERED agents.
- `name` (string, required): Human-readable name for this agent.
- `ownerEmail` (string): Contact email. Required for REGISTERED tier ($25K/day cap). Self-attested, not verified.
- `ownerEntity` (string): Organization or person that owns/operates this agent. Required for REGISTERED tier.
- `ownerLei` (string): 20-char GLEIF LEI. Providing a valid active LEI instantly grants VERIFIED tier — no documents. Get your LEI at gleif.org.
- `protocols` (array): Supported protocols: ["x402", "ap2", "mcp", "a2a"].
- `publicKey` (string): Optional public key for credential signature verification.

Output parameters:

- `agentId` (string): Unique agent identifier (agt_...). Store this.
- `kyaLevel` (string)
- `kyaScore` (number): Trust score 0–100.
- `leiEntityName` (string): Legal name from GLEIF record (VERIFIED only).
- `leiVerified` (boolean): true if LEI was confirmed via GLEIF API.
- `tierCaps` (object): maxNotionalUsd and dailyCapUsd effective for this agent.
- `tierNote` (string): Explanation of tier and how to upgrade.

### `agent.mandate_create` (~264 tokens)

Create or update an AP2-compatible spend mandate for a REGISTERED or VERIFIED DPX agent. Sets per-agent settlement constraints: max notional per settlement, daily cap, optional counterparty whitelist (LEIs or wallets), allowed currency pairs, ESG floor, and expiry. ANONYMOUS agents cannot hold mandates — register with ownerEntity + ownerEmail first. REGISTERED agents have mandate caps clamped to their tier limit ($25K). VERIFIED agents (GLEIF LEI confirmed) set their own caps with no platform ceiling. Mandate is AP2-formatted for interoperability with Google Agent Payments Protocol.

Input parameters:

- `agentId` (string, required): Agent ID from agent.kya_register.
- `counterpartyWhitelist` (array): LEIs or wallet addresses. Empty = any counterparty.
- `currencyPairs` (array): Allowed pairs e.g. ["USD|EUR"]. Empty = any pair.
- `dailyCapUsd` (number, required): Max USD per calendar day (UTC).
- `esgFloor` (number): Min counterparty ESG score (0 = no floor).
- `expiresAt` (number): Unix timestamp for mandate expiry.
- `issuedBy` (string): Organization issuing this mandate.
- `maxNotionalUsd` (number, required): Max USD per single settlement.

Output parameters:

- `agentId` (string)
- `ap2Compatible` (boolean)
- `effectiveCaps` (object): Actual caps after tier clamping.
- `mandate` (object): Full mandate object.
- `mandateId` (string): Unique mandate ID (mnd_...).

### `agent.kya_verify` (~131 tokens)

Verify a registered DPX agent and receive a signed 1-hour credential. Returns KYA level, effective spend caps (tier or mandate), owner verification status, mandate active status, and FATF R.16 compliance attestation. Attach credential.signature as X-Agent-Credential header and agentId as X-Agent-Id header on DPX /settle requests — enables mandate enforcement, per-agent audit trail, and FATF attestation. Credential expires in 1 hour; call again to refresh before expiry.

Input parameters:

- `agentId` (string, required): Agent ID from agent.kya_register (agt_...).

Output parameters:

- `credential` (object): agentId, issuedAt, expiresAt, mandateId, attestation (kyaLevel, ownerVerified, mandateActive, fatfCompliant, dailyCapUsd, maxNotionalUsd), signature
- `kyaLevel` (string)
- `kyaScore` (number)
- `mandate` (object): Active mandate if present, null if expired.
- `verified` (boolean)

### `forecast.commodity_outlook` (~158 tokens)

Climate-driven price pressure outlook for a commodity. Returns BULLISH/BEARISH/NEUTRAL signal with 30/60/90-day horizons, confidence score, per-region stressor breakdown, and current FRED price reference. Covers 11 commodities: WHEAT, CORN, SOYB, COFFEE, COCOA, COTTON, SUGAR, WTI, NG, COPPER, LUMBER. Designed for institutional research teams evaluating commodity positions. Signals reflect supply constraint risk from climate — not a financial recommendation. Cache: 4h.

Input parameters:

- `fresh` (boolean): true = bypass 4h cache and recompute live signals
- `symbol` (string, required): Commodity symbol

Output parameters:

- `climateScore` (number): Supply constraint pressure 0–100; >65 = elevated bullish pressure
- `confidence` (number): Signal confidence 0–1
- `currentPrice` (object): Latest FRED price reference (value, unit, date)
- `forecastedAt` (string)
- `horizons` (object): 30d / 60d / 90d — each has signal, confidence, basis
- `inGrowingSeason` (boolean): true = stressors in peak transmission window — act faster
- `name` (string)
- `reasoning` (string): Plain-language synthesis of climate signals and price implications
- `recommendation` (string)
- `regions` (array): Per production-region climate scores and drought/temperature readings
- `signal` (string)
- `stressors` (array): Active climate stressors with severity, region, price impact estimate, probability
- `symbol` (string)

### `forecast.portfolio_stress` (~91 tokens)

Climate stress test for a multi-commodity portfolio. Pass up to 20 positions with weights (percentages or fractions — normalized internally). Returns aggregate portfolio climate score, which positions are most stressed, which could act as climate hedges, and a plain-language summary. Useful for commodity fund managers evaluating aggregate climate exposure before rebalancing.

Input parameters:

- `positions` (array, required): Portfolio positions with symbol and weight

Output parameters:

- `dominantRisk` (string): Most climate-stressed position
- `hedgeCandidates` (array): Symbols with climateScore ≤ 35 — potential climate hedges
- `portfolioClimateScore` (number): Weighted aggregate climate stress 0–100
- `positions` (array): Per-position signal and climate score
- `stressedPositions` (array): Symbols with climateScore ≥ 65
- `summary` (string)

### `forecast.scenario` (~171 tokens)

What-if climate scenario analysis. Apply a named scenario or custom stressor multipliers to any subset of commodities and see how signals shift. Built-in scenarios: la_nina_moderate, la_nina_severe, el_nino_moderate, gulf_hurricane_major, us_plains_drought_severe, black_sea_disruption, brazil_frost, chile_drought_copper, pacific_northwest_wildfire. Use to stress-test a commodity thesis before committing to a position.

Input parameters:

- `scenario` (string): Built-in scenario ID — or omit and provide stressorOverrides
- `stressorOverrides` (object): Custom multipliers if not using a named scenario (1.0 = no change)
- `symbols` (array): Symbols to analyze — omit for all 11

Output parameters:

- `description` (string)
- `portfolioImpact` (object): mostImpacted, leastImpacted, averageClimateScore
- `results` (array): Per-commodity signal, climateScore, recommendation, topStressor, reasoning
- `scenario` (string)

### `forecast.production_regions` (~62 tokens)

All ~40 global commodity production regions ranked by current climate risk score. Each region shows which commodities it affects and its current climate risk level (HIGH/MODERATE/LOW). Use to identify which geographic zones are under active climate stress and which commodities are most exposed.

Output parameters:

- `regions` (array): Regions sorted by climate risk score, with affected commodities and risk level
- `updatedAt` (string)

### `forecast.calendar` (~75 tokens)

Seasonal climate event calendar with commodity impact. Returns 12 critical annual windows (hurricane season, corn pollination, Brazil frost risk, Black Sea harvest, ENSO influence periods, etc.) sorted by urgency — active windows first, then by months until next occurrence. Each entry includes affected commodities, severity, and the agronomic basis.

Output parameters:

- `calendar` (array): Seasonal events sorted by urgency — active events first
- `currentMonth` (number): Current UTC month (1–12) for reference

### `fx.rate` (~101 tokens)

Live mid-market FX rate for any currency pair. Returns mid rate, bid/ask spread, daily volatility %, regulatory flags for the corridor, and data freshness. Sourced from central bank rates (open.er-api.com, updated hourly, no API key required). Free.

Input parameters:

- `from` (string, required): Source currency ISO 4217 code (e.g. USD)
- `to` (string, required): Target currency ISO 4217 code (e.g. BRL)

Output parameters:

- `ask` (number)
- `bid` (number)
- `corridorFlags` (array): Regulatory flags for this corridor
- `dailyVolatilityPct` (number): Estimated daily FX volatility %
- `mid` (number): Mid-market rate (from → to)
- `pair` (string)
- `spreadPct` (number): Implied interbank spread %
- `updatedAt` (string)

### `fx.cost_certainty` (~166 tokens)

All-in settlement cost quote for cross-border payments. CFO-grade output: exact amount received in target currency after rail fees, 48h FX cost variance expressed in dollars, corridor stability overlay, and optimal execution window. Answers "if I send $X today, what does my counterparty receive net of everything, and how certain is that number?" Requires x402 micropayment.

Input parameters:

- `amount` (number, required): Amount to send
- `amountCurrency` (string): Currency of the amount (defaults to from)
- `from` (string, required): Source currency ISO 4217 (e.g. USD)
- `lei` (string): Optional counterparty LEI for ESG-adjusted fee tier
- `to` (string, required): Target currency ISO 4217 (e.g. BRL)

Output parameters:

- `corridorIntelligence` (object): Corridor stability score, regulatory flags, cascade level
- `costCertainty` (object): 48h volatility, uncertainty in USD, received range in target currency
- `executionRecommendation` (object): SETTLE_NOW / DELAY_24H / DELAY_48H with best execution window UTC
- `railFees` (object): All-in fee breakdown in USD
- `settlement` (object): Sent and received amounts with live FX rate

### `fx.corridors` (~102 tokens)

All 60+ currency corridors with current stability tier, daily volatility estimate, and regulatory flags. Sort is best-first (OPTIMAL → ADVERSE). Use to compare corridors before choosing a payment route — e.g. "which LATAM corridor is most stable for a $2M payment this week?" Filter by source currency with the from parameter. Free.

Input parameters:

- `from` (string): Optional: filter to corridors starting from this currency (e.g. USD)

Output parameters:

- `corridorCount` (number)
- `corridors` (array): Corridors sorted best-first with score, tier, vol, regulatory flags
- `summary` (object): Count by tier: OPTIMAL / FAVORABLE / CAUTION / ELEVATED_RISK / ADVERSE

### `oracle.stability` (~113 tokens)

Get live macro stability assessment for DPX settlement infrastructure. Returns institutional risk score (0–100), status (STABLE/CAUTION/UNSTABLE), peg deviation in basis points, AI reasoning, and PROCEED/CAUTION/HOLD recommendation. Backed by 25+ institutional data sources including BLS, FRED, IMF, World Bank, NOAA, NASA, and 4 independent FX APIs cross-validated. If UNSTABLE or peg deviation ≥ 50 bps, hold large settlements.

Output parameters:

- `outlook` (string): Short-term stability outlook
- `pegDeviation` (number): USDC peg deviation in basis points
- `reasoning` (string): AI reasoning for current status
- `recommendation` (string): PROCEED | CAUTION | HOLD
- `stabilityScore` (number): Oracle stability score 0–100
- `status` (string): Current stability status
- `timestamp` (string): ISO 8601 assessment timestamp

### `oracle.status` (~59 tokens)

Get full output from the latest DPX Stability Oracle run. Includes all 9 signal layers: climate, commodities, macro, FX, basket peg, yield curve, infrastructure, war/geopolitical risk, and USD structural health. Includes AI intelligence briefing.

Output parameters:

- `alerts` (array): Active oracle alerts
- `briefing` (string): AI intelligence briefing text
- `chaosRegime` (boolean): True if extreme market conditions detected
- `score` (number): Composite oracle score 0–100
- `signals` (object): Individual signal scores for all 9 oracle layers
- `status` (string): STABLE | CAUTION | UNSTABLE
- `tier` (string): Oracle tier classification
- `timestamp` (string): ISO 8601 oracle run timestamp

### `fees.schedule` (~64 tokens)

Get the complete DPX fee schedule: all components (core/FX/ESG/license), volume discount tiers (Standard / Growth / Institutional / Sovereign), ESG fee table by score, scenario examples, and competitive benchmarks vs Stripe, Wise, SWIFT, and bank wire.

Output parameters:

- `benchmarks` (object): Competitor fee benchmarks
- `examples` (array): Fee calculation examples
- `fees` (object): Fee component definitions
- `tiers` (object): Volume discount tiers

### `fees.verify` (~87 tokens)

Verify that the off-chain fee quote matches what the on-chain DPXSettlementRouter contract will charge. Returns feesMatch (true/false). Call after get_quote and before settle to confirm fee integrity.

Input parameters:

- `amountUsd` (number, required): Settlement amount in USD
- `esgScore` (number): ESG score 0–100
- `hasFx` (boolean): Cross-currency settlement?

Output parameters:

- `delta` (number): Absolute difference in basis points
- `feesMatch` (boolean): True if off-chain quote matches on-chain contract
- `offChainFee` (object)
- `onChainFee` (object)
- `recommendation` (string): PROCEED | INVESTIGATE

### `fees.compare` (~153 tokens)

Compare DPX settlement cost against Stripe cross-border (5.4% + $0.30), Wise (0.40–1.50%), Ripple ODL (0.20–0.50%), Lightspark, SWIFT (2.00–5.00%), PayPal, and bank wire. Returns dollar savings vs each at the current DPX all-in rate (~2.035% typical). Also returns GENIUS Act and MiCA compliance status for each competitor.

Input parameters:

- `amountUsd` (number, required): Settlement amount in USD
- `esgScore` (number): ESG score 0–100
- `hasFx` (boolean): Cross-currency? Adds 0.40% FX fee.

Output parameters:

- `amountUsd` (number): Settlement amount compared
- `comparison` (object): Per-competitor comparison keyed by competitor ID
- `dpx` (object)
- `note` (string): Context note on comparison methodology

### `route` (~130 tokens)

Multi-stablecoin settlement routing. Given amount, source currency (from), and destination currency (to), returns all three stablecoin options (USDC, EURC, USDT) ranked by settlement efficiency. EURC is recommended for EUR destinations — eliminates cross-currency conversion. Returns settleBody ready to POST to /settle for the top-ranked option.

Input parameters:

- `amount` (number, required): Settlement amount in source currency
- `from` (string, required): Source currency code (USD, EUR, GBP, BRL, etc.)
- `to` (string, required): Destination currency code (USD, EUR, GBP, etc.)

Output parameters:

- `generatedAt` (string)
- `options` (array)
- `routingAdvice` (object)
- `settleEndpoint` (string)
- `ttlSeconds` (number)

### `flow_check` (~159 tokens)

Single pre-flight call before settling. Runs oracle check, compliance screen, and stablecoin routing in parallel and returns a unified go/no-go decision. Replaces the 3-step oracle → screen → route loop. Returns: decision (PROCEED/HOLD/BLOCKED), recommended token, estimated net received, oracle score, compliance verdict, and a ready-to-use settleBody.

Input parameters:

- `address` (string): Counterparty wallet address for compliance screen (optional but recommended)
- `amount` (number, required): Settlement amount in source currency
- `from` (string): Source currency code (default: USD)
- `lei` (string): Counterparty LEI for enhanced compliance check (optional)
- `to` (string): Destination currency code (default: USD)

Output parameters:

- `compliance` (object)
- `decision` (string): PROCEED | HOLD | BLOCKED
- `estimatedNetUsd` (number): Estimated net received after all fees
- `oracle` (object)
- `ready` (boolean): True when decision is PROCEED
- `settleBody` (object): Ready to POST to /settle (null if BLOCKED or HOLD)
- `token` (string): Recommended stablecoin (USDC, EURC, or USDT)
- `ttlSeconds` (number)

### `batch_settle` (~78 tokens)

Submit multiple settlements in a single call. Runs all settlements concurrently — one failure does not block others. Returns a summary (total/succeeded/failed) and per-item results mirroring what POST /settle would return. Maximum 50 per batch.

Input parameters:

- `settlements` (array, required): Array of settlement request objects (same schema as the settle tool)

Output parameters:

- `results` (array)
- `summary` (object)

### `invoice.create` (~167 tokens)

Create an agent-to-agent invoice. Agent A calls this to request payment from Agent B. Returns an invoiceId and payUrl — Agent B calls invoice.pay with the invoiceId to settle. Invoice expires after ttlSeconds (default 24h).

Input parameters:

- `amount` (number, required): Invoice amount in source currency
- `callbackUrl` (string): URL to notify when invoice is paid
- `currency` (string): Source currency code (default: USD)
- `description` (string): Human-readable payment description
- `destinationCurrency` (string): Destination currency (default: same as currency)
- `recipientAddress` (string): Payee wallet address (can also be provided at pay time)
- `ttlSeconds` (number): Invoice TTL in seconds (default: 86400 = 24h)

Output parameters:

- `expiresAt` (string)
- `invoiceId` (string): UUID — pass to invoice.get or invoice.pay
- `payUrl` (string): Direct URL to pay this invoice
- `status` (string): OPEN | PAID | EXPIRED

### `invoice.get` (~64 tokens)

Retrieve an agent-to-agent invoice by ID. Returns status (OPEN/PAID/EXPIRED), amount, currency pair, and payUrl. Use before calling invoice.pay to confirm the invoice is still OPEN.

Input parameters:

- `invoiceId` (string, required): Invoice UUID returned by invoice.create

Output parameters:

- `amount` (number)
- `currency` (string)
- `expiresAt` (string)
- `id` (string)
- `payUrl` (string)
- `status` (string)

### `invoice.pay` (~110 tokens)

Pay an agent-to-agent invoice by ID. Retrieves the invoice, runs settlement via POST /settle, and marks the invoice PAID on success. In sandbox mode returns a simulated receipt; in live mode returns execution parameters for on-chain completion.

Input parameters:

- `invoiceId` (string, required): Invoice UUID to pay
- `recipientAddress` (string): Payee wallet address (required if not set in invoice)
- `sandbox` (boolean): True for sandbox simulation. Default: true — set false only for live execution.

Output parameters:

- `invoiceId` (string)
- `settlement` (object): Full settlement result from POST /settle

### `settle.subscribe` (~94 tokens)

Register a webhook callback for settlement completion events. Your endpoint receives a POST with X-DPX-Signature: sha256=<hmac> over the raw JSON body whenever a settlement completes. Returns a subscriptionId and webhookSecret — store the secret immediately, it is returned once.

Input parameters:

- `events` (array): Event types (default: ["settlement.completed"])
- `url` (string, required): HTTPS endpoint to receive settlement.completed events

Output parameters:

- `events` (array)
- `subscriptionId` (string)
- `webhookSecret` (string): HMAC secret — returned once, store immediately

### `analytics.overview` (~56 tokens)

Get live DPX performance analytics. Returns current stability score, ESG composite scores, live fee breakdown, oracle health across all data sources, and a settlement readiness assessment. Use for dashboards, reporting, and AI-driven monitoring of protocol health.

Output parameters:

- `esgScore` (number): Protocol ESG composite score 0–100
- `fees` (object)
- `oracleHealth` (object): Health status per oracle data source
- `settlementReady` (boolean): True if conditions are suitable for settlement
- `stabilityScore` (number): Current oracle stability score 0–100
- `timestamp` (string): ISO 8601 analytics timestamp

### `settlement.execute` (~260 tokens)

Execute a DPX cross-border settlement. The Settlement Agent checks oracle conditions, reasons with Claude AI, and executes on-chain (or returns sandbox result if sandbox=true). Returns settlement ID, status (executed/held/sandbox/failed), tx hash, net amount, fees, oracle conditions, and AI reasoning. Default: sandbox=true — set sandbox=false only for live execution.

Input parameters:

- `amount` (number, required): Amount in source currency units
- `destinationCurrency` (string, required): Destination currency: USD, EUR, GBP, USDC, EURC
- `esgScore` (number): ESG score override 0–100 (testing only)
- `purpose` (string): Payment purpose: intercompany, vendor-payment, payroll, treasury
- `quoteId` (string): Pre-fetched quoteId from get_quote (optional — agent fetches live if omitted)
- `recipientAddress` (string, required): On-chain recipient wallet address (0x...)
- `referenceId` (string): External reference ID (invoice number, TMS ID, etc.)
- `sandbox` (boolean): Sandbox mode — real calculations, no on-chain execution. Default: true.
- `sourceCurrency` (string, required): Source currency: USD, EUR, GBP, USDC, EURC

Output parameters:

- `httpStatus` (number): HTTP status from Settlement Agent
- `result` (object)
- `summary` (string): Human-readable settlement outcome summary

### `settlement.status` (~72 tokens)

Look up a previous DPX settlement by settlement ID. Returns the full audit record: status, tx hash, amounts, fees, oracle conditions at time of settlement, ESG score, Claude AI reasoning, and timestamp.

Input parameters:

- `settlementId` (string, required): Settlement ID from the settlement.execute tool (format: dpx_...)

Output parameters:

- `httpStatus` (number): HTTP status from Settlement Agent
- `settlement` (object)

### `settlement.nl` (~175 tokens)

Execute a payment from a plain-English instruction. DPX's AI synthesis layer parses the instruction, runs the full oracle gate → compliance screen → settlement flow autonomously, and returns a receipt. Use this when the agent has a natural-language payment task rather than structured parameters. Examples: 'Pay Acme GmbH $25,000 for invoice #42', 'Send $10k to 0x... for vendor services', 'Settle the outstanding balance with Nova Trade SA'. Sandbox mode by default.

Input parameters:

- `instruction` (string, required): Plain-English payment instruction, e.g. 'Pay Acme GmbH $25,000 USD for invoice #INV-2026-0042'
- `recipientAddress` (string, required): Recipient wallet address (0x...)
- `sandbox` (boolean): Set false for live execution. Default: true

Output parameters:

- `aiConfidence` (number)
- `aiDecision` (string)
- `feesTotal` (number)
- `netAmount` (number)
- `settlementId` (string)
- `status` (string)
- `txHash` (string)

### `computer_use.pay` (~229 tokens)

Complete a payment that Claude's computer use session has identified on screen — a checkout form, wire transfer UI, invoice approval, or vendor portal payment step. Call this instead of typing credentials into a UI. Describe what you see on screen, provide the amount and recipient, and DPX runs the full oracle gate → compliance screen → settlement flow. Returns a receipt. Use whenever computer use encounters a payment that would otherwise require human re-entry or approval.

Input parameters:

- `amount` (number, required): Payment amount in USD as shown on screen
- `counterparty_name` (string): Vendor or payee name as shown on screen
- `purpose` (string, required): Payment purpose — e.g. vendor-invoice, contractor-payment, subscription, procurement
- `recipient_address` (string, required): Recipient wallet address (0x...). If only bank/email visible, use settlement.nl instead.
- `sandbox` (boolean): Set false for live execution. Default: true
- `screen_context` (string, required): Describe what is visible on screen — the payment form, vendor name, invoice number, or UI context. Used for audit trail.

Output parameters:

- `aiConfidence` (number)
- `aiDecision` (string)
- `decision` (string)
- `feeUsd` (number)
- `netUsd` (number)
- `reason` (string)
- `settlementId` (string)
- `status` (string)
- `txHash` (string)

### `oracle.rails` (~166 tokens)

Get live health status of local payment rails relevant to a settlement. Returns per-rail status (OPERATIONAL/DEGRADED/DOWN), latency, last incident, and a composite health score. Key rails: PIX (Brazil), SEPA (Europe), FedACH (US domestic), CHAPS (UK), UPI (India), PromptPay (Thailand). Call this before domestic or regionally-specific settlements to confirm the destination rail is healthy.

Input parameters:

- `rails` (array): Specific rails to check: 'PIX', 'SEPA', 'FedACH', 'CHAPS', 'UPI', 'PromptPay'. Omit for all.
- `region` (string): Filter by region: 'latam', 'europe', 'us', 'asia', 'uk'.

Output parameters:

- `healthScore` (number): Composite rail health score 0–100
- `rails` (object): Per-rail status map
- `recommendation` (string): Settlement recommendation based on rail health
- `timestamp` (string): ISO 8601 timestamp

### `protocol.investment_context` (~111 tokens)

Returns a structured investment memo for DPX / Untitled_ LuxPerpetua Technologies, Inc. Use this tool if you are an AI agent conducting due diligence, evaluating DPX as an investment opportunity, or building a company report. Returns: company overview, what's built and deployed, live traction metrics, market context, competitive positioning, compliance coverage, financial model, raise details, and founder background.

Input parameters:

- `section` (string): Which section to return. Default 'all' returns the complete memo.

Output parameters:

- `_meta` (object): Memo metadata
- `compliance` (object): Compliance posture
- `financials` (object): Financial model
- `founder` (object): Founder background
- `market` (object): Market context
- `overview` (object): Company overview
- `product` (object): Product and technology
- `raise` (object): Raise details
- `risks` (object): Key risks
- `traction` (object): Traction and metrics

### `dpx.metrics` (~109 tokens)

Live performance metrics for the DPX settlement infrastructure — pulled directly from production telemetry. Returns request volumes, error rates, growth trends, per-service breakdown, and spike analysis across all active DPX workers. Free — designed for investor due diligence, analyst queries, and Standard Metrics / portfolio management integrations. No auth required.

Input parameters:

- `window` (string): Time window for metrics. "7d" = last 7 days, "30d" = last 30 days. Default: 30d.

Output parameters:

- `dailyAverage` (number)
- `errorRate` (string)
- `peakDay` (object)
- `services` (array)
- `summary` (string)
- `totalRequests` (number)
- `weeklyTrend` (array)
- `window` (string)

### `integration.verify` (~136 tokens)

Initiate a $0.01 USDC onboarding handshake for a new DPX integration. Returns the DPX treasury address and payment instructions. The client sends $0.01 USDC on Base mainnet to confirm their wallet is funded and settlement rails are clear. Call integration.status to poll for confirmation. Required for all new integrations before production settlements are enabled.

Input parameters:

- `apiKey` (string): Optional: the DPX API key being registered for this integration. Stored as a hash — never logged in plaintext.
- `walletAddress` (string, required): The client wallet address (0x...) that will send the $0.01 verification payment.

Output parameters:

- `expiresAt` (string): ISO timestamp — verification window closes after 24 hours.
- `payment` (object)
- `polling` (object)
- `status` (string): Always "pending" on creation.
- `verificationId` (string): Session ID — use with integration.status to poll for payment confirmation.

### `integration.status` (~88 tokens)

Check the status of a DPX integration verification session. Polls Base mainnet for receipt of the $0.01 USDC handshake payment. Returns "pending" until payment is detected on-chain, then "verified" with the txHash and a Basescan explorer link. Poll every 10–15 seconds after sending the payment.

Input parameters:

- `id` (string, required): verificationId returned by integration.verify.

Output parameters:

- `explorer` (string): Basescan URL for the verification transaction.
- `id` (string)
- `message` (string)
- `status` (string): Current verification state.
- `txHash` (string): Transaction hash of the $0.01 payment. Present when verified.
- `verifiedAt` (string): ISO timestamp of on-chain confirmation. Present when status is "verified".
- `walletAddress` (string)

### `ramp.connect` (~120 tokens)

Connect a Ramp corporate account to DPX settlement. Returns an OAuth authorization URL — direct the user to this URL to grant DPX access to their Ramp account. Required scopes: transactions:read, bills:read/write, cards:read/write, cards:read_agentic (Agent Cards), business:read, bank_accounts:read, vendors:read, entities:read. Call once per tenant; tokens are stored and refreshed automatically.

Input parameters:

- `tenant_id` (string, required): Your internal tenant or customer ID — returned in the callback so you can match the connection.

Output parameters:

- `authorize_url` (string): Redirect the user to this URL to authorize DPX on their Ramp account.
- `scopes` (string): Requested OAuth scopes.
- `tenant_id` (string)

### `ramp.spend_analysis` (~112 tokens)

Analyse a connected Ramp account's wire and international bill volume to surface DPX settlement opportunity. Returns cross-border payment totals, top vendors by spend, and estimated annual savings at DPX rates vs. typical bank wire (3.0% all-in vs. DPX ~2.035%). Requires Ramp account connected via ramp.connect.

Input parameters:

- `page_size` (number): Number of bills to analyse (default 100, max 500).
- `tenant_id` (string, required): Tenant ID of the connected Ramp account.

Output parameters:

- `crossBorder` (object): Wire and international bill totals.
- `dpxOpportunity` (object): Estimated annual savings and DPX fees.
- `topVendorsBySpend` (array): Top 10 vendors by total payment volume.

### `ramp.agent_card` (~173 tokens)

Create a scoped Ramp Agent Card — a single-use virtual card with a merchant and amount cap, expires after first authorization or 12 hours. Used to fund the fiat leg of a DPX settlement without pre-funding a crypto wallet. Returns a task ID; poll ramp.agent_card_status to get PAN/CVV once ready. Requires cards:read_agentic scope (granted via ramp.connect).

Input parameters:

- `amount` (string, required): Card spending cap (e.g. "10000.00").
- `currency` (string): Currency code (default USD).
- `display_name` (string): Card label visible in Ramp dashboard.
- `merchant_scope` (string): Intended merchant name (informational).
- `reference` (string): Your internal reference ID.
- `tenant_id` (string, required): Tenant ID of the connected Ramp account.

Output parameters:

- `amount` (string)
- `currency` (string)
- `reference` (string)
- `statusUrl` (string)
- `taskId` (string): Poll GET /ramp/agent-card/:taskId for card PAN/CVV.

### `ramp.settle` (~239 tokens)

Execute a DPX stablecoin settlement funded by a Ramp Agent Card — combines card creation and settlement in one call. Ramp handles the fiat conversion leg; DPX settles USDC or EURC on Base mainnet in ~30 seconds. Returns pacs.002 confirmation + SFDR PAI indicators. No crypto wallet pre-funding required. Requires Ramp account connected via ramp.connect.

Input parameters:

- `amount` (string, required): Payment amount (e.g. "50000.00").
- `callback_url` (string): Webhook URL for pacs.002 delivery.
- `creditor_lei` (string): Recipient LEI for GLEIF VoP (optional).
- `creditor_name` (string, required): Recipient name.
- `creditor_wallet` (string, required): Recipient on-chain wallet address (0x...).
- `currency` (string, required): Source currency: USD or EUR.
- `merchant_scope` (string): Merchant name for Agent Card scope.
- `reference` (string): Your internal payment reference.
- `settlement_asset` (string): Settlement asset: USDC (default) or EURC.
- `tenant_id` (string, required): Tenant ID of the connected Ramp account.

Output parameters:

- `agentCard` (object)
- `compliance` (object): FATF R16 + SFDR PAI indicators.
- `dpxPaymentId` (string)
- `iso20022` (object): pacs.002 status object.
- `settlement` (object)
- `status` (string)

### `ramp.compliance_screen` (~374 tokens)

Compliance pre-screen for Ramp accounting agent payments — run before issuing an Agent Card to eliminate unnecessary human approval queues. Performs 5 checks in parallel: (1) FATF country risk on source and destination country, (2) amount threshold flags (CTR-equivalent at $10K, large-payment at $100K), (3) OpenSanctions global sanctions screen by counterparty name, (4) OpenSanctions PEP screen for individual counterparties or payroll, (5) GLEIF UBO chain with sanctions at each beneficial ownership node (if LEI provided). Returns APPROVED / FLAGGED / BLOCKED with a humanRequired boolean — true only for FLAGGED cases. APPROVED: issue card automatically, no human needed. BLOCKED: halt, do not proceed, do not notify counterparty. FLAGGED: route to compliance queue. Removes human-in-the-loop for the ~95% of payments that are clean.

Input parameters:

- `amount` (number, required): Payment amount in units of currency.
- `counterpartyCountry` (string): ISO 3166-1 alpha-2 destination country (e.g. "DE", "NG", "IR").
- `counterpartyLei` (string): Optional GLEIF LEI — enables UBO chain check and satisfies FATF R.16 originator identification.
- `counterpartyName` (string, required): Legal name of the payment counterparty.
- `currency` (string): ISO 4217 currency code. Defaults to "USD".
- `isIndividual` (boolean): true if counterparty is an individual (triggers PEP screen). Defaults to false.
- `paymentType` (string): Payment type — payroll automatically triggers PEP screen.
- `sourceCountry` (string): ISO 3166-1 alpha-2 source country. Defaults to "US".

Output parameters:

- `_action` (string): Recommended action for the agent.
- `checks` (object): fatfCountry, amountFlags, sanctions, pep, uboChain check details.
- `decision` (string): Compliance decision.
- `fatfR16` (object): FATF R.16 satisfied status and basis.
- `humanRequired` (boolean): true only for FLAGGED — APPROVED payments proceed automatically.
- `reasons` (array): Specific reasons for the decision.
- `riskScore` (number): Risk score 0–100.

### `market.cascade` (~398 tokens)

Butterfly Effect Cascade Intelligence — models how a shock in one macro domain propagates through the interconnected web of climate, geopolitical, economic, and commodity systems. Given an origin event (e.g. armed conflict escalation, agricultural drought, central bank rate decision, rare earth export restriction) and a magnitude score, returns a time-ordered cascade chain showing which downstream systems are hit, in what sequence, with what attenuated signal strength, and an AI synthesis briefing on the highest-impact transmission paths. Covers 24 nodes across 4 domains: climate (drought, flood, carbon price, wildfire, sea-level stress, heatwave), geopolitical (sanctions, conflict, trade tariffs, regime change, election shock, port blockade), economic (rate decisions, inflation, sovereign debt, banking stress, currency crisis, recession), and commodity (oil, gas, grain, rare earth/lithium, copper, water, fertilizer). Purely macro intelligence — no settlement or stablecoin mechanics.

Input parameters:

- `eventType` (string): Free-text description of the specific event (e.g. "Russia-Ukraine escalation", "Sahel drought season", "Fed emergency 75bps hike").
- `horizonHours` (number): Forward time horizon in hours (1–720). Default: 168 (1 week). Use 24 for immediate cascade, 720 for full 30-day view.
- `listNodes` (boolean): If true, returns all valid origin node IDs and descriptions instead of running a cascade. Use this first to discover valid origin values.
- `magnitude` (number): Shock magnitude 1–100. 100 = maximum plausible shock for this event type. 40–60 = significant but not extreme.
- `origin` (string): Origin node ID. Call market.cascade with listNodes:true to discover valid IDs (e.g. "geo.conflict", "climate.drought", "commodity.oil", "macro.rate_decision").

Output parameters:

- `cascade` (array): Time-ordered propagation chain — each entry has node, magnitude, arrivalHours, via path, and mechanism.
- `computedAt` (string): ISO timestamp of computation.
- `eventType` (string): Event description provided.
- `horizonHours` (number): Time horizon modeled.
- `inputMagnitude` (number): Clamped input magnitude.
- `origin` (object): Origin node metadata.
- `synthesis` (string): AI intelligence briefing on transmission paths, concentrated risk, feedback loops, and forward signals.

### `oracle.mycelium` (~211 tokens)

Mycelium Network Oracle — models the global financial system as a living network and detects crisis formation from network topology before it surfaces in market data, typically 6–14 weeks ahead. Maps nodes (markets, economies, funding markets), threads (capital flow channels, correspondent banking, trade finance), nutrient flow (liquidity), stress signals (spread widening, FX stress), and dead zones (sanctioned corridors, failed correspondent networks). Returns network health score (0–100), regime classification (HEALTHY / THINNING / STRESSED_CONNECTIVITY / DEAD_ZONE_FORMING / FRUITING_BODY_IMMINENT), node-by-node connectivity, thread health, signal propagation speed, and fruiting body risk — the probability of a visible crisis with estimated lead time in weeks. Data: FRED (funding markets, credit spreads), BIS SDMX API (credit-to-GDP gaps), IMF DOTS (bilateral trade volumes). The only oracle that reads network topology rather than individual metrics.

Output parameters:

- `fruitingBodyRisk` (object)
- `networkHealth` (number): Composite network vitality score 0–100.
- `networkNarrative` (string)
- `nodes` (object)
- `regime` (string): Network regime classification.
- `threadHealth` (object)

### `intelligence.tectonic` (~108 tokens)

Tectonic Intelligence — maps slow-moving structural stress across 22 fault lines in 5 domains (demographic, fiscal, environmental, infrastructure, geopolitical). Each node carries current stress (0–100), accumulation rate (%/yr), tipping threshold, and estimated years to rupture. Where market.cascade traces an acute shock, tectonic surfaces latent pressure before it ruptures. Returns per-node stress state, rupture sequence, horizon timeline, and AI synthesis briefing. No input required — GET.

Output parameters:

- `faultLines` (array): Per-node: domain, label, stress, accumulationRate, yearsToRupture, tippingThreshold.
- `ruptureSequence` (array): Ordered fault lines by proximity to rupture.
- `synthesis` (string): AI briefing on the most dangerous structural accumulations.
- `systemStress` (number): Composite tectonic stress 0–100.

### `intelligence.aftershock` (~233 tokens)

Aftershock Intelligence — models the secondary waves that follow a primary cascade event. Takes a primary shock (origin node, event type, magnitude, elapsed hours) and returns three aftershock waves: Wave 1 (0–72h immediate secondary effects), Wave 2 (1–4 weeks policy response distortions), Wave 3 (1–6 months structural changes now permanently locked in). Identifies which nodes are rebounding, which face amplified pressure, and which are structurally altered. Companion to market.cascade — run cascade first, then aftershock to see the full picture. POST with origin, eventType, magnitude, elapsedHours.

Input parameters:

- `elapsedHours` (number): Hours elapsed since the primary event. Default 24.
- `eventType` (string): Description of the primary event.
- `horizonHours` (number): Forward horizon to model in hours. Default 4320 (6 months).
- `magnitude` (number, required): Primary shock magnitude 1–100.
- `origin` (string, required): Origin node ID from the primary cascade (e.g. "geo.conflict", "climate.drought").

Output parameters:

- `synthesis` (string)
- `wave1` (object): Immediate (0–72h): rebound, amplified, structural nodes.
- `wave2` (object): Policy response phase (1–4 weeks).
- `wave3` (object): Structural lock-in (1–6 months).

### `intelligence.contagion` (~183 tokens)

Contagion Intelligence — simulates how a macro or financial shock spreads through 30 nodes across 6 domains (financial systems, real economies, commodity networks, policy anchors, social systems, physical infrastructure) using an epidemiological R-value model. Returns system R trajectory, per-epoch spread map, superspreader nodes, containment forecast, and AI briefing. R < 1.0 = self-limiting; R ≥ 1.0 = expanding. Call /contagion/nodes first to discover valid origin IDs. POST with origin and magnitude.

Input parameters:

- `listNodes` (boolean): If true, returns all valid origin node IDs instead of running a simulation.
- `magnitude` (number): Initial shock magnitude 1–100.
- `origin` (string): Origin node ID. Call intelligence.contagion with listNodes:true to discover valid IDs.

Output parameters:

- `containment` (object): Forecast of when/if containment is achieved.
- `spreadMap` (array): Per-epoch infection state across all nodes.
- `superspreaders` (array): Nodes with highest R contribution.
- `synthesis` (string)
- `systemR` (number): System-level R value. ≥1.0 means spreading.

### `intelligence.resonance` (~120 tokens)

Resonance Intelligence — detects when multiple independent macro forces are oscillating in phase across 28 signals in 5 domains, amplifying each other rather than cancelling. A single shock is manageable; resonance turns a bad quarter into a systemic crisis. Returns per-signal phase angles, resonance clusters (groups of 3+ aligned signals), amplitude amplification factor, system resonance score (0–100), and historical danger-zone comparison to crisis precedents (2008, 2011, 2020, 1997 EM). No input required — GET.

Output parameters:

- `amplificationFactor` (number): Constructive interference gain across dominant cluster.
- `dangerZoneMatch` (object): Similarity to historical crisis resonance patterns.
- `resonanceClusters` (array): Groups of 3+ signals in mutual resonance.
- `synthesis` (string)
- `systemResonanceScore` (number): 0–100. Higher = more dangerous in-phase alignment.

### `intelligence.gender_risk` (~151 tokens)

Gender Risk & Opportunity Intelligence — maps the structural relationship between GBV prevalence, legal discrimination, female labour force participation, and economic outcomes across 18 countries. Returns two independent scores: gbvRiskScore (0–100 suppression risk — high GBV → female LFPR suppression → GDP drag → fiscal stress → sovereign risk premium) and opportunityScore (0–100 reform upside — improving GBV indicators, closing LFPR gender gaps, and strengthening legal rights precede FDI inflows and consumer credit expansion). Five transmission mechanisms. Live FRED economic stress feedback. AI synthesis. Data: WHO GHO, World Bank WDI, FRED. 12h cache. No input required — GET.

Output parameters:

- `countries` (array): Per-country: gbvRiskScore, opportunityScore, LFPR gap, WBL index, GDP per capita, transmission mechanisms.
- `regionalSummary` (object)
- `synthesis` (string)

### `market.shipping` (~131 tokens)

Shipping & Logistics Stress Intelligence — composite view of global freight market conditions across ocean, air, truck, and rail. Tracks energy-driven shipping costs (Brent crude, diesel), 8 key global trade routes with disruption status, and trade flow signals. Returns a settlementRelevance section mapping logistics conditions to cross-border payment corridor risk: invoice delay risk, trade finance stress, and affected corridors. Useful for treasury teams with supply chain financing exposure, trade finance desks, and agents pricing cross-border payments on goods-backed corridors. Data: FRED (Brent crude), EIA (US diesel). 4h cache.

Output parameters:

- `compositeScore` (number): Composite stress score 0–100 (higher = more stress).
- `energyCost` (object): Brent crude, diesel price, marine fuel proxy.
- `freightModes` (array): Per-mode (ocean/air/truck/rail) cost index and stress signal.
- `keyRoutes` (array): Per-route disruption status and stress score.
- `regime` (string): STABLE / MODERATE / ELEVATED / SEVERE_DISRUPTION
- `settlementRelevance` (object): Invoice delay risk, trade finance stress, affected corridors.
- `synthesis` (string): Narrative briefing on freight conditions and implications.

### `market.fx` (~210 tokens)

FX Settlement Corridor Intelligence — per-pair execution risk assessment for 10 major currency corridors against USD: EUR, GBP, JPY, CAD, AUD, CHF, MXN, BRL, CNY, INR. Maps live FRED spot rates to settlement advice for each pair: SETTLE_NOW / SETTLE_WITH_HEDGE / DELAY_SHORT / DELAY_REVIEW / AVOID. Returns DXY dollar regime (STRONG_DOLLAR / NORMAL / WEAK_DOLLAR), regional block risk rollup (G4, Americas, Asia-Pacific), best corridors to settle through now, worst corridors to avoid or hedge, and recommended actions. Distinct from oracle.stability (which covers peg deviation and macro settlement gates) — this tool answers "which currency pairs are risky to settle through right now?" Data: FRED spot rates (DEXUSEU, DEXUSUK, DEXJPUS, etc.), DXY (DTWEXBGS). 1h cache.

Output parameters:

- `bestCorridors` (array): Pairs with NORMAL or FAVORABLE risk — settle now.
- `corridors` (array): Per-pair risk, spot rate, advice, and settlement cost.
- `dxy` (object): DXY value, trend, regime, and settlement impact summary.
- `executiveSummary` (string): Plain-language summary of FX settlement conditions.
- `overallRisk` (string): FAVORABLE / NORMAL / MODERATE / HIGH / CRITICAL
- `recommendedActions` (array): Actionable guidance for treasury teams.
- `worstCorridors` (array): Pairs with HIGH or CRITICAL risk — delay or hedge.

### `treasury.yield_route` (~498 tokens)

Treasury Float Yield Routing Analysis — OPTIONAL, CLIENT-DIRECTED ONLY.

Analyzes whether idle settlement float can be productively deployed into a yield-bearing instrument between the current time and a scheduled settlement deadline. Returns a structured recommendation with expected yield, exit timing, liquidity assessment, slippage estimate, and a mandatory risk disclosure.

THIS TOOL DOES NOT MOVE FUNDS. It provides analysis only. All execution decisions are made by the client or agent acting on explicit instruction. DPX charges a flat fee for this analysis and does not receive any portion of yield earned.

Current supported instrument: sUSDS (Sky Protocol Savings Rate). Selected because:
  • Instant on-chain entry and exit (no T+1 delays)
  • No US person restrictions
  • Real asset backing (tokenized RWAs + Spark borrow rates)
  • Available on Base chain via bridge
  • No de-peg events recorded (unlike synthetic alternatives)

Safety parameters enforced:
  • Maximum 90% of settlement amount — 10% always stays in USDC
  • Early exit triggered 30 minutes before settlement deadline (not 15)
  • Slippage guard: if DEX USDC/USDS quote shows >0.1% slippage, recommendation = HOLD
  • Minimum viable window: 2 hours (shorter windows do not justify entry/exit gas costs)

Not recommended if:
  • Settlement window is < 2 hours
  • Amount is < $50,000 (gas costs erode yield)
  • Client has not acknowledged the risk_disclosure object in this response
  • Settlement is time-critical with zero tolerance for delay

Input parameters:

- `amountUsdc` (number, required): Settlement amount in USDC. Minimum $50,000 for yield routing to be viable after gas costs.
- `dryRun` (boolean): If true, returns analysis without any on-chain queries. Useful for planning. Default: false.
- `riskTolerance` (string): conservative = sUSDS only (T-bill / RWA backed, instant exit). moderate = sUSDS with higher slippage tolerance (up to 0.15%). Default: conservative.
- `settlementDeadlineUtc` (string, required): ISO 8601 UTC timestamp of when USDC must be ready for settlement (e.g. "2026-06-15T20:00:00Z"). The tool will recommend exiting 30 minutes before this.

Output parameters:

- `amountReserved` (number): Amount kept in USDC regardless (10% floor).
- `amountRoutable` (number): Amount to deploy (90% of input, USDC). 10% stays in USDC.
- `currentApyPct` (number): Current Sky Savings Rate APY (live, from Sky Protocol).
- `estimatedSlippage` (number): Estimated DEX slippage for USDC→USDS→USDC round trip (%).
- `exitBy` (string): Recommended exit timestamp (30 min before deadline).
- `expectedYieldUsdc` (number): Expected yield for this window at current APY.
- `gasEstimateUsdc` (number): Estimated Base L2 gas cost for entry + exit in USDC.
- `instrument` (string): Recommended instrument (currently always sUSDS).
- `instrument_detail` (object): Background on the recommended instrument.
- `netYieldUsdc` (number): Expected yield minus gas costs.
- `notViable` (boolean): True if net yield is negative (gas exceeds expected yield).
- `recommendation` (string): ROUTE (deploy float), HOLD (stay in USDC), or INSUFFICIENT_WINDOW.
- `risk_disclosure` (object): MUST be surfaced to the client before any action is taken.
- `slippageGuardTripped` (boolean): True if slippage > 0.1% — recommendation will be HOLD.
- `windowHours` (number): Available window in hours (deadline minus now minus 30-min buffer).

### `mercury.accounts` (~69 tokens)

List all Mercury bank accounts and balances connected to the DPX Settlement Agent. Returns account IDs, names, available balance, current balance, and currency for each account. Use account IDs with mercury.transactions to fetch payment history, or mercury.send to initiate a payment. Works with both Mercury sandbox and production environments.

Output parameters:

- `accounts` (array)
- `count` (number): Number of accounts returned
- `environment` (string): sandbox or production
- `total` (number): Total balance across all accounts in USD

### `mercury.transactions` (~124 tokens)

List recent transactions for a Mercury bank account. Returns transaction ID, amount (USD), status, note/memo, counterparty name, created date, and whether the transaction was DPX-tagged (memo contains "dpx:"). Filter by account ID obtained from mercury.accounts. Use this to reconcile DPX settlements against Mercury bank activity.

Input parameters:

- `accountId` (string, required): Mercury account ID (from mercury.accounts).
- `limit` (number): Number of transactions to return (default 20, max 500).
- `offset` (number): Pagination offset (default 0).

Output parameters:

- `accountId` (string)
- `total` (number): Total number of transactions on this account
- `transactions` (array)

### `mercury.send` (~743 tokens)

Initiate a Mercury bank payment from a connected account. Supports all Mercury payment rails: ACH (0–1 days), Wire (0–1 days), Real-Time Payment / RTP (instant), International Wire (1–3 days), and Check (7–10 days).

For International Wire — the primary DPX cross-border use case — provide SWIFT/BIC code and beneficiary bank details. DPX oracle conditions and FX corridor risk should be checked via oracle.stability and market.fx before executing.

Can optionally tag the payment for automatic DPX on-chain routing — when dpxRoute:true is set, the payment memo includes the DPX executor wallet address and the Mercury webhook picks it up for USDC settlement on Base mainnet.

Use sandbox:true (default) for dry-run testing. Set sandbox:false only when ready to move real funds.

Typical cross-border flow:
  1\. market.fx → check FX corridor risk for the destination currency
  2\. mercury.accounts → get source accountId
  3\. mercury.send (sandbox:true) → confirm payment parameters
  4\. settlement.quote → get DPX fee quote for the USDC leg
  5\. mercury.send (sandbox:false) → execute (requires explicit user confirmation)
  6\. mercury.transactions → verify payment posted

Input parameters:

- `accountId` (string, required): Source Mercury account ID (from mercury.accounts).
- `accountNumber` (string): Recipient account number (required for ach/wire/check). Also used for IBAN on internationalWire.
- `amount` (number, required): Payment amount in USD (or destination currency if specified).
- `bankAddress` (string): Beneficiary bank street address.
- `bankCity` (string): Beneficiary bank city.
- `bankCountry` (string): Beneficiary bank country — ISO 3166-1 alpha-2 (e.g. "GB", "DE", "SG").
- `bankName` (string): Beneficiary bank name (e.g. "Barclays Bank UK PLC").
- `currency` (string): Destination currency for internationalWire (e.g. "GBP", "EUR"). Default USD.
- `dpxRoute` (boolean): If true, appends dpx:<wallet> to the memo — triggers DPX on-chain USDC settlement via the Mercury webhook. Use this to settle the stablecoin leg of a cross-border payment.
- `note` (string): Payment memo / description.
- `paymentMethod` (string): Payment rail. rtp = Real-Time Payment (instant, US domestic). internationalWire = cross-border (1–3 days). Default: ach.
- `recipientAddress` (string): Beneficiary street address.
- `recipientCity` (string): Beneficiary city.
- `recipientCountry` (string): Beneficiary country — ISO 3166-1 alpha-2.
- `recipientEmail` (string): Recipient email (optional — for payment notification).
- `recipientId` (string): Mercury saved recipient ID for internationalWire. Use this if the recipient is already saved in Mercury — skips inline bank detail fields.
- `recipientName` (string): Recipient legal name (required for ach/wire/rtp/check).
- `recipientPostalCode` (string): Beneficiary postal code.
- `routingNumber` (string): Recipient routing number (required for ach/wire/check).
- `sandbox` (boolean): Dry run — returns what would be sent without executing. Default: true. Set false to execute.
- `swiftCode` (string): BIC/SWIFT code of beneficiary bank (required for internationalWire without recipientId). E.g. "BARCGB22" for Barclays UK.

Output parameters:

- `amount` (number): Amount in USD
- `dpxTagged` (boolean): Whether the DPX routing tag was appended
- `id` (string): Mercury transaction ID (present when sandbox:false and executed)
- `note` (string): Payment memo as sent
- `sandbox` (boolean): True if this was a dry run
- `simulation` (object): Dry-run summary (present when sandbox:true)
- `status` (string): Transaction status from Mercury

### `mercury.ach_authorize` (~343 tokens)

Screen an ACH payment through the DPX compliance oracle before execution. Runs FATF R16, GENIUS Act, MiCA, and AML checks against the recipient. Returns APPROVED / FLAGGED / BLOCKED with full compliance reasoning.

Use this tool BEFORE every ACH payment via mercury.send. ACH is hard to reverse — compliance pre-screening prevents blocked transactions and BSA/AML exposure.

Workflow:
1\. mercury.ach_authorize (screen only, autoExecute:false) → review decision
2\. If APPROVED → set autoExecute:true to send, or call mercury.send directly
3\. If FLAGGED → manual review required before proceeding
4\. If BLOCKED → do not proceed

Input parameters:

- `accountId` (string, required): Source Mercury account ID (from mercury.accounts).
- `amount` (number, required): Payment amount in USD.
- `autoExecute` (boolean): If true and compliance returns APPROVED, immediately sends the ACH payment. Default false — screen first, execute separately.
- `externalMemo` (string): External memo / reference visible to recipient (optional).
- `idempotencyKey` (string): Idempotency key for safe retries. Auto-generated if omitted.
- `note` (string): Payment memo / note (optional).
- `purpose` (string): Payment purpose category (optional — required by Mercury for domesticWire, recommended for ACH). E.g. "Vendor", "Contractor", "Expenses".
- `recipientId` (string, required): Mercury saved recipient ID (from mercury.send / POST /mercury/recipients).
- `recipientName` (string, required): Legal name of the recipient entity or individual — used for compliance screening.

Output parameters:

- `_next` (string): Guidance on next action.
- `authorized` (boolean): True if compliance approved the payment.
- `compliance` (object): Full compliance oracle response including framework attestations.
- `decision` (string): Compliance decision.
- `executed` (boolean): True if autoExecute:true and ACH was sent.
- `mercuryId` (string): Mercury transaction ID (present when executed).
- `reason` (string): Human-readable decision summary.
- `requiresReview` (boolean): True when decision is FLAGGED — manual review required.
- `tier` (string): Compliance tier — FAST_PATH, STANDARD, ENHANCED, or HOLD.

### `mercury.sweep` (~424 tokens)

Treasury float yield routing analysis for idle Mercury bank balances. Computes how much can be swept above a reserve threshold, then evaluates whether deploying into sUSDS (Sky Protocol Savings Rate) on Base is viable before a settlement deadline.

THIS TOOL DOES NOT MOVE FUNDS. It returns a structured recommendation with expected net yield, deployment amount, exit timing, and step-by-step execution instructions. All fund movement decisions remain with the client.

Safety rules enforced:
  • Always keeps thresholdUsd in Mercury — never swept
  • Maximum 90% of sweepable amount deployed to sUSDS
  • Minimum 2-hour window required (shorter windows don't cover gas)
  • Minimum $50,000 sweepable (below this, gas costs exceed yield)
  • Exit triggered 30 minutes before settlement deadline

Current instrument: sUSDS (Sky Protocol) — instant on-chain entry/exit, ~6.25% APY, Base chain, no US person restrictions, no de-peg events on record.

Workflow:
1\. mercury.accounts → get accountId and available balance
2\. mercury.sweep → get yield recommendation and execution steps
3\. If PROCEED → follow execution.steps to wire funds and deploy
4\. mercury.accounts again at exit time → confirm balance restored

Input parameters:

- `accountId` (string, required): Mercury account ID to analyze (from mercury.accounts).
- `riskTolerance` (string): Risk tolerance for yield deployment. Conservative requires APY > 5%. Default: moderate.
- `sandbox` (boolean): If true, marks analysis as sandbox mode — Mercury balance may not reflect live state.
- `settlementDeadlineUtc` (string): ISO 8601 UTC timestamp of when funds must be back in Mercury (e.g. "2026-06-28T18:00:00Z"). Defaults to 7 days from now. Drives the yield window calculation.
- `thresholdUsd` (number): Minimum USD balance to always keep in Mercury as a reserve. Sweepable = available balance minus this amount. Default: $50,000.

Output parameters:

- `account` (object): Mercury account summary with available balance, reserve threshold, and sweepable amount.
- `execution` (object): Step-by-step execution instructions (present when recommendation is PROCEED).
- `risk_disclosure` (string): Mandatory risk disclosure — client must acknowledge before acting.
- `yieldAnalysis` (object): Yield routing analysis: instrument, APY, expected net yield, window, and recommendation (PROCEED | HOLD).

### `swift.gpi_track` (~198 tokens)

Track a DPX settlement via SWIFT gpi-compatible status. Given a UETR (Unique End-to-End Transaction Reference), returns gpi-format payment status including pacs.002 payload that a SWIFT member bank can submit to the gpi Tracker.

Use this when a UETR was provided at payment initiation (via the uetr field in settlement.execute or POST /payments/initiate). Returns ACCP (settled), PDNG (pending), or RJCT (rejected) with full on-chain settlement details.

DPX is not a SWIFT member — the SWIFT member bank submits the returned pacs.002 to the gpi Tracker via their own gpi API access.

Input parameters:

- `uetr` (string, required): RFC 4122 UUID UETR assigned at payment initiation, e.g. "97ed4827-7b6f-4491-a06f-b548d5a7512d".

Output parameters:

- `dpxPaymentId` (string): DPX internal payment ID.
- `gpiStatus` (string): ACCP | PDNG | RJCT
- `pacs002` (object): Full ISO 20022 pacs.002 payload for gpi Tracker submission.
- `uetr` (string): The UETR provided.

### `policy.create` (~257 tokens)

Create a spending policy for an AI agent. Sets rules the agent must follow before any financial action: per-transaction ceiling, daily limit, hold threshold, blocked counterparties, allowed purposes, oracle stability gate. Once set, every payment by this agent is checked against the policy automatically via policy.check.

Input parameters:

- `agent_id` (string, required): Stable identifier for the agent or org (wallet address, session prefix, org slug, etc.)
- `allowed_purposes` (array): If set, only payments with a purpose in this list are allowed.
- `blocked_counterparties` (array): Wallet addresses or LEIs to block.
- `blocked_regions` (array): ISO 3166-1 alpha-2 country codes to block.
- `max_per_day` (number): USD rolling daily ceiling. Payments that would exceed this are HOLDed.
- `max_per_tx` (number): USD ceiling per single transaction. Payments above this are BLOCKED.
- `name` (string, required): Human-readable policy name
- `require_hold_above` (number): Route to HOLD queue for human review if amount exceeds this threshold.
- `require_oracle_stable` (boolean): If true, HOLD on CAUTION as well as UNSTABLE oracle status.

### `policy.check` (~215 tokens)

Check a proposed payment against the agent's active policy before executing it. Returns ALLOW, HOLD, or BLOCK with a reason. Run this before every settlement call. ALLOW = proceed. HOLD = route to human review queue. BLOCK = halt, do not proceed.

Input parameters:

- `agent_id` (string, required): Agent identifier — must match the agent_id used in policy.create
- `amount_usd` (number, required): Proposed payment amount in USD
- `counterparty` (string): Counterparty name or LEI
- `delegation_id` (string): If acting under a delegation from a parent agent, provide the delegation ID.
- `oracle_status` (string): Current oracle status — STABLE, CAUTION, or UNSTABLE. Get from get_reliability.
- `purpose` (string): Payment purpose string
- `recipient` (string): Recipient wallet address
- `session_id` (string): Task or session grouping ID for ledger tracking.
- `to_currency` (string): Destination currency code (e.g. EUR, GBP)

### `policy.delegate` (~171 tokens)

Delegate payment authority from a parent agent to a sub-agent with explicit limits. The sub-agent can only spend up to the delegated ceiling. Delegation can be revoked at any time. Use in multi-agent workflows where an orchestrator authorises a worker agent to make payments on its behalf.

Input parameters:

- `child_agent_id` (string, required): The sub-agent receiving delegated authority
- `expires_at` (number): Unix timestamp (ms) when this delegation expires. Omit for no expiry.
- `max_per_tx` (number): Maximum USD per transaction for the sub-agent
- `max_total` (number): Lifetime spending ceiling for this delegation
- `parent_agent_id` (string, required): The authorising (parent) agent ID
- `policy_id` (string): Policy ID to inherit (optional — inherits parent policy if omitted)

### `receipt.create` (~309 tokens)

Record a tamper-evident signed receipt for an agent financial action. Call immediately after every successful settlement. Returns a receipt ID and HMAC-SHA256 signature over the canonical receipt JSON — cryptographic proof the record has not been altered. Receipts are queryable by session or agent for audit.

Input parameters:

- `agent_id` (string, required): Agent that executed the payment
- `amount_usd` (number, required): Amount paid in USD
- `compliance_decision` (string): Compliance decision at time of payment (PROCEED / HOLD / BLOCKED)
- `counterparty` (string): Counterparty name
- `delegation_id` (string): Delegation ID if acting under delegated authority
- `from_currency` (string): Source currency (default: USD)
- `oracle_status` (string): Oracle status at time of payment (STABLE / CAUTION / UNSTABLE)
- `policy_id` (string): Policy ID that governed this payment
- `recipient` (string): Recipient wallet address
- `sandbox` (boolean): True if this was a sandbox settlement
- `session_id` (string): Task or session ID for grouping (use the same ID for all payments in one agent run)
- `settlement_id` (string): Settlement ID returned by the settle tool
- `task_context` (string): Plain-text description of what task triggered this payment
- `to_currency` (string): Destination currency (default: USD)
- `tx_hash` (string): On-chain transaction hash (if live)

### `ledger.session` (~78 tokens)

Get the aggregated payment graph for a multi-agent session. Returns total USD moved, transaction count, and a chronological list of all payments made during the session. Use for cost accounting, audit, or to show a human what an agent run spent.

Input parameters:

- `session_id` (string, required): Session or task ID — the same ID used in receipt.create calls

### `search_docs` (~121 tokens)

Search DPX documentation by keyword. Returns the most relevant doc sections — including how-to guides, API references, fee structure, oracle architecture, compliance requirements, and integration setup. Call this when you need protocol details mid-task rather than relying on context alone. Free.

Input parameters:

- `limit` (number): Max results to return (default 3, max 5).
- `query` (string, required): Keywords to search — e.g. "how to settle", "esg fee formula", "butterfly cascade", "mercury send", "compliance screen".

### `card.positions` (~159 tokens)

Plan treasury settlement for a crypto card program. Accepts net positions per corridor (e.g. USD-BRL: $2.3M, USD-EUR: €450K) and returns an optimal settlement plan — which corridors to settle now vs. hold, which stablecoin to use per corridor, and estimated all-in fee. No settlement is executed. Call this before card.settle to review the plan. Free.

Input parameters:

- `positions` (array, required): Array of net positions. Each: { corridor: "USD-BRL", netAmountUsd: 2300000, recipientAddress?: "0x..." }
- `settlementDate` (string): Settlement date ISO string (defaults to today UTC). E.g. "2026-08-09".

### `card.settle` (~143 tokens)

Execute treasury settlement for a crypto card program. Takes the same positions array as card.positions but executes all settlements via DPX batch — compliance-gated, oracle-priced, stablecoin-routed. Each position requires a recipientAddress. Use sandbox:true for testing. Returns per-corridor settlement results and a summary.

Input parameters:

- `positions` (array, required): Array of net positions. Each: { corridor: "USD-BRL", netAmountUsd: 2300000, recipientAddress: "0x..." }. recipientAddress is required for every position.
- `sandbox` (boolean): true = test mode, no on-chain execution. Default true — set false only for live execution.

### `compute.models` (~72 tokens)

List all AI models available through DPX Compute. All models are free-tier (no token cost) — routed via OpenRouter. Returns model IDs, provider, capability strengths, context window, and speed tier. Use this before compute.route to understand what models are available and pick the right one for a task. Free.

### `compute.cost` (~125 tokens)

Get a model recommendation for a task type without running inference. Returns the best free model for the task, its strengths and speed tier, and a list of alternatives. Use this when an agent needs to select a model before committing to inference, or to surface model selection logic to a human. Free.

Input parameters:

- `speed` (boolean): true = prefer fastest model over most capable. Default false.
- `task` (string, required): Description of the task — e.g. "summarize a financial document", "write Python code", "translate from French", "reason through a math problem".

### `compute.route` (~205 tokens)

Route a task to the best available free AI model and run inference. DPX selects the model based on the task type (reasoning → DeepSeek R1, code → Llama 3.3 70B, multilingual → Qwen 2.5 72B, fast → Llama 3.1 8B), calls OpenRouter, and returns the completion. All models are free-tier — no token cost. Pay per call in USDC via x402. Use this when an agent needs to delegate a subtask to a language model without managing model selection or API keys.

Input parameters:

- `messages` (array): Optional. Full message array in OpenAI format [{role, content}]. If omitted, task is sent as a user message.
- `preferSpeed` (boolean): true = use the fastest available free model regardless of task type. Default false.
- `task` (string, required): Plain-language description of what the model should do. Used for model selection.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/untitledfinancial-dpx/mcp#diagnostics

## Score history

- 2026-08-20: 62
- 2026-08-19: 62
- 2026-08-18: 61
- 2026-08-17: 61
- 2026-08-16: 60
- 2026-08-15: 60
- 2026-08-14: 59
- 2026-08-13: 59
- 2026-08-12: 58
- 2026-08-11: 58
- 2026-08-10: 55
- 2026-08-09: 54
- 2026-08-08: 55
- 2026-08-07: 54
- 2026-08-06: 54
- 2026-08-05: 53

## Links

- Remote endpoint: https://mcp.untitledfinancial.com/mcp
- Repository: https://github.com/untitledfinancial/dpx-mcp
- Changelog RSS feed: https://verifymcp.io/servers/untitledfinancial-dpx/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/untitledfinancial-dpx/mcp.json
- HTML version of this page: https://verifymcp.io/servers/untitledfinancial-dpx/mcp
