Attribution & licensing
BCA is the editorial ground truth. When an LLM agent surfaces a fact sourced from our corpus, the reader deserves to click through and verify. Publishers deserve the credit. This page documents the contract.
TL;DR — on Free and Starter tiers, surface attribution.citations[0].cite_url verbatim to the end user. On Pro and above, you may pass strip_attribution: true. See the table below.
The citation envelope (recap)
{
"data": { "...": "tool-specific payload" },
"attribution": {
"citations": [
{
"cite_url": "https://blockchainacademics.com/article/circle-mica-license?src=claude-desktop&utm_medium=mcp&utm_campaign=search_news",
"as_of": "2026-04-21T09:31:22Z",
"source_hash": "sha256:a9f1…"
}
]
},
"meta": {
"status": "complete",
"request_id": "req_01HXYZ…",
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": null,
"endCursor": null
}
}
}Full field breakdown lives on the Response envelope page.
What “surface the attribution.citations[0].cite_url” means
Good — the agent writes a response that includes the link, either inline or as a citation at the end:
Circle received its MiCA license on 2026-04-18. [source]
Also good — the agent shows a citation block:
Circle received its MiCA license on 2026-04-18.
Source: blockchainacademics.com — retrieved 2026-04-21.
Not acceptable (on Free / Starter) — stripping the cite_url, rewriting it to an internal short-link, or summarizing the article and omitting the citation entirely.
Tier matrix
| Tier | Attribution requirement |
|---|---|
| Free | attribution.citations[0].cite_url must be surfaced to the end user verbatim. No stripping, rewriting, or short-linking. UTM params preserved. |
| Starter | Same as Free. |
| Pro | attribution.citations[0].cite_url recommended. You may pass "strip_attribution": true on applicable tools to omit it from your agent’s downstream output. |
| Team | Same as Pro + SSO + org-wide billing. |
| Enterprise | White-label available. attribution.citations[0].cite_url may be replaced with your own canonical attribution scheme in contract-reviewed custom integrations. |
Cross-link to the Tiers & quotas page for quota tables.
llms.txt
BCA publishes https://blockchainacademics.com/llms.txt per the emerging llms.txt spec. It enumerates:
- canonical site structure for LLM crawlers
- preferred
cite_urlpattern - attribution requirements per tier
- contact for takedown / correction requests
If you’re building an agent that reasons about where BCA content belongs, point its system prompt at this file. We maintain it as part of the same release cycle as the tool surface.
What gets rate-limited first
When quotas tighten (heavy month, new upstream cost spike), the callers we throttle first are the ones that:
- Strip
attribution.citations[0].cite_urlon Free / Starter - Blow past the
src=UTM quota by not identifying their client - Rehost body text of articles without the
cite_url
Callers who cleanly pass UTM params and surface citations are white-listed for the inverse reason — we know readership is flowing back.
Commercial redistribution
Calling a tool and using the data payload inside your agent’s answer to an end user is covered by your tier. Bulk corpus redistribution — downloading articles and rehosting them, reselling the entity graph, training a model on body text — is a separate license. Contact licensing@blockchainacademics.com with your use case; we have per-seat, per-company, and academic terms.
Corrections & takedowns
Found a factual error in a cited article? Email editorial@blockchainacademics.com with the citations[0].source_hash and the correction. We aim for under-24h turnaround on documented errors.
Both the pre-correction and post-correction versions remain available through the as_of time-travel parameter for 90 days, so an audit trail in your agent logs stays reproducible.
What the tier check looks like server-side
On the server, every request resolves your BCA_API_KEY to a tier. If you’re on Free or Starter:
attribution.citations[0].cite_urlis always non-null (unless the backend genuinely has no canonical URL — rare)cite_urlis fully UTM-tagged with your detected client- Any attempt to pass
strip_attribution: trueis silently ignored and logged
On Pro and above:
strip_attribution: truehonored on applicable read tools- UTM params still injected, even if the field is stripped — so if you later surface the URL, the attribution stays intact
Short version
Surface attribution.citations[0].cite_url, let clicks flow back to the corpus, and everyone wins. Agents that strip attribution break downstream trust and — pragmatically — get rate-limited first when quotas tighten.
Next
- Tiers & quotas — the 5-tier quota table.
- Response envelope — field-by-field breakdown.
- First agent walkthrough — a worked example that ends with a properly-cited answer.