ToolAssay

Store one proposal on Urban Game Theory (paid, per submission)

Store one proposal on Urban Game Theory (paid, per submission).

Answeringour last check, 2026-09-24
1 of 1checks answered this week
320 msmedian answer time
n/alisted price per call
n/aprice it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://api.urbangametheory.xyz/agent/proposals

CategoryCommerce and shopping
Provider hostapi.urbangametheory.xyz
Networkssolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
Payment schemesexact
Self-reported calls, 30 days8 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402 320 ms

Example input (from the provider)

{
  "body": {
    "agent": {
      "controller": "algorithm",
      "persona": "densifier-01",
      "rationale": "The lot is underused and close to public transport.",
      "run_id": "2026-09-20-densifier-01"
    },
    "cadastreParcelIds": [
      "HR-335550-1234/1"
    ],
    "city": "zagreb",
    "description": "Six-storey residential infill matching the neighbouring eaves.",
    "name": "Agent-proposed infill",
    "offer": 1.5,
    "offerCurrency": "USDC",
    "type": "parcel"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": true,
          "properties": {
            "agent": {
              "description": "Free-form provenance kept on the record; wallet and paid are overwritten by the server.",
              "properties": {
                "controller": {
                  "enum": [
                    "algorithm",
                    "llm",
                    null
                  ],
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "persona": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rationale": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "run_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": "object"
            },
            "author": {
              "description": "Omit, or your paying wallet's base58 address.",
              "maxLength": 255,
              "type": "string"
            },
            "buildingProposal": {
              "description": "A building massing in the app's stored shape; copy from GET /proposals?city=\u2026&limit=5.",
              "type": "object"
            },
            "cadastreFrame": {
              "additionalProperties": true,
              "description": "When the ownership flow was measured.",
              "properties": {
                "capturedAt": {
                  "description": "ISO 8601 capture timestamp.",
                  "type": "string"
                }
              },
              "required": [
                "capturedAt"
              ],
              "type": "object"
            },
            "cadastreParcelIds": {
              "description": "The parcels the proposal is declared on (from POST /parcels/under).",
              "items": {
                "maxLength": 255,
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            "city": {
              "description": "City id, e.g. zagreb, split, belgrade, new_york.",
              "maxLength": 100,
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "effectHash": {
              "description": "Fingerprint of goal + footprint + ownershipFlow. Acceptances bind to this effect.",
              "type": "string"
            },
            "facets": {
              "additionalProperties": true,
              "description": "Authored terms. For public formations use ownership: to-city.",
              "properties": {
                "ownership": {
                  "enum": [
                    "no-change",
                    "to-me",
                    "to-city",
                    "third-party",
                    "per-slice"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "geometry": {
              "description": "Top-level GeoJSON geometry for the proposal footprint.",
              "type": "object"
            },
            "goal": {
              "description": "Semantic land-use goal. Formation goals include park, square, lake, station, road-track, single, buildings, and reparcellization. A park/square/lake/station/road-track forms public ground.",
              "type": "string"
            },
            "name": {
              "maxLength": 500,
              "type": "string"
            },
            "offer": {
              "description": "Amount offered to the parcel owners.",
              "type": "number"
            },
            "offerCurrency": {
              "maxLength": 10,
              "type": "string"
            },
            "ownershipFlow": {
              "description": "Publish-time effect stamp: area taken from each cadastral parcel and its destination. Public formations use destination: public.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "cededM2": {
                    "minimum": 0,
                    "type": "number"
                  },
                  "destination": {
                    "enum": [
                      "public",
                      "proposer",
                      "mapping",
                      "undecided"
                    ],
                    "type": "string"
                  },
                  "parcelId": {
                    "type": "string"
                  }
                },
                "required": [
                  "parcelId",
                  "cededM2",
                  "destination"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "proposalId": {
              "description": "Unique operation id. Reuse it, together with the same x402 payment identifier and body, for safe retries.",
              "maxLength": 255,
              "type": "string"
            },
            "roadProposal": {
              "description": "A road corridor in the app's stored shape.",
              "type": "object"
            },
            "structureProposal": {
              "additionalProperties": true,
              "description": "A park/square/lake/station. Set kind and its GeoJSON Polygon or MultiPolygon geometry.",
              "properties": {
                "applied": {
                  "type": "boolean"
                },
                "geometry": {
                  "type": "object"
              

This page as JSON