Following up on the discussion in openclaw/openclaw#49971.
We've prepared the IPR endpoint for the integration. Here's what's ready on our side:
What we've done
- Added
chain field to IPR schema and responses (for on-chain fallback)
- Registered
/vc/ipr/v1/* path aliases alongside existing /vc/ipr/* (no breaking changes)
- Documented the AKF tier → IPR confidence mapping
The handshake as we understand it
- AKF submits confidence block to
POST /vc/ipr/v1/submit
- IPR returns
ipr_id + anchor_tx + anchor_block + chain
- AKF writes
verification_uri + anchor object into file metadata
AKF tier → IPR confidence mapping
| AKF Tier |
confidence |
confidence_basis |
| T1 (official sources) |
0.95 |
human_reviewed |
| T2 (analyst/peer-review) |
0.85 |
ensemble |
| T3 (general secondary) |
0.70 |
declared |
| T4 (internal estimates) |
0.50 |
declared |
| T5 (unverified AI) |
0.30 |
model_logprob |
Availability / graceful degradation
The anchor_tx + chain fields in our response are specifically designed so AKF can verify on-chain directly if our API is unavailable — no hard dependency on moltrust.ch uptime.
Proposed AKF record format
{
"_akf": {
"claims": [...],
"verification_uri": "https://api.moltrust.ch/vc/ipr/v1/{ipr_id}",
"anchor": {
"chain": "base",
"tx": "0x...",
"block": 43968317
}
}
}
Required fields for IPR submit
{
"agent_did": "did:moltrust:...",
"output_hash": "sha256:<64 hex chars>",
"output_type": "text|code|prediction|analysis|recommendation|credential|report|generic",
"confidence": 0.85,
"confidence_basis": "declared|rule_based|model_logprob|ensemble|human_reviewed",
"produced_at": "2026-03-29T08:00:00Z",
"agent_signature": "<base64url Ed25519 signature over JCS canonical payload>"
}
Live endpoints
Happy to iterate on the schema. Should we track the prototype here or open a separate issue on the moltrust side?
Following up on the discussion in openclaw/openclaw#49971.
We've prepared the IPR endpoint for the integration. Here's what's ready on our side:
What we've done
chainfield to IPR schema and responses (for on-chain fallback)/vc/ipr/v1/*path aliases alongside existing/vc/ipr/*(no breaking changes)The handshake as we understand it
POST /vc/ipr/v1/submitipr_id+anchor_tx+anchor_block+chainverification_uri+anchorobject into file metadataAKF tier → IPR confidence mapping
Availability / graceful degradation
The
anchor_tx+chainfields in our response are specifically designed so AKF can verify on-chain directly if our API is unavailable — no hard dependency on moltrust.ch uptime.Proposed AKF record format
{ "_akf": { "claims": [...], "verification_uri": "https://api.moltrust.ch/vc/ipr/v1/{ipr_id}", "anchor": { "chain": "base", "tx": "0x...", "block": 43968317 } } }Required fields for IPR submit
{ "agent_did": "did:moltrust:...", "output_hash": "sha256:<64 hex chars>", "output_type": "text|code|prediction|analysis|recommendation|credential|report|generic", "confidence": 0.85, "confidence_basis": "declared|rule_based|model_logprob|ensemble|human_reviewed", "produced_at": "2026-03-29T08:00:00Z", "agent_signature": "<base64url Ed25519 signature over JCS canonical payload>" }Live endpoints
Happy to iterate on the schema. Should we track the prototype here or open a separate issue on the moltrust side?