Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
100
💰 Paid API live JSON-RPC

Grade

gradetv.net · Grade

Encontre TV e rádio, abra um canal e guarde seus favoritos para voltar. Pastas e M3U para o VLC. Projetos de produtores com direitos sob consulta.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain gradetv.net via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
54/100
grade D · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~468 ms response
Observed inflow · 30d
$16.19
34 tx · on-chain
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

D
Conformance score: 54/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~468 ms).
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 24 skills with structured metadata. 24 skills without tags — optional in 0.x, REQUIRED once you move the card to v1.0.
partial Verified Identity 5/10
Provider declared: Grade (https://gradetv.net). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-10-03 03:59:09 current d5bc04ddb192… view →
Uptime
accumulating
1 direct probes · 30d
Response
243ms
last direct probe
Skills
24
declared
Streaming
✓
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent…

Endpoints

Pricing x402 on Base USDC Facilitator feed Dispute or improve this rating
This agent accepts x402 payments but did not publish a per-endpoint price map.
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0x7c22d10a957c62044d03db5c0086f500fc645a26 on Base · basescan ↗
Observed on-chain inflow verified on-chain
Last 7d
$0.00
0 transfers · synced 2026-10-03
Last 30d
$16.19
34 transfers · synced 2026-10-03
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the wallet. Inflow to a wallet, not proof that every transfer was a paid call.
Daily 30-day observed-inflow history ~ flat (+0.0%)
2026-10-01 2026-10-03
Peak day: $16.19 Data points: 3 Total tx (30d window): 34
Payment authenticity evidence confidence How we measure this →
single_payer_observed 2/5

Payer identities observed; a single payer accounts for effectively all observed volume.

Assessed window
30d
3 active of 29 observed
Inflow assessed
$16.19
34 transactions
Payer identities
available
1 evidence caveat
shared_settlement_wallet — The settlement wallet is shared with other indexed agents, so inflow cannot be attributed to this agent alone.
Checks run: daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap. Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions. Measured 2026-10-02.
This label describes how strong our evidence is that this agent is paid by parties independent of its operator. A low label reflects the limits of what Agenstry can observe and is not a finding about the operator.
Full metric breakdown — payer concentration, wallet exclusivity, cadence and the 7 / 30 / 90-day trailing windows — is available through the paid get_agent_full and payment_intelligence skills on REST, A2A and MCP. API docs →
Agent cardhttps://gradetv.net/.well-known/agent-card.json
Providerhttps://gradetv.net
Docshttps://gradetv.net/llms.txt
Discovered via
cdp_discovery recrawl_warm

Skills · 24 declared · mapped to canonical taxonomy

api_index

Índice auto-descrito da API inteira, com os idiomas e as páginas HTML de cada um.

canonical Api Schema Understanding match 82%
health

Liveness e o commit publicado agora — é como o smoke espera o próprio deploy.

canonical Devops Mlops match 82%
geo

País e idioma sugeridos para quem está chamando. Sem país detectado pela borda, sugere BR com `source: "fallback"`; `detected` diz o que a borda viu.

canonical Maps and Routing match 81%
list_countries

Países do catálogo com contagem playable e URL da bandeira (kind=radio conta estações).

canonical Images Computer Vision match 79%
list_tags

Tags das estações de rádio tocáveis, com contagem; opcionalmente por país.

canonical DJ and Live Music Bookings match 81%
search_channels

Busca canais públicos (filtros: q, country, category, language, network, quality, playable; kind=radio para estações de rádio, tag para tag de rádio; sort=score…

canonical General Web Search match 80%
list_languages

Idiomas que têm canal tocável, com a contagem de cada um.

canonical Multilingual Translation match 81%
list_networks

Redes e emissoras que têm canal tocável, com a contagem.

canonical Images Computer Vision match 80%
list_qualities

Qualidades distintas encontradas nos streams do catálogo (em rádio, codec e bitrate).

canonical Data Quality Assessment match 81%
list_subdivisions

Estados e províncias que têm canal tocável.

canonical Devops Mlops match 79%
list_cities

Cidades que têm canal tocável, filtráveis por país e por estado.

canonical Images Computer Vision match 79%
get_channel

Ficha completa de um canal, com os streams já apontando para o nosso hop.

canonical Get Article match 81%
get_channel_guide

Programação de hoje do canal (grabada por nós): agora, a seguir e a lista. Disponível nos canais com guia (`guide=1`), com validade de até dois dias. Confira a …

canonical Video Generation match 80%
create_guest

Cria guest ipt_… Não pede e-mail nem nada. Guarde o token: perdeu o token, perdeu a biblioteca — a não ser que a conta já o tenha reivindicado (`POST /api/auth/…

canonical GraphQL Client match 80%
get_library

A galeria inteira do dono: pastas, sub-abas, canais e as URLs de feed de cada nível.

canonical Documentation Generation match 81%
create_category

Cria tab/categoria pessoal. Teto de 8 pastas por dono. A resposta traz a biblioteca inteira já atualizada — não precisa recarregar `GET /api/library` depois.

canonical Documentation Generation match 80%
create_group

Cria sub-aba numa categoria. Teto de 12 sub-abas por pasta. A resposta traz a biblioteca inteira já atualizada — não precisa recarregar `GET /api/library` depoi…

canonical Documentation Generation match 80%
add_item

Adiciona canal à sub-aba. Teto de 40 canais por sub-aba. A resposta diz em que pasta e sub-aba o canal caiu, para a tela abrir no lugar certo. A resposta traz a…

canonical Tabular Text match 78%
get_history

Histórico de canais assistidos pelo dono. Exibe somente canais disponíveis no catálogo.

canonical Documentation Generation match 80%
record_watch

Registra um canal assistido no histórico do dono.

canonical Evaluation Monitoring match 82%
forget_watch

Tira um canal do histórico do dono.

canonical Devops Mlops match 82%
clear_history

Limpa o histórico inteiro do dono, de uma vez.

canonical Security Privacy match 81%
legacy_stream

Metadados públicos: site oficial do canal, URL da transmissão para copiar em outro player e player legado HTTP. O botão legacy_url abre http://legacy.gradetv.ne…

canonical Devops Mlops match 78%
producer_services

Oferta de transmissão autorizada sob consulta: informações e contatos para produtores. Não ativa streams. Somente informações e captação de interesse. Não provi…

canonical Text-to-Speech match 79%

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-03 03:59:09 200 ✓ 243ms

Similar agents embedding-nearest

PontoFato live
Encontre um endereço, veja empresas registradas no CEP e explore a vizinhança por distância, sem cadastro.
PontoFato · q 100%
Alexandre Caramaschi: conteúdo público live
Agente determinístico e somente leitura do site pessoal de Alexandre Caramaschi (Founder da Brasil GEO, Chief Strategy Officer da Nuvini (Na
Brasil GEO · q 100%
EditalMD live
Encontre licitações, compare exigências com seu CNPJ e veja pendências, próximos passos e evidências. Receba alertas e explore exemplos grát
EditalMD · q 100%
PageAudit live
Check SEO, AI crawler access, real-user Core Web Vitals, JSON-LD, llms.txt and discovery files. See evidence and fixes, with saved reports a
PageAudit · q 100%
Agente de consulta pública da Brasil GEO live
Agente A2A determinístico de consulta pública da Brasil GEO. Responde com dados canônicos e estáticos sobre a empresa, o fundador, as public
Brasil GEO · q 100%
Radar CNPJ live
Consulte qualquer CNPJ: Receita, sócios, sanções, dívida ativa, contratos com o governo e mais de 40 bases públicas numa ficha. Em lote, com
Radar CNPJ · q 100%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/gradetv.net.svg)](https://agenstry.com/agents/gradetv.net)
[![Verified Business](https://agenstry.com/badge/gradetv.net/identity.svg)](https://agenstry.com/agents/gradetv.net)
[![Uptime](https://agenstry.com/badge/gradetv.net/uptime.svg)](https://agenstry.com/agents/gradetv.net)
[![A2A version](https://agenstry.com/badge/gradetv.net/protocol.svg)](https://agenstry.com/agents/gradetv.net)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Grade",
  "description": "Encontre TV e r\u00e1dio, abra um canal e guarde seus favoritos para voltar. Pastas e M3U para o VLC. Projetos de produtores com direitos sob consulta.",
  "url": "https://gradetv.net",
  "provider": {
    "organization": "Grade",
    "url": "https://gradetv.net",
    "email": "contato@gradetv.net"
  },
  "documentationUrl": "https://gradetv.net/llms.txt",
  "protocol": "mcp",
  "protocolUrl": "https://modelcontextprotocol.io",
  "interfaces": [
    {
      "transport": "streamable-http",
      "url": "https://gradetv.net/mcp"
    }
  ],
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "authentication": "none"
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown"
  ],
  "skills": [
    {
      "id": "api_index",
      "name": "api_index",
      "description": "\u00cdndice auto-descrito da API inteira, com os idiomas e as p\u00e1ginas HTML de cada um.",
      "endpoint": "GET /api/"
    },
    {
      "id": "health",
      "name": "health",
      "description": "Liveness e o commit publicado agora \u2014 \u00e9 como o smoke espera o pr\u00f3prio deploy.",
      "endpoint": "GET /api/health"
    },
    {
      "id": "geo",
      "name": "geo",
      "description": "Pa\u00eds e idioma sugeridos para quem est\u00e1 chamando. Sem pa\u00eds detectado pela borda, sugere BR com `source: \"fallback\"`; `detected` diz o que a borda viu.",
      "endpoint": "GET /api/geo"
    },
    {
      "id": "list_countries",
      "name": "list_countries",
      "description": "Pa\u00edses do cat\u00e1logo com contagem playable e URL da bandeira (kind=radio conta esta\u00e7\u00f5es).",
      "endpoint": "GET /api/countries"
    },
    {
      "id": "list_tags",
      "name": "list_tags",
      "description": "Tags das esta\u00e7\u00f5es de r\u00e1dio toc\u00e1veis, com contagem; opcionalmente por pa\u00eds.",
      "endpoint": "GET /api/tags"
    },
    {
      "id": "search_channels",
      "name": "search_channels",
      "description": "Busca canais p\u00fablicos (filtros: q, country, category, language, network, quality, playable; kind=radio para esta\u00e7\u00f5es de r\u00e1dio, tag para tag de r\u00e1dio; sort=score ordena pela sa\u00fade medida por terceiro, sort=votes pelos votos da r\u00e1dio; online=1 s\u00f3 quem foi visto online nas \u00faltimas 48 h). \u00c9 a porta de entrada do produto. A resposta varia por navegador, sistema e pa\u00eds de quem pede \u2014 cada canal traz `social.your_fails`, o recorte do SEU ambiente \u2014 por isso ela \u00e9 `Cache-Control: private`.",
      "endpoint": "GET /api/channels"
    },
    {
      "id": "list_languages",
      "name": "list_languages",
      "description": "Idiomas que t\u00eam canal toc\u00e1vel, com a contagem de cada um.",
      "endpoint": "GET /api/languages"
    },
    {
      "id": "list_networks",
      "name": "list_networks",
      "description": "Redes e emissoras que t\u00eam canal toc\u00e1vel, com a contagem.",
      "endpoint": "GET /api/networks"
    },
    {
      "id": "list_qualities",
      "name": "list_qualities",
      "description": "Qualidades distintas encontradas nos streams do cat\u00e1logo (em r\u00e1dio, codec e bitrate).",
      "endpoint": "GET /api/qualities"
    },
    {
      "id": "list_subdivisions",
      "name": "list_subdivisions",
      "description": "Estados e prov\u00edncias que t\u00eam canal toc\u00e1vel.",
      "endpoint": "GET /api/subdivisions"
    },
    {
      "id": "list_cities",
      "name": "list_cities",
      "description": "Cidades que t\u00eam canal toc\u00e1vel, filtr\u00e1veis por pa\u00eds e por estado.",
      "endpoint": "GET /api/cities"
    },
    {
      "id": "get_channel",
      "name": "get_channel",
      "description": "Ficha completa de um canal, com os streams j\u00e1 apontando para o nosso hop.",
      "endpoint": "GET /api/channels/:id"
    },
    {
      "id": "get_channel_guide",
      "name": "get_channel_guide",
      "description": "Programa\u00e7\u00e3o de hoje do canal (grabada por n\u00f3s): agora, a seguir e a lista. Dispon\u00edvel nos canais com guia (`guide=1`), com validade de at\u00e9 dois dias. Confira a data da resposta; a ficha traz o resumo em `guide_now`.",
      "endpoint": "GET /api/channels/:id/guia"
    },
    {
      "id": "create_guest",
      "name": "create_guest",
      "description": "Cria guest ipt_\u2026 N\u00e3o pede e-mail nem nada. Guarde o token: perdeu o token, perdeu a biblioteca \u2014 a n\u00e3o ser que a conta j\u00e1 o tenha reivindicado (`POST /api/auth/claim`), e a\u00ed o que ele guardou est\u00e1 na conta.",
      "endpoint": "POST /api/guest"
    },
    {
      "id": "get_library",
      "name": "get_library",
      "description": "A galeria inteira do dono: pastas, sub-abas, canais e as URLs de feed de cada n\u00edvel.",
      "endpoint": "GET /api/library"
    },
    {
      "id": "create_category",
      "name": "create_category",
      "description": "Cria tab/categoria pessoal. Teto de 8 pastas por dono. A resposta traz a biblioteca inteira j\u00e1 atualizada \u2014 n\u00e3o precisa recarregar `GET /api/library` depois.",
      "endpoint": "POST /api/categories"
    },
    {
      "id": "create_group",
      "name": "create_group",
      "description": "Cria sub-aba numa categoria. Teto de 12 sub-abas por pasta. A resposta traz a biblioteca inteira j\u00e1 atualizada \u2014 n\u00e3o precisa recarregar `GET /api/library` depois.",
      "endpoint": "POST /api/groups"
    },
    {
      "id": "add_item",
      "name": "add_item",
      "description": "Adiciona canal \u00e0 sub-aba. Teto de 40 canais por sub-aba. A resposta diz em que pasta e sub-aba o canal caiu, para a tela abrir no lugar certo. A resposta traz a biblioteca inteira j\u00e1 atualizada \u2014 n\u00e3o precisa recarregar `GET /api/library` depois.",
      "endpoint": "POST /api/items"
    },
    {
      "id": "get_history",
      "name": "get_history",
      "description": "Hist\u00f3rico de canais assistidos pelo dono. Exibe somente canais dispon\u00edveis no cat\u00e1logo.",
      "endpoint": "GET /api/history"
    },
    {
      "id": "record_watch",
      "name": "record_watch",
      "description": "Registra um canal assistido no hist\u00f3rico do dono.",
      "endpoint": "POST /api/history"
    },
    {
      "id": "forget_watch",
      "name": "forget_watch",
      "description": "Tira um canal do hist\u00f3rico do dono.",
      "endpoint": "DELETE /api/history/:channel_id"
    },
    {
      "id": "clear_history",
      "name": "clear_history",
      "description": "Limpa o hist\u00f3rico inteiro do dono, de uma vez.",
      "endpoint": "DELETE /api/history"
    },
    {
      "id": "legacy_stream",
      "name": "legacy_stream",
      "description": "Metadados p\u00fablicos: site oficial do canal, URL da transmiss\u00e3o para copiar em outro player e player legado HTTP. O bot\u00e3o legacy_url abre http://legacy.gradetv.net:8080/legacy?stream=ID. A p\u00e1gina isolada aceita lang=pt/en/es/fr/de e theme=light/dark. Playlists continuam pelo hop HTTPS e m\u00eddia direto da origem. N\u00e3o remove recusa de acesso nem exig\u00eancia CORS. Uma leitura indexada; n\u00e3o busca origem nem grava no D1.",
      "endpoint": "GET /api/legacy/:id"
    },
    {
      "id": "producer_services",
      "name": "producer_services",
      "description": "Oferta de transmiss\u00e3o autorizada sob consulta: informa\u00e7\u00f5es e contatos para produtores. N\u00e3o ativa streams. Somente informa\u00e7\u00f5es e capta\u00e7\u00e3o de interesse. N\u00e3o provisiona, n\u00e3o cobra e n\u00e3o ativa transmiss\u00e3o. Use contact.form_url no browser, contact.email por e-mail ou POST /api/contact para apresentar o projeto. O envio \u00e9 livre \u2014 sem captcha nem pagamento \u2014, uma mensagem a cada 10 s por rede.",
      "endpoint": "GET /api/producers"
    }
  ],
  "discovery": {
    "openapi": "https://gradetv.net/openapi.json",
    "llms": "https://gradetv.net/llms.txt",
    "okf": "https://gradetv.net/okf/index.md",
    "numbers": "https://gradetv.net/api/vitrine",
    "partnerships": "https://gradetv.net/api/partners",
    "api_catalog": "https://gradetv.net/.well-known/api-catalog",
    "x402": "https://gradetv.net/.well-known/x402",
    "pricing": "https://gradetv.net/pricing",
    "docs": "https://gradetv.net/docs"
  },
  "updated": "2026-10-03"
}