Skip to content

Verify - Independent Proof Checks And Compare Records

Verify proof roots without an API key, 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
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

ParameterTypeRequiredDescription
customerIdstringYesCustomer record to compare.
yourBalancenumberYesYour system balance for the selected scope.
theirBalancenumberYesCounterparty balance for the selected scope.
startingBalancenumberYesShared starting balance for scoped replay.
startingCheckpointstringNoResume checkpoint using proofRoot or recordId.
startingCheckpointTypestringNoUse proofRoot or recordId.
periodstringNoScope month in YYYY-MM.
timePresetstringNoPreset scope: current_month, last_30_days, last_90_days, or custom.
startDatestringNoCustom scope start.
endDatestringNoCustom scope end.
granularitystringNoday, week, or month breakdown support.

Examples

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);
}

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.