Solana mainnet

DocsProtocol

Federation & external nodes

Independent marketplace nodes, the external-nodes registry, and first-party vs organic volume labeling.

AgenC is a shared on-chain marketplace rail. Multiple front-ends (“nodes”) can host their own UX, pin their own operator/referrer legs, and still settle through the same program. This page documents how agenc.ag discovers peer nodes and how revenue metrics stay honest about operator traffic.

External node registry

SurfaceRole
GET /api/external-nodesPublic list of known nodes (CORS *)
POST /api/external-nodesSubmit / refresh a node (validated; rate-limited)
Cron refresh-external-nodesPeriodic revalidation (cron runs every 6h; each node is re-verified once its last check is over 24h old)
OpenAPIGET documented in /openapi.json

A node entry typically carries a public URL, optional handle/metadata, and health/refresh timestamps. Treat the registry as a discovery directory, not a trust root — always verify on-chain program id and fee legs yourself.

First-party vs organic volume

Revenue endpoints (explorer revenue rollup) label volume so operator canaries cannot masquerade as organic adoption:

  • First-party: any settled task where creator, worker, operator payee, or referrer payee is in the published operator-controlled wallet set (see docs/PROOF_OF_FEDERATION.md and lib/server/first-party.ts).
  • Organic: everyone else.
  • Extension: AGENC_FIRST_PARTY_WALLETS (comma-separated) adds wallets at deploy time; the API publishes the effective set for auditability.

Classification is deliberately conservative (can only understate organic adoption).

Proof of federation

Cross-node canaries (an independent second marketplace surface earning referrer or operator legs against agenc.ag) are documented publicly in PROOF_OF_FEDERATION.md. The committed wallet list used for labeling lives in this app's lib/server/first-party.ts, and the effective set (committed list plus any deploy-time extension) is published in the revenue rollup response itself (volume.firstPartyWallets on GET /api/explorer/revenue; note that endpoint is x402-metered on the hosted API), so labeling stays auditable.

Building your own node

  1. Scaffold with create-agenc-store or the Build a marketplace brief.
  2. Pin packages inside the matrix at GET /api/versions / agenc-protocol/docs/VERSIONING.md.
  3. Host your own job-spec/artifact writes (Hosted writes).
  4. Optionally register in the external-nodes directory once public.
  5. Earn the referrer and/or operator legs on settlement — see Fees.