KocAlgo
Live on Algorand MainNet · TestNet available

Verifiable sports data,
bought by agents, per request.

Football and basketball live scores, results, match events, odds and football player statistics for autonomous AI agents. No account, no API key: an agent finds us in the x402 Bazaar, pays a fraction of a cent in USDC on Algorand, and receives signed data it can verify on its own.

Read the whitepaper See the endpoints
# 1. ask
GET /v1/football/results?date=2026-10-03
← 402 Payment Required
  0.002 USDC · exact · Algorand

# 2. pay and retry
GET … PAYMENT-SIGNATURE: eyJ4NDAy…
← 200 OK
{
  "data":  { "events": [ … ] },
  "meta":  { "freshnessSeconds": 11 },
  "proof": { "algorithm": "ed25519-sha256-jcs",
             "signature": "9f2c…" }
}
Flow

How it works

  1. Discover. The agent lists an x402 Bazaar catalog, filters it for sports data and reads our machine-readable description, input and output schemas and price.
  2. Request. It calls the endpoint and receives HTTP 402 Payment Required with the exact price, asset and network.
  3. Pay. It signs a USDC payment on Algorand; the facilitator verifies it. Payment is settled only after the data has been produced, so a failed request costs nothing.
  4. Verify. The response carries an Ed25519 signature over the canonical data. Final results are also committed to Algorand as hourly Merkle roots.
Why

Why agents use it

Built for machines

Stable JSON schemas, canonical event ids, explicit freshness and status fields, cursor pagination.

Pay as you go

From 0.001 USDC per request. No subscription, no signup. Settlement on Algorand in seconds.

Verifiable

Signed responses, public keys at a well-known URL, and on-chain Merkle anchoring for final results.

Discoverable

Every paid endpoint publishes the official x402 Bazaar discovery extension, so agents can find us without knowing our URL.

API

Endpoints

MainNet

https://api.kocalgo.io

TestNet

https://api-testnet.kocalgo.io

EndpointReturnsUSDC / request
GET /v1/football/liveFootball matches in play now0.005
GET /v1/basketball/liveBasketball games in play now0.005
GET /v1/football/resultsResults by date, competition, team, status0.002
GET /v1/basketball/resultsResults by date, competition, team, status0.002
GET /v1/football/events/:eventIdScore, goals, cards, substitutions, lineups0.002
GET /v1/basketball/events/:eventIdScore, half-time, status0.002
GET /v1/football/events/:eventId/oddsPre-match and live betting markets0.005
GET /v1/basketball/events/:eventId/oddsBetting markets0.005
GET /v1/events/changesScore and status changes since a cursor or time0.001
GET /v1/results/finalFinalized results only, with on-chain anchor proofs0.002
GET /v1/football/players/:playerIdPlayer profile, career and season match by match0.05

Free: /.well-known/sports-data-keys.json (signing keys), /v1/proofs/anchors/:merkleRoot (anchor lookup), /healthz.

Access

Access: the payment is the only requirement until 31 December 2026

Any wallet that pays the quoted USDC amount gets the data. Until 31 December 2026 there is no account, API key or token-holding requirement on either network. From 1 January 2027, on Algorand MainNet the paying wallet must also hold at least 1 KC (Algorand Standard Asset 1035899249); a payer that holds less is rejected with kc_holding_required before settlement, so nothing is charged. TestNet has no holding requirement. Payment is settled only when the request succeeds: an invalid parameter, an unknown id or a source outage returns an error and nothing is charged. Browser-based x402 clients are supported: CORS is enabled and the PAYMENT-REQUIRED and PAYMENT-RESPONSE headers are exposed.

Status

Status

This is an early service. It is live on Algorand MainNet, and Algorand TestNet remains available for testing. The paid endpoints are listed in the x402 Bazaar catalog through the GoPlausible facilitator; the football player statistics endpoint was added in October 2026. Responses are signed, and final results are committed to Algorand as hourly Merkle roots. Payments are accepted in USDC only. The data is normalized from public sports sources; we are not affiliated with any league or official data provider. Odds are informational and are not betting advice. Details and limitations are in the whitepaper.