{"_id":"@degenhood/sdk","_rev":"2-d821465589542451df3e32bc1ad8b8a9","name":"@degenhood/sdk","dist-tags":{"canary":"0.1.0-canary.0","latest":"0.1.0"},"versions":{"0.1.0-canary.0":{"name":"@degenhood/sdk","version":"0.1.0-canary.0","license":"MIT","_id":"@degenhood/sdk@0.1.0-canary.0","maintainers":[{"name":"degenhood-dev","email":"hello@degenhood.fun"}],"homepage":"https://degenhood.fun","bugs":{"url":"https://github.com/degenhood/DegenHood/issues"},"dist":{"shasum":"19ad64403e5a9023e46e6692472905e56efcc2f3","tarball":"https://registry.npmjs.org/@degenhood/sdk/-/sdk-0.1.0-canary.0.tgz","fileCount":4,"integrity":"sha512-2WmQfxfSFpVz6lco7WJZgyfV3Teqo7hZX+5ciDrDX+V8U4DM33nYSQjS1H1Ok49OzbSf9dW+Okdx2Ye1Id9lgQ==","signatures":[{"sig":"MEUCIQDYGBCj+6J8wIVvXMgMhOlFPWkgwNOVSrSKn4yG+gChsgIgJK8CLPZC4PBWXYktCPmGRiL3ivKSFMKBQlaZjN58x5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19384},"type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./package.json":"./package.json"},"gitHead":"5f448aa298e6ea4db4acac52b33096fcbccf0a05","scripts":{"test":"node --test"},"_npmUser":{"name":"degenhood-dev","email":"hello@degenhood.fun"},"repository":{"url":"git+https://github.com/degenhood/DegenHood.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.8.0","description":"Non-custodial DegenHood launch preparation and verification for Robinhood Chain.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"viem":"^2.55.0"},"publishConfig":{"tag":"canary","access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-canary.0_1784292246934_0.4059578988364827","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@degenhood/sdk","version":"0.1.0","description":"Non-custodial DegenHood launch preparation and verification for Robinhood Chain.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/degenhood/DegenHood.git","directory":"packages/sdk"},"homepage":"https://degenhood.fun","bugs":{"url":"https://github.com/degenhood/DegenHood/issues"},"type":"module","exports":{".":"./src/index.js","./package.json":"./package.json"},"engines":{"node":">=20"},"publishConfig":{"access":"public","tag":"latest"},"scripts":{"test":"node --test"},"dependencies":{"viem":"^2.55.0"},"gitHead":"9527d33cf3224b4d24b605d771c01d758079d31e","_id":"@degenhood/sdk@0.1.0","_nodeVersion":"25.5.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-6UAvqQZ9mt5Ai9oPf8gYyDoS+DjTsrrljnwLPDyvBHHNxr278NptO+CItkEIAfS1jxThTs7EwwM4SnVqnxTJtw==","shasum":"fd2db133c68a91aff0aeda4d7368cf9426650708","tarball":"https://registry.npmjs.org/@degenhood/sdk/-/sdk-0.1.0.tgz","fileCount":4,"unpackedSize":19342,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEf4JmZYlA43/ST+eVake43qTYlUSdeaqvLJ6EQ5LBncAiA1dKSa81lxjpmCaaeT/sqlbPP9ywJNRYW/a36eyL5R4g=="}]},"_npmUser":{"name":"degenhood-dev","email":"hello@degenhood.fun"},"directories":{},"maintainers":[{"name":"degenhood-dev","email":"hello@degenhood.fun"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1784296337030_0.31549996971581074"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-17T12:44:06.767Z","modified":"2026-07-17T13:52:17.340Z","0.1.0-canary.0":"2026-07-17T12:44:07.082Z","0.1.0":"2026-07-17T13:52:17.146Z"},"bugs":{"url":"https://github.com/degenhood/DegenHood/issues"},"license":"MIT","homepage":"https://degenhood.fun","repository":{"type":"git","url":"git+https://github.com/degenhood/DegenHood.git","directory":"packages/sdk"},"description":"Non-custodial DegenHood launch preparation and verification for Robinhood Chain.","maintainers":[{"name":"degenhood-dev","email":"hello@degenhood.fun"}],"readme":"# @degenhood/sdk\n\nShared, non-custodial request tooling for DegenHood v4 launches on Robinhood Chain.\n\n## Install\n\n```sh\nnpm install @degenhood/sdk@0.1.0\n```\n\nVersion `0.1.0` is the first stable package release and is published under the `latest` dist-tag.\nAccess to the production launch-preparation API remains controlled and wallet-allowlisted.\n\nStart from\n[`examples/developer/prepare-launch.ts`](../../examples/developer/prepare-launch.ts) and\n[`examples/developer/token.example.json`](../../examples/developer/token.example.json). The\nquickstart injects the creator's existing wallet client, obtains a 15-minute preparation-only\nsession, verifies the returned calldata, and runs read-only gas estimation and call simulation.\nIt does not store a private key, sign a transaction, or broadcast.\n\n## Usage\n\n```js\nimport { createDegenHoodClient, verifyLaunchPreparation } from \"@degenhood/sdk\";\n\nconst client = createDegenHoodClient({\n  baseUrl: \"https://api.degenhood.fun\",\n  accessToken: async () => getPrivyAccessToken()\n});\n\nconst preparation = await client.prepareLaunch({\n  name: \"Example Hood\",\n  symbol: \"EXAMPLE\",\n  launcher: account,\n  tokenAdmin: account,\n  feeAdmin: account,\n  beneficiary: account,\n  description: \"The creator story.\",\n  templateId: 2\n});\n\nverifyLaunchPreparation(preparation);\n// preparation.transaction is unsigned. The launcher signs and pays gas.\n```\n\nFor an allowlisted headless creator, the SDK transports the challenge and an externally produced\nEIP-191 signature but never signs it:\n\n```js\nconst publicClient = createDegenHoodClient({ baseUrl: \"https://api.degenhood.fun\" });\nconst challenge = await publicClient.requestWalletChallenge({ wallet: account });\n\n// This signing operation belongs to your wallet client, outside @degenhood/sdk.\nconst signature = await walletClient.signMessage({ message: challenge.message });\nconst session = await publicClient.createWalletSession({\n  challengeId: challenge.challengeId,\n  signature\n});\n\nconst sessionClient = createDegenHoodClient({\n  baseUrl: \"https://api.degenhood.fun\",\n  accessToken: session.accessToken\n});\n```\n\nThe session lasts 15 minutes, carries only `launch:prepare`, and requires the preparation launcher\nto equal the authenticated wallet. It has no refresh token and cannot send a transaction.\n\nRead-only runtime checks use the same client:\n\n```js\nconst health = await client.getHealth();\nconst indexedToken = await client.getToken(preparation.predictedTokenAddress);\n```\n\nPrepare the permissionless v4 creator-fee delivery sequence from the indexed token record:\n\n```js\nconst fees = await client.getFeeDeliveryPreparation(indexedToken.contract);\nclient.verifyFeeDeliveryPreparation(fees);\n\n// fees.steps contains three zero-value, unsigned transactions:\n// 1. collectRewards(token)\n// 2. flushPoolFees(poolId, beneficiary)\n// 3. claimFor(beneficiary)\n```\n\nThe final FeeLocker claim is beneficiary-account scoped and can include earnings from several launches. The SDK cannot redirect funds, sign, sequence confirmations, pay gas, or broadcast.\n\nThe package also exports the canonical v4 request builder, digest function, calldata encoder, fee-delivery builder/verifier, ABIs, serialiser, and zero salt constant. It never stores keys, signs messages or transactions, or broadcasts transactions.\n","readmeFilename":"README.md"}