{
  "ok": true,
  "listing": {
    "id": "lst_01M30NZYX868Q9EZBFMNHSRHB8",
    "slug": "protocols-made-fun",
    "businessName": "Protocols Made Fun",
    "legalName": "",
    "description": {
      "short": "All things about protocol specification, testing, and verification. Creative Commons Attribution 4.0 International License.",
      "full": "All things about protocol specification, testing, and verification. Creative Commons Attribution 4.0 International License."
    },
    "industry": "",
    "website": "https://protocols-made-fun.com/",
    "rootDomain": "protocols-made-fun.com",
    "listingOrigin": "discovered",
    "entityType": "business",
    "entitySubtype": "commercial_organization",
    "entityClassification": {
      "type": "business",
      "subtype": "commercial_organization",
      "confidenceScore": 73,
      "classifiedAt": "2026-09-21T00:31:27.255Z",
      "government": null
    },
    "placementType": "global",
    "location": {
      "placementType": "global",
      "countryCode": "",
      "countryName": "Global",
      "flag": "",
      "region": "",
      "city": "",
      "mode": "online"
    },
    "primaryCategory": null,
    "claimStatus": "unclaimed",
    "verificationStatus": "unverified",
    "verified": false,
    "businessVerification": {
      "applicable": true,
      "status": "pending",
      "level": "none",
      "label": "Not Registry Verified",
      "badgeColor": "neutral",
      "countsAsVerified": false,
      "authority": null,
      "registryId": null,
      "matchScore": 0,
      "authorityCode": null,
      "lei": null,
      "jurisdiction": null,
      "registeredLegalName": null,
      "registryStatus": null,
      "registryUrl": null,
      "checkedAt": null,
      "verifiedAt": null,
      "nextCheckAt": null
    },
    "businessVerified": false,
    "commercialStatus": "free",
    "agentStatus": "active",
    "paidProfile": false,
    "freshnessStatus": "current",
    "media": {
      "logo": "https://protocols-made-fun.com/favicon.ico",
      "explicitLogo": null,
      "favicon": null,
      "fallback": "https://protocols-made-fun.com/favicon.ico"
    },
    "scores": {
      "dataConfidence": 80,
      "quality": 80,
      "verification": 0
    },
    "qualityScore": 80,
    "urls": {
      "directory": "https://directory.websdocs.com/business/protocols-made-fun",
      "json": "https://directory.websdocs.com/business/protocols-made-fun.json",
      "website": "https://protocols-made-fun.com/",
      "gateway": null
    },
    "publishedAt": "2026-09-21T00:31:28.351Z",
    "updatedAt": "2026-09-21T00:31:40.579Z",
    "organizationType": "organization",
    "language": {
      "primary": "en",
      "supported": [
        "en"
      ],
      "currencies": []
    },
    "categories": [
      {
        "slug": "other-businesses",
        "name": "Other Businesses & Services",
        "primary": true,
        "confidenceScore": 35
      }
    ],
    "services": [],
    "products": [],
    "agentCapabilities": [
      {
        "key": "booking",
        "name": "Online booking",
        "description": "Detected from public website navigation or discovery metadata.",
        "protocol": "http",
        "actionUrl": "https://link.springer.com/book/10.1007/978-3-031-02011-7",
        "method": "GET",
        "authenticationRequired": false
      },
      {
        "key": "support",
        "name": "Online support",
        "description": "Detected from public website navigation or discovery metadata.",
        "protocol": "http",
        "actionUrl": "https://protocols-made-fun.com/contact.html",
        "method": "GET",
        "authenticationRequired": false
      },
      {
        "key": "api",
        "name": "Public API",
        "description": "Detected from public website navigation or discovery metadata.",
        "protocol": "http",
        "actionUrl": "https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/with-default.html",
        "method": "GET",
        "authenticationRequired": false
      }
    ],
    "contacts": [
      {
        "type": "email",
        "label": "Public email",
        "value": "igor@konnov.phd",
        "url": "https://mailto:igor@konnov.phd/",
        "platform": "email",
        "primary": true,
        "verificationStatus": "public_source"
      },
      {
        "type": "phone",
        "label": "Public phone",
        "value": "2024-05-06",
        "url": null,
        "platform": "phone",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/",
        "url": "https://github.com/informalsystems/quint/",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/main/tutorials/repl/repl.md",
        "url": "https://github.com/informalsystems/quint/blob/main/tutorials/repl/repl.md",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/main/tutorials/lesson3-anatomy/coin.qnt",
        "url": "https://github.com/informalsystems/quint/blob/main/tutorials/lesson3-anatomy/coin.qnt",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/main/tutorials/lesson3-anatomy/coin.md",
        "url": "https://github.com/informalsystems/quint/blob/main/tutorials/lesson3-anatomy/coin.md",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/2c66d9376093e1c8a655dffeef011476d21d7e35/tutorials/lesson3-anatomy/coin.qnt",
        "url": "https://github.com/informalsystems/quint/blob/2c66d9376093e1c8a655dffeef011476d21d7e35/tutorials/lesson3-anatomy/coin.qnt",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/2c66d9376093e1c8a655dffeef011476d21d7e35/examples/spells/basicSpells.qnt",
        "url": "https://github.com/informalsystems/quint/blob/2c66d9376093e1c8a655dffeef011476d21d7e35/examples/spells/basicSpells.qnt",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/apalache",
        "url": "https://github.com/informalsystems/apalache",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/tlaplus/tlaplus/blob/63e2a4c040fd476f651f3561e8fef842beaf74aa/tlatools/org.lamport.tlatools/src/tla2sany/StandardModules/TLC.tla",
        "url": "https://github.com/tlaplus/tlaplus/blob/63e2a4c040fd476f651f3561e8fef842beaf74aa/tlatools/org.lamport.tlatools/src/tla2sany/StandardModules/TLC.tla",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/main/doc/lang.md",
        "url": "https://github.com/informalsystems/quint/blob/main/doc/lang.md",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/konnov/protocols-made-fun/discussions/2",
        "url": "https://github.com/konnov/protocols-made-fun/discussions/2",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/8eca8a2db4f088130c8d485436c365384d3f4c6b/LICENSE",
        "url": "https://github.com/informalsystems/quint/blob/8eca8a2db4f088130c8d485436c365384d3f4c6b/LICENSE",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/8eca8a2db4f088130c8d485436c365384d3f4c6b/quint/src/rng.ts",
        "url": "https://github.com/informalsystems/quint/blob/8eca8a2db4f088130c8d485436c365384d3f4c6b/quint/src/rng.ts",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/blob/8eca8a2db4f088130c8d485436c365384d3f4c6b/quint/test/rng.test.ts",
        "url": "https://github.com/informalsystems/quint/blob/8eca8a2db4f088130c8d485436c365384d3f4c6b/quint/test/rng.test.ts",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/leanprover/lean4",
        "url": "https://github.com/leanprover/lean4",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/informalsystems/quint/pull/1455",
        "url": "https://github.com/informalsystems/quint/pull/1455",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/konnov/apalache-examples/tree/main/ben-or83",
        "url": "https://github.com/konnov/apalache-examples/tree/main/ben-or83",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/konnov/apalache-examples/blob/main/ben-or83/typedefs.tla",
        "url": "https://github.com/konnov/apalache-examples/blob/main/ben-or83/typedefs.tla",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/konnov/apalache-examples/blob/7c905a409bb8ec5007c0ecca44c2262f7296a2c0/ben-or83/Ben_or83_inductive.tla",
        "url": "https://github.com/konnov/apalache-examples/blob/7c905a409bb8ec5007c0ecca44c2262f7296a2c0/ben-or83/Ben_or83_inductive.tla",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "youtube",
        "value": "https://www.youtube.com/watch?v=cYenTPD7740",
        "url": "https://www.youtube.com/watch?v=cYenTPD7740",
        "platform": "youtube",
        "primary": false,
        "verificationStatus": "public_source"
      }
    ],
    "serviceAreas": [],
    "sources": [
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/",
        "title": "Protocols Made Fun",
        "primary": true,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/ben-or.html",
        "title": "Model checking safety of Ben-Or's Byzantine consensus with Apalache | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/value.html",
        "title": "The value of model checking in distributed protocols design | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/prng-part1.html",
        "title": "Thinking about a random number generator: Part 1 | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/prng-part2.html",
        "title": "Thinking about a random number generator: Part 2 | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/prng-part3.html",
        "title": "Thinking about a random number generator: Part 3 | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/contact.html",
        "title": "Contact | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      },
      {
        "type": "website",
        "url": "https://protocols-made-fun.com/maps.html",
        "title": "You should not care about memory in protocol specifications | Protocols Made Fun",
        "primary": false,
        "lastObservedAt": "2026-09-21T00:31:16.648Z"
      }
    ],
    "timestamps": {
      "firstDiscoveredAt": "2026-09-21T00:31:16.648Z",
      "lastCrawledAt": "2026-09-21T00:31:28.351Z",
      "lastVerifiedAt": null,
      "publishedAt": "2026-09-21T00:31:28.351Z",
      "updatedAt": "2026-09-21T00:31:40.579Z"
    },
    "gatewayDiscovery": {
      "status": "unmapped",
      "activeAgent": false,
      "urls": {},
      "capabilities": {
        "ask": false,
        "checkout": false
      },
      "checkedAt": null
    },
    "quoteRequest": {
      "available": false,
      "endpoint": null
    }
  },
  "canonicalUrl": "https://directory.websdocs.com/business/protocols-made-fun",
  "generatedAt": "2026-09-22T00:49:14.382Z"
}