Skip to main content
The Explorer provides a public, unified view across all FlowGuard activity , vesting streams, recurring payments, airdrops, and treasury proposals.

Scopes

The Explorer page renders one canonical surface for on-chain activity, switched between three personas via the ?scope= query param. The URL is the source of truth, so every scope plus filter combination is shareable and deep-linkable.
ScopeQueryDescription
global?scope=global (default)Public discovery feed across every vault, stream, payment, airdrop, and proposal. Anonymous.
personal?scope=personalWallet-scoped feed. Resolves to the connected wallet’s cashaddr (chipnet or mainnet) and filters activity where the address is sender, recipient, signer, or proposer. Replaces the legacy /streams/activity page.
treasury?scope=treasuryVault-scoped feed. When combined with vaultId, narrows to a single treasury covenant; without vaultId, defaults the entity type to vault.
Personal scope reads the connected wallet through the standard SIWX session. If no wallet is connected, the personal tab is disabled and the page falls back to global. To pin a specific address without a wallet session, pass ?scope=personal&address=bchtest:q... directly. Treasury scope can be opened against any vault id:
GET /explorer?scope=treasury&vaultId=vault_01HX...

Search and filter params

ExplorerPage reads the following query params. All filters are URL-driven, so changing any of them produces a new shareable link and replaces the current history entry.
ParamValuesDescription
scopeglobal, personal, treasurySelects the persona view. Defaults to global.
addresscashaddr (bchtest:q... or bitcoincash:q...)Pins the feed to a specific address and opens the address side panel. Implied by scope=personal when a wallet is connected.
vaultIdlogical vault idPins the feed to a single vault. Only meaningful when scope=treasury.
typevesting, payments, airdrops, treasuries, bounties, rewards, grantsFilters to a single product type. Omit for all. bounties, rewards, and grants are surfaced via cross-links into dedicated workspaces.
tokenTypeBCH, CASHTOKENS, ALLFilters by asset type. CashTokens covers both fungible and NFT categories.
statusACTIVE, PENDING, COMPLETED, EXECUTED, DEPLOYED, CREATED, CANCELLEDFilters by lifecycle status.
fromunix seconds or ISO-8601Lower bound on created_at.
tounix seconds or ISO-8601Upper bound on created_at.
limit1-200 (default 25)Page size for the activity table. Pagination uses ?page= against this limit.
Mutually exclusive params:
  • address and vaultId cannot both be set. address wins if both appear.
  • scope=personal is incompatible with an explicit vaultId. Setting vaultId flips the scope to treasury.
  • scope=treasury with type=airdrops returns an empty feed by design - airdrops are not vault-scoped.
The URL fully describes the view, so the same path can be shared, bookmarked, or embedded.
# personal airdrops for the connected wallet
/explorer?scope=personal&type=airdrops

# all active streams on the global feed, BCH only
/explorer?scope=global&type=vesting&status=ACTIVE&tokenType=BCH

# a single treasury, only executed proposals
/explorer?scope=treasury&vaultId=vault_01HXABCDEF&type=treasuries&status=EXECUTED

# address-pinned view (opens the address side panel)
/explorer?scope=global&address=bchtest:qq0123456789abcdef0123456789abcdef01234567

# windowed search: last 30 days of payments
/explorer?type=payments&from=1717027200&to=1719619200&limit=100
When scope=personal is requested without a connected wallet, the page renders an inline banner prompting wallet connection and keeps the rest of the filters intact for after sign-in.

Status endpoint

For uptime checks, indexer lag, and chip tip height, use the public /api/status endpoint. It is documented under Public endpoints alongside the rest of the unauthenticated surface.

Activity Feed

GET /api/explorer/activity
Returns a merged, time-sorted list of activity across all product types. Query parameters
ParameterValuesDescription
typevesting, payments, airdrops, treasuriesFilter to a single product type. Omit for all.
tokenBCH, FUNGIBLE_TOKEN, ALLFilter by asset type.
statusACTIVE, PENDING, COMPLETED, CANCELLEDFilter by status.
limit1-200 (default 50)Max records to return.
Response
{
  "streams": [
    {
      "id": "...",
      "stream_id": "#FG-STREAM-001",
      "sender": "bchtest:q...",
      "recipient": "bchtest:q...",
      "token_type": "BCH",
      "total_amount": 10.0,
      "vested_amount": 4.5,
      "progress_percentage": 45,
      "stream_type": "LINEAR",
      "status": "ACTIVE",
      "created_at": 1700000000,
      "activity_type": "STREAM"
    }
  ],
  "stats": {
    "totalVolume": 125000,
    "activeCount": 18,
    "completedCount": 7,
    "totalCount": 25
  }
}
Each row in streams includes an activity_type field set to STREAM, PAYMENT, AIRDROP, or TREASURY indicating the source product.
Additional explorer/read-model endpoints are available under /api/explorer/* (for example stats, timeline, search, and contract/address lookups). Operator health for indexing is exposed at /api/admin/indexer/*.