# Rafid Property Intelligence > Property and facility intelligence tools built for autonomous AI agents. Discover a > capability, pay per call over x402 (or authenticate with an API key), execute, get a > structured JSON result. This is a calculator over the numbers you send it, not a source of > live market data, and not investment advice. All monetary property inputs/outputs are OMR; > tool prices are USD. ## How to call a tool 1. Read GET /api/v1/capabilities for the exact JSON Schema, price and an example for every tool (the machine-readable version of this file). 2. Call POST /api/v1/ with an X-API-Key header, OR call the unauthenticated POST /api/v1/x402/ twin and pay per call via the x402 protocol. 3. Every response is { success: true, data: , meta: { tool, price, currency } } on success, or { success: false, error: { code, message } } on failure. ## Tools ## analyze_property Calculate gross/net rental yield, income, operating costs and simple payback in OMR. Calculations only. When to use: Use when an agent needs financial metrics (yield, income, payback) for a single property. Price: $0.01 USD per call. API key route: POST /api/v1/property/analyze (header: X-API-Key) x402 route: POST /api/v1/x402/property/analyze (no account — pay per call on-chain) MCP tool name: analyze_property Example request: {"propertyValue":85000,"annualRent":7200,"serviceCharge":650,"maintenanceCost":400} ## compare_properties Compare 2–20 uniquely named properties in OMR using the same metrics; order by rounded net yield, preserving input order for ties. When to use: Use when an agent must rank or choose between 2-20 candidate properties by net yield. Price: $0.03 USD per call. API key route: POST /api/v1/property/compare (header: X-API-Key) x402 route: POST /api/v1/x402/property/compare (no account — pay per call on-chain) MCP tool name: compare_properties Example request: {"properties":[{"name":"A","propertyValue":85000,"annualRent":7200},{"name":"B","propertyValue":100000,"annualRent":7000}]} ## estimate_maintenance Estimate an annual maintenance reserve in OMR from value, age and unit count with explicit optional assumptions. Uncalibrated heuristic, not a survey. When to use: Use when an agent needs an annual maintenance reserve estimate for a property, not an actual inspection. Price: $0.02 USD per call. API key route: POST /api/v1/maintenance/estimate (header: X-API-Key) x402 route: POST /api/v1/x402/maintenance/estimate (no account — pay per call on-chain) MCP tool name: estimate_maintenance Example request: {"propertyValue":100000,"ageYears":12,"units":1} ## analyze_oman_property Analyze an Oman residential property using local rental comparables, market context and investment metrics. When to use: Use when an agent needs Oman-specific rental, yield, price-position or operating-cost analysis. Price: $0.25 USD per call. API key route: POST /api/v1/oman/property/analyze (header: X-API-Key) x402 route: POST /api/v1/x402/oman/property/analyze (no account — pay per call on-chain) MCP tool name: analyze_oman_property Example request: {"governorate":"Muscat","area":"Al Mouj","propertyType":"apartment","bedrooms":2,"sizeSqm":130,"askingPriceOMR":118000} ## Payment (x402) x402 pay-per-call is enabled on this deployment (network: eip155:8453). Call any /api/v1/x402/... route without payment first to receive an HTTP 402 with machine-readable payment requirements (price, network, asset, receiving address), then retry with a valid X-PAYMENT header. See GET /api/v1/x402 for terms and GET /api/v1/x402/status for live, factual enforcement status. No account, signup or dashboard is required for either access model. ## Other machine-readable endpoints - GET /agent.json — full agent manifest (protocols, x402 terms, complete tool catalog) - GET /.well-known/ai-plugin.json — OpenAI-plugin-style manifest - GET /.well-known/agent.json — A2A-style Agent Card - GET /api/v1/capabilities — machine-first capability registry (schemas, pricing, when to use) - GET /openapi.json — full OpenAPI 3.1 document ## Planned tools (not yet implemented — do not call these) - estimate_property_rent: Estimate achievable market rent for a property from comparable listings. (not yet implemented) - analyze_lease: Extract and evaluate key terms, obligations and risk flags from a lease document. (not yet implemented) - check_contract_risk: Flag risky or unusual clauses in a property-related contract. (not yet implemented) - diagnose_maintenance_issue: Triage a described maintenance issue toward likely cause and urgency. (not yet implemented) - estimate_repair_cost: Estimate the cost of a specific repair, as a calibrated alternative to the general maintenance reserve heuristic. (not yet implemented) - generate_property_report: Compose a structured report document from one or more other tool results. (not yet implemented) ## analyze_oman_property coverage Governorate: Muscat only. Supported areas: Al Mouj, Muscat Hills, Qurum, Bausher, Azaiba, Al Khuwair, Madinat Al Irfan, Ghubrah. An unsupported governorate or an unrecognized area returns insufficientMarketData: true rather than a guessed estimate — deterministic figures that need no market data (asking price per sqm, operating cost) are still returned. Apartments, villas and townhouses are supported; a property type is never compared against a different one. ## Limitations - analyze_property, compare_properties and estimate_maintenance are pure calculations over the numbers supplied in the request; none of them fetch external data or perform an inspection. - estimate_maintenance is an uncalibrated heuristic, not a survey or a contractor estimate. - analyze_oman_property covers Muscat governorate only (see coverage above) and, for this MVP, its comparable data is a curated/demo benchmark dataset (sourceType "manual_benchmark") — not live listings, not official statistics, and not confirmed completed-transaction prices. Its own response always states this in riskFlags/provenance; treat its market figures as illustrative until a licensed/official feed is integrated. - Nothing here is financial, legal or investment advice.