Verify - Public Proof Checks And Compare Records
Verify proof roots publicly, 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/: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
| Parameter | Type | Description |
|---|---|---|
customerIdrequired | string | Customer record to compare. |
yourBalancerequired | number | Your system balance for the selected scope. |
theirBalancerequired | number | Counterparty balance for the selected scope. |
startingBalancerequired | number | Shared starting balance for scoped replay. |
startingCheckpoint | string | Resume checkpoint using proofRoot or recordId. |
startingCheckpointType | string | Use proofRoot or recordId. |
period | string | Scope month in YYYY-MM. |
timePreset | string | Scope preset. |
startDate | string | Custom scope start. |
endDate | string | Custom scope end. |
granularity | string | day, 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.