Attribution & licensing
Blockchain Academics 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.
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. |
See Tiers & quotas for what each plan includes.
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 allow-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 [email protected] with your use case; we have per-seat, per-company, and academic terms.
Corrections & takedowns
Found a factual error in a cited article? Email [email protected] 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, which is 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: what each of the five tiers includes.
- Response envelope: field-by-field breakdown.
- First agent walkthrough: a worked example that ends with a properly cited answer.