THE MACHINE DOOR

MACHINES ASK
FIRST.

Every AI agent is about to need a permission answer. This is the endpoint that gives it.

GEThttps://deed.rizzgroup.org/api/v1/verify/
$ curl https://deed.rizzgroup.org/api/v1/verify/1001
Press RUN. This calls the real endpoint from your browser and prints exactly what it answers, including a 404 when that number does not exist.
METHOD
ENDPOINT
RETURNS
GET
/api/v1/verify/{number}
Full record: subject, type, holders, permits, term, status, verify_url.
GET
/api/v1/permits/{number}
Permits map only. For agents that only need: can I use this?
RATE LIMIT · 60 REQ / MIN / IP · CACHED 60S AT EDGE
FREE TO CHECK. ALWAYS.
x402 · THE PAID DOOR

BUILT FOR
MACHINES TO PAY.

Checking is free forever. Buying a permission is not. The paid door is one HTTP round trip, and a holder's share is credited to their Deed balance the moment a payment settles. That balance is a record inside Deed, not money in a bank account: bank payouts are a separate step and are not switched on yet.

01
THE AGENT ASKS
It calls a paid endpoint with no payment attached. Verification is never one of these: checking stays free.
02
THE DOOR ANSWERS 402
We reply HTTP 402 with a PAYMENT-REQUIRED header: the scheme, the network, the asset, the amount, and the address to pay. Blocked uses answer 403 instead, because you cannot buy what the holder forbade.
03
THE AGENT SIGNS
Its wallet signs an authorisation for exactly that amount and repeats the request with a PAYMENT-SIGNATURE header. No account, no invoice, no sales call.
04
WE SETTLE AND ISSUE
The facilitator settles the payment onchain, we write the licence, the receipt and the split rows, and return the signed licence with its public page. The holder's share is credited to their Deed balance in the same moment. Moving that balance to a bank account is a separate step, and bank payouts are not switched on yet.
EXAMPLE EXCHANGE · NOT A LIVE CALL
# 1. ask without paying
curl -i -X POST https://deed.rizzgroup.org/api/v1/license/1001 \
  -H "Content-Type: application/json" \
  -d '{"use_type":"sync","requester_name":"Northwind AI","territory":"Worldwide","term":"12 months"}'

HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMyIiwiYW1vdW50IjoiNTQwMDAwIiwicGF5VG8iOiIweC4uLiJ9XX0=

# 2. sign it with your x402 wallet, then ask again
curl -X POST https://deed.rizzgroup.org/api/v1/license/1001 \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64 PaymentPayload>" \
  -d '{"use_type":"sync","requester_name":"Northwind AI","territory":"Worldwide","term":"12 months"}'

HTTP/1.1 200 OK
{ "licence": { "number": 5001, "deed": 1001, "use_type": "sync", "attestation": "deed-v1:...", "licence_url": "https://deed.rizzgroup.org/l/5001" } }
METHOD
ENDPOINT
SCHEME
PRICE
GET
/api/v1/verify/{number}
FREE
$0.00
GET
/api/v1/permits/{number}
FREE
$0.00
GET
/api/v1/rights/{number}
EXACT
$0.01
POST
/api/v1/bulk/verify
UPTO
$0.002 per item
POST
/api/v1/license/{number}
EXACT
the holder's price
PAID MACHINE ACCESS IS NOT SWITCHED ON HERE. CHECKING A DEED STAYS FREE.
BLOCKED USES ANSWER 403, NEVER 402. YOU CANNOT BUY WHAT THE HOLDER FORBADE.
THE PRICES ABOVE ARE THE CONFIGURED SCHEDULE, SHOWN AS DOCUMENTATION WHILE PAID ACCESS IS OFF.
MCP · TOOLS FOR AGENTS

DEED IS A TOOL YOUR AGENT CAN HOLD.

FREE
deed.verify
Does this Deed exist and who holds it.
FREE
deed.check_permits
May I use this, and for what.
PAID
deed.rights
Chain of title, priced permits, constraints.
PAID
deed.license
Buy the permission. Get a signed licence back.
CLAUDE DESKTOP / CURSOR CONFIG
{
  "mcpServers": {
    "deed": {
      "command": "npx",
      "args": ["-y", "@x402/mcp", "--url", "https://deed.rizzgroup.org/api/v1/mcp"],
      "env": {
        "EVM_PRIVATE_KEY": "0xyour_testnet_key",
        "X402_NETWORK": "<the network DEED publishes when paid access is switched on>"
      }
    }
  }
}

The server also answers directly at https://deed.rizzgroup.org/api/v1/mcp over streamable HTTP. When paid access is switched on, paid tools return the payment requirements on the first call, so an agent with an x402 wallet pays and calls again with payment_signature. While it is off, the free tools answer as normal and the paid ones say why they cannot.

FREE TO CHECK. ALWAYS.
HOW THE MONEY MOVES →