TTF
Get Filing Detail
Retrieve one published Token Transparency filing with its full content
GET
/
v1
/
ttf
/
filings
/
{id}
Get Filing Detail
curl --request GET \
--url https://api.blockworks.com/v1/ttf/filings/{id}import requests
url = "https://api.blockworks.com/v1/ttf/filings/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.blockworks.com/v1/ttf/filings/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"project": {
"project_slug": "mina-protocol",
"protocol_name": "Mina Protocol",
"protocol_ticker": "MINA"
},
"filing": {
"filing_id": "35f94c78-ec1a-4061-8c74-6fd6a0b88a38",
"filing_type": "B1",
"completion_label": "partial - 3 gaps",
"filing_version": "1.3",
"date_filed": "2026-08-17",
"static_url": "https://blockworks.com/token-transparency/filing/mina-protocol",
"filing_status": "current",
"provenance": "issuer-filed"
},
"schema": {
"version_id": "1.3",
"sections": [
{
"name": "Project & Team",
"questions": [
{
"id": "q1",
"label": "Description of Project",
"config": {
"mode": "fielded",
"sub_fields": [
{
"id": "q1a",
"label": "Problem the project solves",
"instructions": "The problem the project is solving."
}
]
},
"max_score": 5,
"answer_type": "text",
"instructions": "Provide a concise narrative that clearly states each of (a)-(e) below."
}
]
}
]
},
"questions": {
"q1": {
"answer": {
"sub_answers": [
{
"sub_field_id": "q1a",
"text": "Mina is presented as a public, decentralized layer-1 blockchain built to keep the chain extremely small while supporting zero-knowledge applications."
}
]
},
"gap": false,
"label": "complete"
},
"q8": {
"answer": {
"rows": [
{
"market_maker_name": "N/A no current listings, historic listings unknown",
"token_allocation": "N/A no current listings, historic listings unknown",
"term_duration": "N/A no current listings, historic listings unknown",
"structure_name": "N/A no current listings, historic listings unknown"
}
]
},
"gap": true,
"label": "incomplete"
}
}
}Overview
This endpoint returns one published Token Transparency filing with its full content: the project, the filing metadata, the pinned schema (sections and question definitions), and the answers keyed by question id. Use thefiling_id values from the List Filings endpoint as the id path parameter.
Unlike other Blockworks API endpoints, this endpoint is public and does not require an API key.
Example Request
curl "https://api.blockworks.com/v1/ttf/filings/35f94c78-ec1a-4061-8c74-6fd6a0b88a38"
const response = await fetch(
'https://api.blockworks.com/v1/ttf/filings/35f94c78-ec1a-4061-8c74-6fd6a0b88a38'
)
const data = await response.json()
import requests
response = requests.get(
'https://api.blockworks.com/v1/ttf/filings/35f94c78-ec1a-4061-8c74-6fd6a0b88a38'
)
data = response.json()
Example Response
A successful response returns the project, the filing, the schema the filing was submitted against, and the answers. The example below is truncated to one section and two questions: one complete answer and one gap.{
"project": {
"project_slug": "mina-protocol",
"protocol_name": "Mina Protocol",
"protocol_ticker": "MINA"
},
"filing": {
"filing_id": "35f94c78-ec1a-4061-8c74-6fd6a0b88a38",
"filing_type": "B1",
"completion_label": "partial - 3 gaps",
"filing_version": "1.3",
"date_filed": "2026-08-17",
"static_url": "https://blockworks.com/token-transparency/filing/mina-protocol",
"filing_status": "current",
"provenance": "issuer-filed"
},
"schema": {
"version_id": "1.3",
"sections": [
{
"name": "Project & Team",
"questions": [
{
"id": "q1",
"label": "Description of Project",
"config": {
"mode": "fielded",
"sub_fields": [
{
"id": "q1a",
"label": "Problem the project solves",
"instructions": "The problem the project is solving."
}
]
},
"max_score": 5,
"answer_type": "text",
"instructions": "Provide a concise narrative that clearly states each of (a)-(e) below."
}
]
}
]
},
"questions": {
"q1": {
"answer": {
"sub_answers": [
{
"sub_field_id": "q1a",
"text": "Mina is presented as a public, decentralized layer-1 blockchain built to keep the chain extremely small while supporting zero-knowledge applications."
}
]
},
"gap": false,
"label": "complete"
},
"q8": {
"answer": {
"rows": [
{
"market_maker_name": "N/A no current listings, historic listings unknown",
"token_allocation": "N/A no current listings, historic listings unknown",
"term_duration": "N/A no current listings, historic listings unknown",
"structure_name": "N/A no current listings, historic listings unknown"
}
]
},
"gap": true,
"label": "incomplete"
}
}
}
Supported Options
| Name | Type | Details | Available Options |
|---|---|---|---|
id | path | Filing UUID from the List Filings endpoint. A malformed UUID returns a 400 error. An unknown or unpublished filing returns a 404 error. | e.g. 04c27d54-14c9-40a0-bd56-c9a9437c14df |
Response Fields
| Field | Type | Description |
|---|---|---|
project | object | The project the filing belongs to (project_slug, protocol_name, protocol_ticker) |
filing | object | Filing metadata, in the same shape as the List Filings endpoint |
schema | object | The schema version the filing was submitted against |
schema.version_id | string | Schema version identifier |
schema.sections | array | Ordered sections; each has a name and its question definitions. Each question has an id, a label, a config that describes the answer shape (mode: fielded, open, sectioned, or grid), a max_score, an answer_type, and its instructions |
questions | object | Answers keyed by question id (e.g. q1) |
questions.*.answer | object | null | The published answer. Its shape follows the question’s config in schema.sections: sub_answers for fielded text, rows for open and grid tables, sections for sectioned tables |
questions.*.gap | boolean | true when the reviewer marked the answer as a gap. A gap answer keeps its published content |
questions.*.label | string | null | Completeness label: incomplete, partially_complete, or complete. null when no label is available |
Notes
- Responses are cached at the edge for up to 5 minutes (
Cache-Control: public, max-age=300). - No API key or authentication header is needed for this endpoint.