io.github.jdhart81/agent-escrow
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Trustless escrow & settlement for A2A transactions: exactly-once state machine, frozen fees, tamper-
| Author | io.github.jdhart81 |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 86 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"agent-escrow": {
"url": "https://mcp.viridisconservation.com/escrow/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (9)
open_escrowOpen an escrow between payer and payee. amount_minor is a positive integer in minor units (cents). The platform fee is computed and FROZEN at open (ceil bps). Returns the escrow_id (state OPEN). RETRY-SAFE: pass open_ref=<your job id> and a replayed open returns the ORIGINAL escrow (duplicate=true) instead of minting another one (E10).
Parameters:
payer(required) — stringpayee(required) — stringamount_minor(required) — integerterms— stringfee_bpscurrency— stringdeadline— stringopen_ref— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
fund_escrowMark an OPEN escrow as FUNDED (idempotent). payment_ref links the payment-rail transaction.
Parameters:
escrow_id(required) — stringpayment_ref— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
release_escrowRelease a FUNDED/DISPUTED escrow to the payee (exactly-once — a repeat release returns the existing terminal record, never a double payout).
Parameters:
escrow_id(required) — stringdelivery_proof— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
refund_escrowRefund an OPEN/FUNDED/DISPUTED escrow to the payer (exactly-once). Refunding an OPEN escrow is a cancel.
Parameters:
escrow_id(required) — stringreason— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
dispute_escrowMove a FUNDED escrow to DISPUTED. An arbiter (agent-arbitration-agent) then resolves it to release or refund.
Parameters:
escrow_id(required) — stringreason— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
escrow_statusCurrent record for an escrow.
Parameters:
escrow_id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_escrowsList escrows, optionally filtered by state (OPEN|FUNDED|RELEASED|REFUNDED|DISPUTED).
Parameters:
state
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
verify_auditValidate the tamper-evident audit hash chain for an escrow.
Parameters:
escrow_id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
describe_agentFleet-standard self-description.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.