API ReferenceFollows, Entities & Campaigns
Live

Follows, Entities & Campaigns

Structural coordination detection — the layer that answers who copies whom, which wallets are secretly one operator, and which tokens are being pushed by a coordinated group right now. Conyr models it as five primitives:

PrimitiveQuestion it answers
FollowsDoes wallet B systematically copy wallet A?
EntitiesWhich wallets share enough funding or execution evidence to be one family?
CampaignsIs this token being pushed by a coordinated group right now?
CrowdHow loud is the crowd on this token, minute by minute?
HealthIs the live signal pipeline keeping up?
⚠️

Any response may carry "degraded": true when the live pipeline is lagging. Render the data faintly or show a “signal delayed” note — never hide it. Confidence-style scores are calibrated 0–1 outputs; build on them, not on the internals that produce them.

Follows

L3   GET /v1/wallet/{address}/follows

Leader→follower copy-trade edges, in both directions. Conyr only surfaces edges that clear its internal calibration gates, so what you get is signal, not every coincidental overlap.

FieldDescription
confidenceCalibrated 0–1 strength of the follow relationship
supportCountIndependent observations backing the edge
distinctTokensDistinct tokens the pattern held on
activeWhether recent activity still reinforces it
{
  "address": "7xKXtg...",
  "followsOut": [
    { "leaderWallet": "4mNqR...", "followerWallet": "7xKXtg...", "confidence": 0.91, "supportCount": 18, "distinctTokens": 7, "active": true }
  ],
  "followsIn": [],
  "degraded": false
}

Entities

L3   GET /v1/wallet/{address}/entity · GET /v1/entity/{entity_id} · GET /v1/entity/{entity_id}/members

An entity is a cluster of wallets that share funding lineage, bundle-execution evidence, or both — one operator behind many addresses.

Entity kindMeaning
shared_funderMembers funded from a common direct or root funder
shared_executionMembers co-executed bundle transactions in the same slots
{
  "address": "7xKXtg...",
  "membership": {
    "entityId": "ent_abc123",
    "entityKind": "shared_funder",
    "rootWallet": "9aBcD...",
    "memberCount": 14,
    "confidence": 0.87
  },
  "siblingsSample": ["4mNqR...", "2pQrS...", "8tVuW..."],
  "degraded": false
}

/v1/entity/{entity_id} returns the full record; /members paginates the member list (page, page_size up to 200). membership is null when the wallet isn’t in a tracked entity.

Campaigns

L3   GET /v1/token/{mint}/campaigns

A campaign is a time-bounded coordinated push — multiple wallets and entities buying in lockstep. active holds in-progress campaigns; recent holds recently-closed ones for context.

{
  "mint": "EPjFWd...",
  "active": [
    {
      "campaignId": "camp_xyz789",
      "status": "active",
      "startedTsMs": 1709654000000,
      "participantWallets": 18,
      "participantEntities": 3,
      "confidence": 0.83
    }
  ],
  "recent": [],
  "degraded": false
}

Crowd

L3   GET /v1/token/{mint}/crowd

Per-minute crowd state — trades, unique wallets, a calibrated crowdScore, and a regime label.

RegimeMeaning
quietBaseline, no crowd pattern
trending_crowdSustained elevated participation
crowded_launchCrowd pattern around a launch window
{
  "mint": "EPjFWd...",
  "current": { "bucketStartMs": 1709654400000, "totalTrades": 142, "uniqueWallets": 87, "crowded": true, "crowdScore": 0.78, "crowdRegime": "trending_crowd" },
  "minutes": []
}

Health

L3   GET /v1/coordination/health

Freshness snapshot of the coordination pipeline — drive your “signal delayed” banners off it.

{ "healthy": true, "degradedWindowMs": 0, "droppedMessagesLastMinute": 0, "observedAtMs": 1709654400000 }

Live streams

L3   Coordination primitives also stream:

ChannelFires when
wallet:{address}:followA follow edge involving the address activates, updates, or expires
wallet:{address}:entityThe address’s entity membership changes
token:{mint}:campaignA campaign on the token activates, updates, or closes

Live coordination subjects are opt-in on the backend; if a stream is silent, fall back to the REST endpoints and check /v1/coordination/health. REST TTLs: follows 30s, entity 60s, campaigns/crowd 15s, health 30s.