{"_id":"@arcium-hq/staking","_rev":"5-4642c60017fd95a0f06933948a819594","name":"@arcium-hq/staking","dist-tags":{"latest":"0.15.0"},"versions":{"0.13.1":{"name":"@arcium-hq/staking","version":"0.13.1","keywords":["Arcium","Staking","Solana","SDK"],"author":{"name":"Arcium"},"license":"GPL-3.0-only","_id":"@arcium-hq/staking@0.13.1","maintainers":[{"name":"cryptopapi997","email":"nicolas@arcium.com"}],"homepage":"https://ts.arcium.com","dist":{"shasum":"64ff417ad78dcc59aa494fa3510a6a5dd4b9d875","tarball":"https://registry.npmjs.org/@arcium-hq/staking/-/staking-0.13.1.tgz","fileCount":38,"integrity":"sha512-qZFFQli286eXobwplwEWP2ctZhweIsrRYi0jfeBJn8sAtyxwRemOjzoWHf5zQopOMh1CINLC7dY+NiCx080hhQ==","signatures":[{"sig":"MEUCIQDDX2WoXycxnqSoF9HHa2dx72i+xiA5M4IcJLEEoGpIjAIgGqLSxBskKJrQok5pch+CzVgvYd4B5iayceILXwzVpMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041359},"main":"build/index.mjs","type":"module","types":"build/types/index.d.ts","module":"build/index.mjs","engines":{"node":">=20.18.0"},"exports":[{"types":"./build/types/index.d.ts","import":"./build/index.mjs","require":"./build/index.cjs"}],"gitHead":"65ab4499ac58b5f99f4653c8e527da846d395ad1","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"mocha test/**/*.ts --exit","compile":"yarn bundle:cjs && yarn bundle:esm && yarn bundle:dts","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","bundle:cjs":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.cjs.js","bundle:dts":"tsc --emitDeclarationOnly","bundle:esm":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.esm.js","lint:clean":"rm -rf dist/ && rm -rf build/","test-single":"mocha $1 --exit"},"_npmUser":{"name":"cryptopapi997","email":"nicolas@arcium.com"},"_npmVersion":"10.8.2","description":"TypeScript SDK for the Arcium staking program","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@solana/web3.js":"^1.95.4","@anchor-lang/core":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","mocha":"^10.8.2","eslint":"^9.15.0","rollup":"^4.24.0","ts-node":"^10.9.2","typescript":"^5.6.3","@types/chai":"^5.0.0","@types/node":"^22.10.2","@types/bn.js":"^5.1.6","@types/mocha":"^10.0.9","@solana/spl-token":"^0.4.14","typescript-eslint":"^8.15.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.31.0","@rollup/plugin-typescript":"^12.1.1","@typescript-eslint/parser":"^8.15.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/staking_0.13.1_1783686195564_0.1422290819103451","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@arcium-hq/staking","version":"0.13.2","keywords":["Arcium","Staking","Solana","SDK"],"author":{"name":"Arcium"},"license":"GPL-3.0-only","_id":"@arcium-hq/staking@0.13.2","maintainers":[{"name":"cryptopapi997","email":"nicolas@arcium.com"}],"homepage":"https://ts.arcium.com","dist":{"shasum":"0ff9d78cdb314c716b14a6ee35e6c40d47253282","tarball":"https://registry.npmjs.org/@arcium-hq/staking/-/staking-0.13.2.tgz","fileCount":38,"integrity":"sha512-06MIoh6ERryopARbCmJmzDGuB12n0a0Es/uxA/eOt+zSxaAj0llHamRnKyC2rSt7qAXU8GnTbn9+j2kn5XwkRg==","signatures":[{"sig":"MEUCIHFftPezzV2KnwG024gSqlL8kKCm6Cwu+e2fWz66FMamAiEA/z955y9HjFC1u/zbR0405atn4yeFk3I5aukwLtlez4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041359},"main":"build/index.mjs","type":"module","types":"build/types/index.d.ts","module":"build/index.mjs","engines":{"node":">=20.18.0"},"exports":[{"types":"./build/types/index.d.ts","import":"./build/index.mjs","require":"./build/index.cjs"}],"gitHead":"cc81174a05dd0599b88c610d300683c90e09823d","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"mocha test/**/*.ts --exit","compile":"yarn bundle:cjs && yarn bundle:esm && yarn bundle:dts","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","bundle:cjs":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.cjs.js","bundle:dts":"tsc --emitDeclarationOnly","bundle:esm":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.esm.js","lint:clean":"rm -rf dist/ && rm -rf build/","test-single":"mocha $1 --exit"},"_npmUser":{"name":"cryptopapi997","email":"nicolas@arcium.com"},"_npmVersion":"10.8.2","description":"TypeScript SDK for the Arcium staking program","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@solana/web3.js":"^1.95.4","@anchor-lang/core":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","mocha":"^10.8.2","eslint":"^9.15.0","rollup":"^4.24.0","ts-node":"^10.9.2","typescript":"^5.6.3","@types/chai":"^5.0.0","@types/node":"^22.10.2","@types/bn.js":"^5.1.6","@types/mocha":"^10.0.9","@solana/spl-token":"^0.4.14","typescript-eslint":"^8.15.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.31.0","@rollup/plugin-typescript":"^12.1.1","@typescript-eslint/parser":"^8.15.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/staking_0.13.2_1784128532287_0.22473793534771302","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@arcium-hq/staking","version":"0.14.0","keywords":["Arcium","Staking","Solana","SDK"],"author":{"name":"Arcium"},"license":"GPL-3.0-only","_id":"@arcium-hq/staking@0.14.0","maintainers":[{"name":"cryptopapi997","email":"nicolas@arcium.com"}],"homepage":"https://ts.arcium.com","dist":{"shasum":"0de897b64b703e7f03b203769a3e7520f56e3606","tarball":"https://registry.npmjs.org/@arcium-hq/staking/-/staking-0.14.0.tgz","fileCount":38,"integrity":"sha512-fFFf9S8ulCLHqT0NfjbR7Tco9iUNxHLSwwGBkbE1esW+6eBdEdqCRxflHEHgg/mBk59fBk82JbxAeNfB5jSKPg==","signatures":[{"sig":"MEUCIQCMa57RtMSy79ozQJYdlLm9ou0JBF/mzA/8pXsMnjYXSAIgPDt98/E8bDyp+BwS7yA8Q+D7aqlibnpnreLtO8FYBDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041359},"main":"build/index.mjs","type":"module","types":"build/types/index.d.ts","module":"build/index.mjs","engines":{"node":">=20.18.0"},"exports":[{"types":"./build/types/index.d.ts","import":"./build/index.mjs","require":"./build/index.cjs"}],"gitHead":"03e60cc329037c2f4a20653cec8137d5fdece490","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"mocha test/**/*.ts --exit","compile":"yarn bundle:cjs && yarn bundle:esm && yarn bundle:dts","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","bundle:cjs":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.cjs.js","bundle:dts":"tsc --emitDeclarationOnly","bundle:esm":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.esm.js","lint:clean":"rm -rf dist/ && rm -rf build/","test-single":"mocha $1 --exit"},"_npmUser":{"name":"cryptopapi997","email":"nicolas@arcium.com"},"_npmVersion":"10.8.2","description":"TypeScript SDK for the Arcium staking program","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@solana/web3.js":"^1.95.4","@anchor-lang/core":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","mocha":"^10.8.2","eslint":"^9.15.0","rollup":"^4.24.0","ts-node":"^10.9.2","typescript":"^5.6.3","@types/chai":"^5.0.0","@types/node":"^22.10.2","@types/bn.js":"^5.1.6","@types/mocha":"^10.0.9","@solana/spl-token":"^0.4.14","typescript-eslint":"^8.15.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.31.0","@rollup/plugin-typescript":"^12.1.1","@typescript-eslint/parser":"^8.15.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/staking_0.14.0_1785325174184_0.016546881294329685","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@arcium-hq/staking","version":"0.14.1","keywords":["Arcium","Staking","Solana","SDK"],"author":{"name":"Arcium"},"license":"GPL-3.0-only","_id":"@arcium-hq/staking@0.14.1","maintainers":[{"name":"cryptopapi997","email":"nicolas@arcium.com"}],"homepage":"https://ts.arcium.com","dist":{"shasum":"2e097eb18ca1a4b310566fb8442fdf3dce2672ef","tarball":"https://registry.npmjs.org/@arcium-hq/staking/-/staking-0.14.1.tgz","fileCount":38,"integrity":"sha512-TDfrQht+kRDSnVTybzrsssnHw4Xd1vY/mzfSENMT+TnP2UmgIdYZAO7T+WGUn3GyjdHe9SWCq34y4qCeg8l/SQ==","signatures":[{"sig":"MEYCIQDWT/kRx1VFibNsYYFt7daQjkzPG/Y+a3tYoWSS+E3ZegIhAM8Rka56aoN0TmDRnYKK+vPrcmNrFQEuFkMZ8PGxpAOr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041359},"main":"build/index.mjs","type":"module","types":"build/types/index.d.ts","module":"build/index.mjs","engines":{"node":">=20.18.0"},"exports":[{"types":"./build/types/index.d.ts","import":"./build/index.mjs","require":"./build/index.cjs"}],"gitHead":"e34c9db2351987ae0d2d47d9a6a111480f39214d","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"mocha test/**/*.ts --exit","compile":"yarn bundle:cjs && yarn bundle:esm && yarn bundle:dts","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","bundle:cjs":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.cjs.js","bundle:dts":"tsc --emitDeclarationOnly","bundle:esm":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.esm.js","lint:clean":"rm -rf dist/ && rm -rf build/","test-single":"mocha $1 --exit"},"_npmUser":{"name":"cryptopapi997","email":"nicolas@arcium.com"},"_npmVersion":"10.8.2","description":"TypeScript SDK for the Arcium staking program","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@solana/web3.js":"^1.95.4","@anchor-lang/core":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","mocha":"^10.8.2","eslint":"^9.15.0","rollup":"^4.24.0","ts-node":"^10.9.2","typescript":"^5.6.3","@types/chai":"^5.0.0","@types/node":"^22.10.2","@types/bn.js":"^5.1.6","@types/mocha":"^10.0.9","@solana/spl-token":"^0.4.14","typescript-eslint":"^8.15.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.31.0","@rollup/plugin-typescript":"^12.1.1","@typescript-eslint/parser":"^8.15.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/staking_0.14.1_1785330533663_0.9902547469242522","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"_id":"@arcium-hq/staking@0.15.0","dist":{"shasum":"52f1e98c05d2fd897c10cf8791d01e2df70083d0","tarball":"https://registry.npmjs.org/@arcium-hq/staking/-/staking-0.15.0.tgz","fileCount":38,"integrity":"sha512-tz0uvGhsPUUOsNL2JtBSQcUH571ayONVPFQ5kpmmrarh1Ytg3uYe0bEgXxhweSOpVb3fQ/pSvNdxyswxraYqdQ==","signatures":[{"sig":"MEYCIQCtZ8YaUCajGLeBQGhNXMzPneEZLRv2EQuiznDiXnfh4AIhAK4P82r3ANfmehAHn9A2gdX3gKnXTRxZxKKMdkINnW65","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBsihdZpBGNnTijKXtqqks3xZahXNp0kexZjJfO5M3VCAiEAiawT+3Kk+jvwLuwUo5NV0d9ShnTqoaIXgHNT8gGqgM0="}],"unpackedSize":1056004},"main":"build/index.mjs","name":"@arcium-hq/staking","type":"module","types":"build/types/index.d.ts","author":{"name":"Arcium"},"module":"build/index.mjs","engines":{"node":">=20.18.0"},"exports":[{"types":"./build/types/index.d.ts","import":"./build/index.mjs","require":"./build/index.cjs"}],"gitHead":"9ebcf625d27edd5987ae2b19afe7e61d37fd7f5b","license":"GPL-3.0-only","scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"mocha test/**/*.ts --exit","compile":"yarn bundle:cjs && yarn bundle:esm && yarn bundle:dts","lint:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","bundle:cjs":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.cjs.js","bundle:dts":"tsc --emitDeclarationOnly","bundle:esm":"node ../../node_modules/rollup/dist/bin/rollup --config config/rollup.config.esm.js","lint:clean":"rm -rf dist/ && rm -rf build/","test-single":"mocha $1 --exit"},"version":"0.15.0","_npmUser":{"name":"cryptopapi997","email":"nicolas@arcium.com"},"homepage":"https://ts.arcium.com","keywords":["Arcium","Staking","Solana","SDK"],"_npmVersion":"11.6.0","description":"TypeScript SDK for the Arcium staking program","directories":{},"maintainers":[{"name":"cryptopapi997","email":"nicolas@arcium.com"}],"sideEffects":false,"_nodeVersion":"24.9.0","dependencies":{"@solana/web3.js":"^1.95.4","@anchor-lang/core":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","mocha":"^10.8.2","eslint":"^9.15.0","rollup":"^4.24.0","ts-node":"^10.9.2","typescript":"^5.6.3","@types/chai":"^5.0.0","@types/node":"^22.10.2","@types/bn.js":"^5.1.6","@types/mocha":"^10.0.9","@solana/spl-token":"^0.4.14","typescript-eslint":"^8.15.0","@rollup/plugin-json":"^6.1.0","eslint-plugin-import":"^2.31.0","@rollup/plugin-typescript":"^12.1.1","@typescript-eslint/parser":"^8.15.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.15.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/staking_0.15.0_1789844626489_0.48581609305680673"}}},"time":{"created":"2026-07-10T12:23:15.422Z","modified":"2026-09-19T19:03:46.789Z","0.13.1":"2026-07-10T12:23:15.702Z","0.13.2":"2026-07-15T15:15:32.395Z","0.14.0":"2026-07-29T11:39:34.335Z","0.14.1":"2026-07-29T13:08:53.807Z","0.15.0":"2026-09-19T19:03:46.591Z"},"author":{"name":"Arcium"},"license":"GPL-3.0-only","homepage":"https://ts.arcium.com","keywords":["Arcium","Staking","Solana","SDK"],"description":"TypeScript SDK for the Arcium staking program","maintainers":[{"name":"cryptopapi997","email":"nicolas@arcium.com"}],"readme":"<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/arcium-hq/.github/refs/heads/main/profile/arcium.svg\" alt=\"Arcium\" width=\"200\"/>\n\n<h1>@arcium-hq/staking</h1>\n\n<p>TypeScript SDK for the Arcium staking program: PDA helpers, account reads, and instruction builders.</p>\n\n[![npm](https://img.shields.io/npm/v/@arcium-hq/staking)](https://www.npmjs.com/package/@arcium-hq/staking)\n\n**[API Docs](https://ts.arcium.com/api)** | **[Developer Docs](https://docs.arcium.com/developers/js-client-library)**\n\n</div>\n\n## When To Use\n\n- Deriving staking PDAs (primary stake, delegated stake, delegation master, pool) from TypeScript\n- Building staking transactions (stake, delegate, claim, finalize) for a wallet to sign\n- Reading typed staking account state and a wallet's delegated positions\n\n## Requirements\n\n- Node.js `>=20.18.0`\n- `@anchor-lang/core` `^1.0.2`\n\n## Installation\n\n```bash\nnpm install @arcium-hq/staking @anchor-lang/core @solana/web3.js\n```\n\n## Quick Start\n\n```ts\nimport {\n  getStakingProgram,\n  getPrimaryStakeAccInfo,\n  getUserStakePositions,\n  buildInitPrimaryStakeIx,\n} from \"@arcium-hq/staking\";\n\n// `provider` is an `AnchorProvider` you've already constructed.\nconst program = getStakingProgram(provider);\nconst owner = provider.wallet.publicKey;\n\n// Read on-chain state (null when the account does not exist).\nconst primary = await getPrimaryStakeAccInfo(program, owner);\nconst positions = await getUserStakePositions(program, owner);\n\n// Build an instruction; your wallet signs and sends it.\nconst ix = await buildInitPrimaryStakeIx({\n  program,\n  from: owner,\n  amount: 1_000n,\n  feeBasisPoints: 100,\n});\n```\n\n## Main Exports\n\n| Area | Description |\n|------|-------------|\n| PDA helpers | Derive staking pool, primary/delegated stake, master, and cross-program clock/cluster addresses. |\n| Instruction builders | `build*Ix` for every staking instruction; each returns a `TransactionInstruction`. |\n| Account readers | `get*AccInfo` (single), `get*AccInfos` (all), and `getUserStakePositions`. |\n| Offset helpers | `generateStakeOffset` and `assertValidStakeOffset` for delegated `u128` offsets. |\n| IDL exports | Bundled staking IDL, generated types, and derived program/mint addresses. |\n\n## Notes\n\n- Builders return `TransactionInstruction`s — the wallet controls signing and sending.\n- Program id, ARX mint, and token program ids are derived from the bundled IDL; there are no hardcoded addresses.\n- Reward claim builders require a caller-supplied `MTProof` and `RewardBatch`; proof discovery needs an off-chain indexer and is out of scope for this SDK.\n- `bind_primary_stake` is deliberately not exposed: it can only be invoked via CPI from the Arcium program, so a directly built transaction can never satisfy its signer requirement.\n\n## See Also\n\n- [`@arcium-hq/client`](https://www.npmjs.com/package/@arcium-hq/client)\n- [`@arcium-hq/reader`](https://www.npmjs.com/package/@arcium-hq/reader)\n- [API Docs](https://ts.arcium.com/api)\n","readmeFilename":"README.md"}