Grimwatch
GRIMWATCH
THE GRIM WATCHERS OF THE CHAIN
𝕏
VIGIL ACTIVE
SCROLLS

THE GRIMOIRE OF COMMANDS

GRIMWATCH REST API v1 — All scrolls return JSON. Base Sigil: /api/v1

👁

Live scrolls: All GET scrolls below are live — click ▶ INVOKE inside any card to call the real API and see the watcher's response.

Public vigil: All GET scrolls are open. POST scrolls require an X-API-Key rune in production.

GET/api/v1/agentsList Souls
GET/api/v1/agents/:addressGet Soul
GET/api/v1/agents/:address/scoreGet Vigil Score
GET/api/v1/agents/:address/badgeGet Watcher's Seal
GET/api/v1/agents/:address/historyGet Vigil History
GET/api/v1/statsVigil Stats
POST/api/v1/agentsSubmit for Vigil
WSwss://grimwatch.protocol/ws/v1Realtime Omens

Subscribe to realtime omens for soul verification status changes, new offerings, and vigil score updates.

OMENS
agent.verifiedFired when a soul is SEALED by the watchers
agent.submittedFired when a new soul is offered to the vigil
agent.score_updatedFired when a periodic rescan updates a soul vigil score
agent.larp_detectedFired when a soul is cast into the VOID
stats.updatedFired when vigil-wide statistics are recalculated
INSCRIPTION
// Connect to WebSocket
const ws = new WebSocket('wss://grimwatch.protocol/ws/v1');

ws.onopen = () => {
  ws.send(JSON.stringify({
    type: 'subscribe',
    channels: ['agent.verified', 'agent.larp_detected'],
  }));
};

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  // { type: 'agent.verified', agent: { name, address, score }, timestamp }
  console.log('Omen received:', data);
};

VIGIL LIMITS

PUBLIC
60 req/min
API RUNE
600 req/min
PARTNER
Unlimited