{"adoption": {"forks": 4, "observed_at": "2026-08-28T04:04:13.789616+00:00", "stars": 1280}, "canonical_url": "https://ross.abutalabs.com/products/rair-sdk", "card": {"archived": false, "artifact_type": "library", "description": "Simple developer SDK for RAIRprotocol", "domain": ["blockchain", "web-development", "developer-tools", "apis"], "enriched": true, "function": ["sdk", "auth", "http-client", "websocket"], "health_score": 39, "homepage": null, "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["rairprotocol/rair-sdk"], "name": "rairprotocol/rair-sdk", "platform": ["browser", "cross-platform"], "pushed_at": "2025-07-14T14:27:40+00:00", "repo": "rairprotocol/rair-sdk", "stars": 1280, "tags": ["nft", "web3", "dapp", "rair-protocol", "metamask", "wallet-authentication", "api-client", "typescript-sdk", "digital-collectibles", "blockchain-gaming", "cryptocurrency", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["build a dApp on top of RAIRprotocol", "add wallet login with Metamask to my web app", "integrate NFT minting and collections into my frontend", "call RAIRprotocol API endpoints from TypeScript without writing raw requests", "query users and notifications from a RAIR backend", "bootstrap a web3 frontend quickly with a deployable template"], "what_it_is": "A TypeScript SDK that wraps the RAIRprotocol API, letting developers build decentralized applications (dApps) with wallet-based authentication, user management, notifications, and NFT interactions. It ships with prebuilt request modules, a sample frontend that can be deployed to Netlify in one click, and requires an Admin NFT minted on Base to get started.", "when_to_avoid": ["you need a general-purpose Ethereum or EVM library rather than something tied to the RAIRprotocol service - use ethers.js or viem instead", "you need to run or modify the protocol backend itself - use the rair-node project, as this SDK only talks to an existing server", "you are not willing to mint an Admin NFT and cover Base gas fees, which are required to use the protocol", "your stack is not JavaScript/TypeScript or does not run in a browser/Node environment"], "when_to_choose": ["you are building a frontend or dApp specifically on RAIRprotocol", "you want ready-made TypeScript wrappers for RAIR's auth, users, notifications, and NFT endpoints instead of hand-rolling HTTP calls", "you need a fast path to a working web3 app, such as the included sample frontend with one-click Netlify deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rair-sdk", "repo": "rairprotocol/rair-sdk", "role": "main", "score": 36}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.789616+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:02:38.643263+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "090880b67ab8155fcf458a5d11cd1ce3688b112d1221256ea0c49d208d8f1a84", "fetched_at": "2026-08-28T04:04:13.789616+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rairprotocol/rair-sdk"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 31, "longevity": 50, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 705, "days_push": 415, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 36, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}