Escrow
Hostr escrow is the settlement layer for reservations. It combines Nostr escrow-service events, on-chain EVM trade funding, payment-proof verification, and arbitration workflows exposed through the Hostr MCP server.
The old escrow-cli demo/tool has been removed. Escrow work now flows through the Dart daemon and MCP action catalog used by agents and Hostr automation.
Structure
escrow
├── contracts # MultiEscrow Solidity contracts and tests
├── lib # Escrow daemon/runtime code
└── bin # Escrow helper entry points
hostr_cli
├── bin/hostr_daemon.dart
└── lib/src/actions # MCP action catalog, including escrow tools
ai/mcp-server
└── src/generated # Generated MCP tool definitions
- Escrow NIP: dependencies/nips/escrow-nip/XX.md
- Action catalog: hostr_cli/lib/src/actions/hostr_actions.dart
- Generated MCP tools: ai/mcp-server/src/generated/hostr-actions.ts
- MCP runtime overview: ../ai/README.md
User-Facing Escrow Flow
Normal booking/payment flows should not call escrow settlement tools directly.
The booking flow swaps Lightning payment into smart-contract escrow where needed, then publishes the reservation proof through the daemon-side payment proof orchestration.
Escrow-Operator MCP Tools
Escrow operators use role-gated MCP tools. These are visible only when the authenticated Hostr pubkey is configured as an escrow service.
Write tools default to preview/dry-run behavior and should only be executed live after the user approves the returned preview.
Settlement Model
Escrow service events advertise the escrow operator, deployed contract address, runtime bytecode hash, supported chain, fee policy, and token fee hints. User escrow-method events declare trusted escrow pubkeys, accepted bytecode hashes, and accepted payment forms.
On-chain trades move through funded, released, arbitrated, or claimed states. Settlement uses a pull-payment balance mapping instead of direct transfers, and arbitration chooses a split between buyer and seller while crediting the escrow fee to the arbiter.
See the Escrow NIP for the full event and settlement contract details.