{"openapi":"3.1.0","info":{"title":"Nuri Remit","version":"2.2.1","description":"Crypto and Lightning to Tanzanian shillings via ClickPesa. Mobile and merchant payouts are automatic after payment; bank payouts require manual approval after verified payment.","contact":{"email":"support@nuri.com"},"x-guidance":"Send Tanzanian shillings to mobile money, a bank account, Lipa Namba, or TanQR.\n\n1. Check the destination with check_recipient, check_bank, or check_lipa.\n   Show the recipient name, fee, and price before payment. Checks are free.\n2. Call send_tzs with the same destination and amountTZS to create an order.\n   Pay ONE offered method.\n3. Use get_payment with the orderId for the exact amount, address, and payment QR.\n   Show a QR to a person only when get_payment returns automaticDetection: true.\n   Base USDC, Base EURC and Bitcoin transfers are detected automatically.\n   Lightning is detected automatically only when get_payment returns automaticDetection: true;\n   otherwise the Lightning QR is refused. Pay once, then wait. Never type a transaction hash or preimage.\n   Agents with native L402 support may pay the invoice from the 402 challenge and retry send_tzs\n   with the same orderId and amountTZS and the header Authorization: L402 <macaroon>:<preimage>.\n4. Mobile and merchant payouts are automatic after verified payment.\n   Bank payouts accept USDC only and require manual approval after verified payment.\n   After approval, sufficient float allows immediate payout; otherwise the order waits for float.\n5. Use get_order with the orderId to check payment, approval, and delivery status.\n   Never pay an order again once get_order shows it is no longer awaiting_payment.\n\nMinimum 500 TZS. Bank: up to 21,000,000 TZS per transfer. Mobile money: up to 3,000,000 TZS per recipient phone number per transfer. Merchant/TanQR: up to 3,000,000 TZS per transfer. Available float is not a transaction limit; approved bank payouts can wait for float.\nNo account, registration, or API key is needed.","x-payment-info":{"protocol":"x402","version":2,"rails":["lightning_l402","base_usdc","base_eurc","bitcoin_taproot"],"limits":{"minTZS":500,"maxTZSByDestination":{"bank":21000000,"mobile":3000000,"merchant":3000000,"tanqr":3000000},"currency":"TZS","scope":"per_transfer","mobileScope":"per_recipient_phone_number_per_transfer","ttlSeconds":1800}}},"servers":[{"url":"https://remit.paymentrequired.com"}],"paths":{"/mcp":{"post":{"summary":"Invoke MCP tool (JSON-RPC 2.0 or plain HTTP JSON)","requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"tool":{"type":"string"}},"required":["tool"],"description":"Plain HTTP JSON tool invocation format"},{"type":"object","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"method":{"type":"string","enum":["tools/call","tools/list","initialize"]}},"required":["jsonrpc","method"],"description":"Standard MCP JSON-RPC 2.0 format"}]},"examples":{"checkRecipient":{"value":{"tool":"check_recipient","amountTZS":5000,"phone":"+255656196901"}},"send":{"value":{"tool":"send_tzs","amountTZS":5000,"phone":"+255656196901"}},"quote":{"value":{"tool":"quote_tzs","amountTZS":5000}},"balance":{"value":{"tool":"get_balance"}},"payment":{"value":{"tool":"get_payment","orderId":"NURI-00000000-0000-0000-0000-000000000001","rail":"usdc_base"}}}}}},"responses":{"200":{"description":"Tool output or payment fulfillment status"},"400":{"description":"Validation error"},"402":{"description":"Payment required with multi-rail challenge options"}}}},"/llms.txt":{"get":{"summary":"Machine-friendly context and execution guide for AI agents"}},"/.well-known/mcp.json":{"get":{"summary":"MCP Discovery card"}},"/health":{"get":{"summary":"Health check"}}}}