Skip to content

Verify - Public Proof Checks And Compare Records

Verify proof roots publicly, or compare two balance views against verified deltas.

This page covers:

  1. Public verify by proof root (no API key).
  2. Compare records by customer scope (API key required).

PacSpace provides neutral reference data. It does not act as an arbiter.


Public Verify (No Auth)

http
GET https://app.pacspace.io/api/v1/verify/:proofRoot

Use this endpoint when anyone with the proof root needs to confirm:

  • Proof existence
  • Proof timing
  • Proof summary and records
  • Link for someone else to check the same proof

cURL

bash
curl https://app.pacspace.io/api/v1/verify/0x7f3a9b2c...

Response Highlights

json
{
  "success": true,
  "data": {
    "verified": true,
    "proofRoot": "0x7f3a9b2c...",
    "recordedAt": "2026-04-18T14:32:00.000Z",
    "summary": {
      "recordCount": 42,
      "netChange": -6300
    },
    "records": [],
    "verification": {
      "verificationReference": "0xabc123...",
      "verificationExplorerUrl": "https://app.pacspace.io/verify/0x7f3a9b2c..."
    }
  }
}

verificationExplorerUrl is a compatibility field for human proof-checking links. For machine verification, call this endpoint directly.


Compare Records (API Key)

http
POST https://app.pacspace.io/api/v1/balance/compare

Request Body

Request body

ParameterTypeDescription
customerIdrequiredstringCustomer record to compare.
yourBalancerequirednumberYour system balance for the selected scope.
theirBalancerequirednumberCounterparty balance for the selected scope.
startingBalancerequirednumberShared starting balance for scoped replay.
startingCheckpointstringResume checkpoint using proofRoot or recordId.
startingCheckpointTypestringUse proofRoot or recordId.
periodstringScope month in YYYY-MM.
timePresetstringScope preset.
startDatestringCustom scope start.
endDatestringCustom scope end.
granularitystringday, week, or month breakdown support.

SDK Example

typescript
const report = await pac.balance.compare(
  'cust_12345',
  { yours: 48500, theirs: 49000 },
  { period: '2026-04', granularity: 'day' },
);

if (report.discrepancyReport) {
  console.log(report.discrepancyReport.amount);
  console.log(report.discrepancyReport.windowsToReview);
}

cURL

bash
curl -X POST https://app.pacspace.io/api/v1/balance/compare \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust_12345",
    "yourBalance": 48500,
    "theirBalance": 49000,
    "startingBalance": 50000,
    "period": "2026-04"
  }'

Dashboard Compare Route

Dashboard clients use a session-backed route:

http
POST /dashboard/customers/:customerId/compare

This route keeps API keys out of browser clients and returns plain-language comparison summaries and analysis links.