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:
- Public verify by proof root (no API key).
- 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/:proofRootUse 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/compareRequest Body
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | Yes | Customer record to compare. |
yourBalance | number | Yes | Your system balance for the selected scope. |
theirBalance | number | Yes | Counterparty balance for the selected scope. |
startingBalance | number | Yes | Shared starting balance for scoped replay. |
startingCheckpoint | string | No | Resume checkpoint using proofRoot or recordId. |
startingCheckpointType | string | No | Use proofRoot or recordId. |
period | string | No | Scope month in YYYY-MM. |
timePreset | string | No | Preset scope: current_month, last_30_days, last_90_days, or custom. |
startDate | string | No | Custom scope start. |
endDate | string | No | Custom scope end. |
granularity | string | No | day, 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/compareThis route keeps API keys out of browser clients and returns plain-language comparison summaries and analysis links.