STANDBY

Developer API

Integrate the Proof-of-Reality (PoR) Protocol directly into your platform. Programmatically submit assets for verification and subscribe to real-time decentralized consensus streams.

POST/submit

Ingest physical assets and begin the autonomous verification pipeline.

Request Format (multipart/form-data)
curl -X POST https://api.proofofreality.network/submit \
  -F "files=@/path/to/property_deed.pdf" \
  -F "files=@/path/to/facade_photo.jpg" \
  -F "asset_id=req_9a8b7c6d5e" \
  -F 'metadata={
    "jurisdiction": "UK",
    "assetCategories": ["Real Estate", "Commercial"],
    "declared_value_usd": 15000000,
    "coords": {"lat": 51.5072, "lng": -0.1276},
    "owner_wallet": "0xYourWalletAddress"
  }'
Response (200 OK)
{
  "status": "accepted",
  "asset_id": "req_9a8b7c6d5e",
  "stream_url": "/stream/req_9a8b7c6d5e",
  "message": "Files securely uploaded. Consensus engine initiated."
}
GET/stream/{asset_id}

Subscribe to Server-Sent Events (SSE) to receive real-time node debate telemetry.

Event Stream Output
data: {"type": "status", "agent": "System", "message": "LangGraph orchestrated. Agents spinning up..."}

data: {"type": "finding", "agent": "Ledger", "message": "Cross-referencing title deed with Mantle historical transactions."}

data: {"type": "finding", "agent": "Tempest", "message": "Analyzing flood zone exposure at provided coordinates."}

data: {"type": "resolution", "agent": "Aegis", "message": "Meta-consensus achieved. Truth Score: 96.4%. Proceeding to mint."}

data: {"type": "done", "agent": "System", "message": "Process terminated."}
ON-CHAINVerificationManager.sol

Smart contract deployed on Mantle Sepolia for immutable truth anchoring.

Solidity Interface
interface IVerificationManager {
    enum CaseStatus { Open, InProgress, Resolved, Closed }

    struct Case {
        uint256 id;
        string description;
        CaseStatus status;
        string result;
        uint256[] assignedAgentIds;
    }

    function createCase(string memory _description) external returns (uint256);
    function assignAgent(uint256 _caseId, uint256 _agentId) external;
    function resolveCase(uint256 _caseId, string memory _result) external;
}