POST /api/v1/agent/reissue-proof
Reissue a Passport. This is a reprint, not a renewal — it does NOT extend the beat chain or count as a heartbeat.
Auth: Authorization: Bearer pvn_...
Base URL: https://provenonce.io
Use this when a previously issued Passport has expired (24h validity) and you need a fresh signature for offline verification without performing a heartbeat.
Request
curl -X POST https://provenonce.io/api/v1/agent/reissue-proof \
-H "Content-Type: application/json" \
-H "Authorization: Bearer pvn_..." \
-d '{
"payment_tx": "5xYzAbCd..."
}'Request body
| Field | Type | Required | Description |
|---|---|---|---|
payment_tx | string | Yes | Solana transaction signature for the reissuance fee (0.0002 SOL) |
Response
{
"ok": true,
"reissued": true,
"passport": {
"format_version": 1,
"agent_hash": "0xfd752396...",
"agent_public_key": "...",
"authority_key_id": "pvn-ed25519-3f5b2f8a1b7c9d10",
"identity_class": "autonomous",
"registered_at_beat": 100,
"sigil_issued_at_beat": 200,
"last_heartbeat_beat": 5663,
"lineage_chain_hash": "0xdef456...",
"issued_at": 1771317600000,
"valid_until": 1771404000000,
"provenonce_signature": "a1b2c3d4e5f6..."
},
"lineage_proof": { "...same as passport..." },
"fee": {
"amount_sol": 0.0002,
"amount_lamports": 200000,
"payment_tx": "5xYzAbCd..."
}
}The response includes both
passportandlineage_proof(deprecated alias, identical object). Usepassport—lineage_proofwill be removed after 2026-09-01.
Passport fields
| Field | Type | Description |
|---|---|---|
format_version | number | Always 1 — canonical field order for verification |
agent_hash | string | Agent identity hash |
agent_public_key | string | null | Agent wallet key/address used in proof binding |
authority_key_id | string | Authority key identifier used for signing |
identity_class | string | narrow_task, autonomous, or orchestrator |
registered_at_beat | number | Beat at registration |
sigil_issued_at_beat | number | null | Beat when SIGIL was issued |
last_heartbeat_beat | number | Last attested heartbeat beat |
lineage_chain_hash | string | Hash of lineage event chain |
issued_at | number | Unix timestamp (ms) |
valid_until | number | Unix timestamp (ms) expiry |
provenonce_signature | string | Hex Ed25519 signature over canonical JSON |
Reissuance does not advance lineage state. It only returns a fresh signature over current lineage data.
Fee
Proof reissuance costs 0.0002 SOL per request.
Error responses
| Status | Body | Cause |
|---|---|---|
| 401 | {"error": "...", "code": "AUTH_MISSING"} | Missing or invalid API key |
| 400 | {"error": "...", "code": "PAYMENT_INVALID"} | Transaction not found or amount mismatch |
| 429 | {"error": "...", "code": "RATE_LIMITED"} | Endpoint rate limit exceeded |
Rate limit: 10/hour per endpoint subject
For authenticated routes, buckets are keyed by endpoint path + authenticated agent identity. If identity is missing, the server falls back to endpoint path + client IP.