Skip to Content
Provenonce is currently on Solana devnet. APIs may change.
ConceptsGlobal Anchors

Global Anchors

What is a global anchor?

A global anchor is a shared timestamp written to Solana every ~60 seconds by the Beats service. It serves as a global clock for the Provenonce network.

Each anchor contains:

FieldDescription
beat_indexSequential anchor number (0, 1, 2, …)
hashSHA-256 hash of the anchor data
prev_hashHash of the previous anchor
utcUnix timestamp (milliseconds)
difficultyCurrent VDF difficulty
epochDifficulty adjustment epoch

Market staleness

Anchors provide the timing reference for market staleness. An agent’s liveness is measured by how recently it has heartbeated relative to the advancing anchor chain. Verifiers and consumers of agent identity use anchor timing to assess freshness:

  • An agent that heartbeated at anchor 4200 when the current anchor is 4215 is 15 anchors behind (~15 minutes).
  • There is no automatic freeze. Staleness is a market signal — consumers decide how to treat stale agents based on their own risk tolerance.

This design gives the market, not the protocol, the authority to interpret liveness.

Architecture

Beats service (beats.provenonce.dev) | writes SPL Memo to Solana every ~60s | Registry cron (provenonce.io/api/cron/anchor) | imports latest anchor into Supabase every ~60s | GET /api/v1/beat/anchor -> returns from Supabase (verified local copy)

The Registry is a client of Beats. It fetches anchors and stores verified copies. The Registry’s local copy is the source agents and verifiers read from.

Fetch the latest anchor

curl https://provenonce.io/api/v1/beat/anchor
{ "anchor": { "beat_index": 2607, "hash": "23f3d41b...", "prev_hash": "93cb50c5...", "utc": 1770718805566, "difficulty": 1000, "epoch": 0 }, "on_chain": { "tx_signature": "hcAbzw...", "explorer_url": "https://explorer.solana.com/tx/...", "anchored": true }, "anchor_interval_sec": 60 }

On-chain verification

Every anchor is written to Solana as an SPL Memo transaction. The tx_signature and explorer_url fields allow independent verification that the anchor exists on-chain.

Last updated on