addrbookFor publishers
← The evidence ledger

Evidence row 1772966

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 3ec75be2-94e9-40a3-8a6f-020f4846005b
Recorded
Previous row
#1294568
Body SHA-256
8cd95f992204613d11445eaa7bb078f524e113e8e6898a043f6e848b217badbb
Leaf
0x5511a613992193bb8eb9068175afd149f929ed2f70820c7f623b2cf1295257ab

What was observed

{
  "count": 25,
  "tools": [
    {
      "description": "Create a confirmed stay reservation for a property: links the existing Reservation model + a StayBooking, then holds the guest deposit in escrow (EscrowEvent + TreasuryPosition with kind:hospitality, Solana commitment, PTP attestation). The guest deposit is the trust anchor — released to the business on check-in, refunded on cancellation. This is the hospitality money rail. [verified] Gated to businesses with an attested open-finance settlement rail OR PTP Band A/B, so every booked stay has a real, verified payout path. This is what makes the hospitality vertical trustworthy to guests and exclusive to quality hosts. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "checkIn": {
            "description": "ISO date",
            "type": "string"
          },
          "checkOut": {
            "description": "ISO date",
            "type": "string"
          },
          "depositAmount": {
            "description": "guest deposit to hold (optional, defaults to 1 night)",
            "type": "string"
          },
          "guests": {
            "description": "number of guests (optional)",
            "type": "string"
          },
          "propertyId": {
            "description": "property id",
            "type": "string"
          }
        },
        "required": [
          "propertyId",
          "checkIn",
          "checkOut",
          "guests",
          "depositAmount"
        ],
        "type": "object"
      },
      "name": "pabandi_book_stay"
    },
    {
      "description": "Cancel a booking",
      "inputSchema": {
        "properties": {
          "bookingId": {
            "description": "Booking ID",
            "type": "string"
          }
        },
        "required": [
          "bookingId"
        ],
        "type": "object"
      },
      "name": "pabandi_cancel_booking"
    },
    {
      "description": "Check availability for a business on a specific date",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "Business ID",
            "type": "string"
          },
          "date": {
            "description": "Date in YYYY-MM-DD format",
            "type": "string"
          }
        },
        "required": [
          "businessId",
          "date"
        ],
        "type": "object"
      },
      "name": "pabandi_check_availability"
    },
    {
      "description": "Register a verifiable, masked settlement connection for a business: RAAST (Pakistan), Stripe Treasury, Open Banking, Solana wallet, or PayPal. The account reference is masked (never raw), and a PTP attestation is produced so the business can prove it has a real payout path without exposing the account. This is the open-finance connectivity primitive — the trust badge on a listing. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "accountRef": {
            "description": "masked/opaque reference (e.g. wallet addr, IBAN tail, Stripe acct id)",
            "type": "string"
          },
          "provider": {
            "description": "RAAST | STRIPE_TREASURY | OPEN_BANKING | SOL_WALLET | PAYPAL",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "accountRef"
        ],
        "type": "object"
      },
      "name": "pabandi_connect_finance"
    },
    {
      "description": "Create a booking for an agent/client. Supports ACP, x402, AP2, UCP protocols.",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "Business ID",
            "type": "string"
          },
          "clientPassportId": {
            "description": "Client passport ID",
            "type": "string"
          },
          "datetime": {
            "description": "Booking datetime",
            "type": "string"
          },
          "protocol": {
            "description": "Payment protocol",
            "enum": [
              "acp",
              "x402",
              "ap2",
              "ucp"
            ],
            "type": "string"
          },
          "serviceId": {
            "description": "Service ID",
            "type": "string"
          }
        },
        "required": [
          "businessId",
          "serviceId",
          "datetime"
        ],
        "type": "object"
      },
      "name": "pabandi_create_booking"
    },
    {
      "description": "Get PTP discovery (public). Returns verify endpoint, public key, issue endpoint, risk bands, entity types. No auth required.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "pabandi_discover"
    },
    {
      "description": "Discover the full Pabandi Platform: every tool, OpenAPI/spec URL, MCP endpoint, PTP endpoints, SDK info, access tiers, and live status.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "pabandi_discover_platform"
    },
    {
      "description": "Spend against an open PabandiSession -- book a service, pay an invoice, or fund an escrow. REQUIRES a sessionId. Sessions are authorised once against a Trust-Score-derived limit and let you transact repeatedly without a wallet signature per call, which is the entire point. If you do not have a session, call pabandi_open_session first and use the sessionId it returns; this tool will refuse without one rather than fall back to a per-call signature. A booking action may return actionRequired 'deposit_required' plus a deposit object (amount, currency, checkoutUrl); fund the deposit at checkoutUrl before treating the booking as settled.",
      "inputSchema": {
        "properties": {
          "actionType": {
            "description": "What kind of action this spend authorises",
            "enum": [
              "booking",
              "invoice_pay",
              "escrow"
            ],
            "type": "string"
          },
          "amount": {
            "description": "Amount in USDC to deduct from the session limit",
            "type": "number"
          },
          "idempotencyKey": {
            "description": "Optional. A retry with the same key returns the original receipt and does not spend again.",
            "type": "string"
          },
          "payload": {
            "additionalProperties": true,
            "description": "Action-specific detail. For bookings this must include businessId, so the server can evaluate the business's deposit policy. Opaque to the engine otherwise; hashed into the receipt.",
            "type": "object"
          },
          "sessionId": {
            "description": "id of an active PabandiSession (from pabandi_open_session)",
            "type": "string"
          }
        },
        "required": [
          "sessionId",
          "actionType",
          "amount"
        ],
        "type": "object"
      },
      "name": "pabandi_execute_transaction"
    },
    {
      "description": "Quote an offramp/payout from the platform rails (RAAST, Stripe, Solana). Returns estimated fees, execution window, and the rail to use. Feeds the hospitality payout flow. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "amountUsdc": {
            "description": "payout amount in USDc",
            "type": "string"
          }
        },
        "required": [
          "amountUsdc"
        ],
        "type": "object"
      },
      "name": "pabandi_finance_quote"
    },
    {
      "description": "Resolve a business profile by id (public). Returns the sanitized public view (name, category, address, rating, trustScore, phone, email, coverImageUrl). Owner PII is gated — use pabandi:verify_owner for full PII. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "business id (cuid) or googlePlaceId",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "pabandi_get_business"
    },
    {
      "description": "Look up a passport issuance charge by idempotencyKey (public audit). Returns feePab, ownerUserId, agentId, riskBand, capabilities, chargedAt. Example: {\"idempotencyKey\": \"iss-3001\"}",
      "inputSchema": {
        "properties": {
          "idempotencyKey": {
            "type": "string"
          }
        },
        "required": [
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "pabandi_get_ledger"
    },
    {
      "description": "Get services offered by a business for agent booking",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "Business ID",
            "type": "string"
          }
        },
        "required": [
          "businessId"
        ],
        "type": "object"
      },
      "name": "pabandi_get_services"
    },
    {
      "description": "Issue a scoped Agent Capability Passport (auth required via Bearer token from the owner). Capabilities validated against trust band. Metered at PAB_FEE_PER_PASSPORT $PAB per issue; idempotent via idempotencyKey. Example: {\"agentId\": \"svc-agent-7\", \"capabilities\": [\"act:book\", \"read\"], \"idempotencyKey\": \"iss-3001\"}. Get API key at POST /api/v1/agents/register.",
      "inputSchema": {
        "properties": {
          "agentId": {
            "description": "Unique id of the agent this passport is for",
            "type": "string"
          },
          "capabilities": {
            "description": "e.g. [\"act:book\",\"read\"]",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "idempotencyKey": {
            "description": "Optional; retries with same key are not double-charged",
            "type": "string"
          }
        },
        "required": [
          "agentId",
          "capabilities"
        ],
        "type": "object"
      },
      "name": "pabandi_issue_passport"
    },
    {
      "description": "Return a business's connected open-finance connections (verified + pending). Used by third parties to confirm a business has a real payout path before booking or partnering. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "business id",
            "type": "string"
          }
        },
        "required": [
          "businessId"
        ],
        "type": "object"
      },
      "name": "pabandi_list_finance"
    },
    {
      "description": "List open short-term rentals / stays (Airbnb-style) by city or category. Each property is tied to a business + its open-finance settlement rail if connected. This is the hospitality inventory surface. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "PROPERTY_RENTAL / LIVE_SELLER / ...",
            "type": "string"
          },
          "city": {
            "description": "city to filter",
            "type": "string"
          }
        },
        "required": [
          "city",
          "category"
        ],
        "type": "object"
      },
      "name": "pabandi_list_properties"
    },
    {
      "description": "Check whether the caller can access a given Pabandi platform tool (by MCP tool name). Returns ok + note.",
      "inputSchema": {
        "properties": {
          "toolName": {
            "description": "MCP tool name, e.g. pabandi_search",
            "type": "string"
          }
        },
        "required": [
          "toolName"
        ],
        "type": "object"
      },
      "name": "pabandi_platform_access"
    },
    {
      "description": "Return the Pabandi Platform discovery doc: every tool on the platform, the OpenAPI/spec URL, the PTP verification endpoint, the public key, and the SDK access info. This is the entry point any third-party app, LLM, or agent uses to learn what Pabandi can do and how to call it. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "pabandi_platform_discovery"
    },
    {
      "description": "Forward-predict the no-show and completion probability for a PROSPECTIVE booking (before it is created). Blends real customer + business history (Beta-binomial shrinkage), lead-time, and day-of-week. Returns predictedNoShow, predictedCompletion, confidence, and the top factors. This is the predictive intelligence the trust rail uses. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "business id",
            "type": "string"
          },
          "customerId": {
            "description": "guest user id",
            "type": "string"
          },
          "reservationTime": {
            "description": "ISO date of the proposed stay/booking",
            "type": "string"
          }
        },
        "required": [
          "customerId",
          "businessId",
          "reservationTime"
        ],
        "type": "object"
      },
      "name": "pabandi_predict_booking"
    },
    {
      "description": "Return 24 hourly demand buckets for a business (from completed reservation history). Used to surface busy windows and optimize pricing/staffing. Owner-gated. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "business id",
            "type": "string"
          }
        },
        "required": [
          "businessId"
        ],
        "type": "object"
      },
      "name": "pabandi_predict_demand"
    },
    {
      "description": "Recommend the best upcoming slots for a guest at a business: each candidate scored by predictedCompletion, lightly load-balanced away from peak hours. Returns top 3 slots with predicted completion + demand. Owner-gated. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "businessId": {
            "description": "business id",
            "type": "string"
          },
          "customerId": {
            "description": "guest user id (optional)",
            "type": "string"
          },
          "daysAhead": {
            "description": "range to evaluate (default 7)",
            "type": "string"
          }
        },
        "required": [
          "businessId",
          "customerId",
          "daysAhead"
        ],
        "type": "object"
      },
      "name": "pabandi_recommend_slots"
    },
    {
      "description": "Search verified businesses and services by name, category, city, or location. Every listing is tied to a Pabandi Passport trust score. Uses Postgres contains + OpenStreetMap Nominatim (no paid geo API). Returns real, deduped results — never empty. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "business category (RESTAURANT, SALON, PROPERTY_RENTAL, ...)",
            "type": "string"
          },
          "latitude": {
            "description": "optional geolocation",
            "type": "string"
          },
          "longitude": {
            "description": "optional geolocation",
            "type": "string"
          },
          "search": {
            "description": "free-text search term",
            "type": "string"
          }
        },
        "required": [
          "search",
          "category",
          "latitude",
          "longitude"
        ],
        "type": "object"
      },
      "name": "pabandi_search_services"
    },
    {
      "description": "Initialize a milestone-based or native SOL/BSC escrow for a booking: business deposits, guest/host holds collateral, release on completion. This is the real-chain escrow rail (Solana + BSC Hardhat contracts). GATED to exclusive platform access — real chain writes require verified ownership + settlement rail. [exclusive] Exclusive: real-chain escrow writes are gated behind a verified PTP trust band (A/B) or an exclusive platform grant, so only trusted counterparties open real money on chain. Verified-only stays use the simulated escrow path. This is the premium moat — the real rail, gated. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "amount": {
            "description": "value in smallest unit",
            "type": "string"
          },
          "businessAddress": {
            "description": "business wallet address",
            "type": "string"
          },
          "chain": {
            "description": "SOL | BSC",
            "type": "string"
          },
          "payoutAddress": {
            "description": "freelancer/guest payout address",
            "type": "string"
          },
          "reservationId": {
            "description": "reservation id",
            "type": "string"
          }
        },
        "required": [
          "reservationId",
          "businessAddress",
          "payoutAddress",
          "amount",
          "chain"
        ],
        "type": "object"
      },
      "name": "pabandi_start_escrow"
    },
    {
      "description": "Verify a Pabandi PTP attestation (agent/business/individual/trust rail). Input base64-encoded attestation token and optional need (e.g. \"act:book\"). Returns valid, grantedCapabilities, riskBand, expiresAt. Works offline. Example: {\"token\": \"...base64...\", \"need\": \"act:book\"}",
      "inputSchema": {
        "properties": {
          "need": {
            "description": "Optional capability the subject must hold, e.g. \"act:book\"",
            "type": "string"
          },
          "token": {
            "description": "Base64-encoded PTPAttestation or PTPAgentAttestation",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "name": "pabandi_verify_passport"
    },
    {
      "description": "Verify a Pabandi PTP attestation (business, individual, agent, or trust rail). Re-executes the HMAC-SHA512 signature over a fixed subset of fields and returns valid + the verified claims. Offline-verifiable: any party can check a signed attestation without calling Pabandi. This is the trust primitive every third-party action gates on. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "token": {
            "description": "base64-encoded PTPAttestation (optional: need=capability to gate on)",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "name": "pabandi_verify_trust_attestation"
    },
    {
      "description": "Generate a zero-knowledge proof that an escrow split (deposit = price - commission, fee = deposit*rate, binding commitment to the valuation) is valid, WITHOUT revealing the private price/valuation/secret. Packs into a PTP attestation so the proof is verifiable offline by any third party. Real Noir circuit (compiled at startup); constraint-execution proof when no SNARK prover is available; upgrades to a succinct signature when the Barretenberg pipeline lands. [owner] Proves the escrow split is correct without revealing the valuation — the privacy + verifiability moat for real-estate/hospitality deals. Upgrades to a succinct on-chain-verifiable SNARK when Barretenberg is in the pipeline. This MCP tool makes a real HTTP call to the canonical Pabandi endpoint and returns the actual platform response.",
      "inputSchema": {
        "properties": {
          "agent_secret": {
            "description": "non-zero stake secret (private, anti-Sybil)",
            "type": "string"
          },
          "commission": {
            "description": "agent/facilitator cut (private)",
            "type": "string"
          },
          "consecutiveMonths": {
            "description": "tenancy months (public)",
            "type": "string"
          },
          "deadline": {
            "description": "unix ts (public)",
            "type": "string"
          },
          "deposit": {
            "description": "lamports (public)",
            "type": "string"
          },
          "price": {
            "description": "property valuation (private)",
            "type": "string"
          },
          "rate": {
            "description": "basis points platform fee (public)",
            "type": "string"
          },
          "valuation_hash": {
            "description": "commitment to off-chain terms (private)",
            "type": "string"
          }
        },
        "required": [
          "deposit",
          "consecutiveMonths",
          "rate",
          "deadline",
          "price",
          "commission",
          "valuation_hash",
          "agent_secret"
        ],
        "type": "object"
      },
      "name": "pabandi_zk_realestate_proof"
    }
  ]
}

What the leaf hashes

{"body":"8cd95f992204613d11445eaa7bb078f524e113e8e6898a043f6e848b217badbb","id":1772966,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793549099210681,"prev":1294568,"subject":"3ec75be2-94e9-40a3-8a6f-020f4846005b","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (302406 rows).

  1. 0x5511e6a6cc2588ce98bdb50039b7b1435360b9c7b19c1ba8aed1ffb7a31edb91
  2. 0x6ad47d7b1ae3936b7fb5ae537b30582ae7239725fcdaccd3135ab56abdac43db
  3. 0xa05963d7eb4a7463b0881b9274aca289be2d771d6d407486dc470c648d8bcb4b
  4. 0xcb9eac9c25690c1c97c4becd4cb683b308b917d8cd1092dfdc5142a23c784522
  5. 0xd23a9e51fe59e848a599272f7325c5f8bfaa6ef58dc82890314aa8b1b16afecc
  6. 0x8b15326a30b2334df46a0688928446318b5dd44786ae1f84e062db3dd90baaca
  7. 0xe6089fb7198f85de306857b16f02a16f7529b0c5857e359de692f22bbd3e0cf5
  8. 0x55dd84285c7a9c88980489702ce807bf7422afb4a24363e1e60284d8fbeb5ed1
  9. 0x48ce76c297b818c66561a01a20e8baefa11d793346466c472fd04b914b2d3c6c
  10. 0xb3e51672f7fc8539e2b89e13b9aa99f94a52377a45c81695624f892f895d93fe
  11. 0x6bbdebe7e6dac8b51c6dfd9794a16032d248553fbd2b0ff1f06346037f6257a7
  12. 0xff9baca5e16460365cae5b2ed53057d5fafe487b1ae8b067547221fbfc14b910
  13. 0x794bd22a6bc5ce0b466f5a150b64435e6cc8454386a705a7a74a4a6cbcb9e4d4
  14. 0x9338fa49a0c5f3f5d810da4bc7c55c4f87067074ebe5e189dc6fb19ffee0ed93
  15. 0xe622664153c4bb92e64b5edf8615a790cb48a8f528ac34b3faa4ef4dd70e05dd
  16. 0xc1f6e8dd182b37cbb6e04d0e69486bd40d440934f8e373b9bae8cb78de508bba
  17. 0x97f6f39e601b6ef0e47b730aa0488b718c0d7882ad840342bbd7d3a705a1b3a2
  18. 0x1973893697931b7512ae5dc1a3c92ef92f633ae3574dce9029a35b5e94d2d364
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON