{"_id":"@bento.fun/sdk","_rev":"10-84b3ea01681397daaef212c68f87df1d","name":"@bento.fun/sdk","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.2":{"name":"@bento.fun/sdk","version":"0.1.2","keywords":["bento","prediction-markets","sdk","typescript"],"license":"MIT","_id":"@bento.fun/sdk@0.1.2","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://github.com/bento-fun/bento#readme","bugs":{"url":"https://github.com/bento-fun/bento/issues"},"dist":{"shasum":"8fdfcbcbf87ba31dd1b782a92d10768e94cdd6fa","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.1.2.tgz","fileCount":195,"integrity":"sha512-Pu5BmqADnc9r6++utEsSQBn+XuTlDqvGstpko6a3RSFTsC8HQDLUPTq4E6krWdEkR0ojcENS1/QtymEVlVsy1Q==","signatures":[{"sig":"MEYCIQCaaRKCAXW2xEJj8vymt0Os723iu3w0irS2AQ90NebZZwIhAPFvAqb9HKsBu/izRDuBCLGjdRUmiVqpagUB5a86yhvE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170824},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"620718826010a50565c07f7e85944fd5bff77b32","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","format:write":"prettier --write .","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/bento-fun/bento.git","type":"git","directory":"BentoFun/bento.fun/packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento Markets (Phase 1): duels discovery, buy quotes, place bet, positions, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.2_1779963496048_0.41548291722577235","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@bento.fun/sdk","version":"0.5.1","keywords":["bento","prediction-markets","sdk","typescript"],"license":"MIT","_id":"@bento.fun/sdk@0.5.1","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://github.com/bento-fun/bento#readme","bugs":{"url":"https://github.com/bento-fun/bento/issues"},"dist":{"shasum":"9ecea84658647d3c95e920fe0764260373f175c8","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.5.1.tgz","fileCount":607,"integrity":"sha512-KMdCz7X/sbLJ4AP4WoFTdWJFqeZOaa+sywkeAOSxxKKp9kKXjDtMXb7N4MqT48VHBDYDa5Wtj+P7xCme1a7cxA==","signatures":[{"sig":"MEUCIDcsFoLCiiZt6fXVz0ud3pmw/QBGf2XykPlHHUTGMOxJAiEAyJo5Bgv2JgEia8nsJCDPKj/fUNWlKvIfruYlZD0R0e8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2079172},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7c83902d96659e4372610d10da6c928652e487cb","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/bento-fun/bento.git","type":"git","directory":"BentoFun/bento.fun/packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento: markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.1_1781008775089_0.6989203503244026","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@bento.fun/sdk","version":"0.5.2","keywords":["bento","prediction-markets","sdk","typescript"],"license":"MIT","_id":"@bento.fun/sdk@0.5.2","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://github.com/bento-fun/bento#readme","bugs":{"url":"https://github.com/bento-fun/bento/issues"},"dist":{"shasum":"19afe7c071f411ebce3bd67fefdf452141856a92","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.5.2.tgz","fileCount":607,"integrity":"sha512-KQy/QC2HR3OCoPF7CiJv1eDU8p9f6MUJ1GOoIhrrxfQA76Uhv1jzrVHwkviJV7nND9abhGmT0OJAdQxtuZBFLQ==","signatures":[{"sig":"MEUCICWyMJbNPVByWVq92ItheIgG4i7vAn/AUlYrwp+XMKn9AiEAoq364tKqXN9Bnuy92Do2X//xDSiIlUziF4Oyu9GHp3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2079023},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"56c9b4a3bb111dcf8874a1d8c4bcd9784e9cb3fb","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/bento-fun/bento.git","type":"git","directory":"BentoFun/bento.fun/packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento: markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.2_1781010685312_0.5660644957602874","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@bento.fun/sdk","version":"0.5.3","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"license":"MIT","_id":"@bento.fun/sdk@0.5.3","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"dist":{"shasum":"8e91e485a267d7abb77e5ae9dc1942f5aff93109","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.5.3.tgz","fileCount":607,"integrity":"sha512-TrczOyYh/ZhTD3dL88Q8e/mTA88cMazZfBLQRVEJJDUIvR4VeQq/H9ZuiskuQjW9/J5PgTGbZ9OPuwDCpQ4yGw==","signatures":[{"sig":"MEQCIEwgx3xDXqGTqwDDWsFwv21RAVS80KjG29X65fDl4QGDAiBPHLYoLatxtBhdb+J4UdzKLi/qLCW2VJo7wamW8lVI9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2080045},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"f0fe54c05d179706593e5d94b05dd75a6073ce1c","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/Bentodotfun/bento.fun.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.3_1781026494701_0.3588087879249693","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@bento.fun/sdk","version":"0.5.4","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"license":"MIT","_id":"@bento.fun/sdk@0.5.4","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"dist":{"shasum":"88945739d3bc1cd2283ad8ebf1fdcf46c4da9eeb","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.5.4.tgz","fileCount":607,"integrity":"sha512-+MtKWE6cfw5byf3ExPda1zdf8NCABkSiFMF45DmqpSCGMBu04vJ4J9BdnpNFyyIIDQSLqhdklhnlJlRNhxFpsQ==","signatures":[{"sig":"MEYCIQCZW6K+f/p6BSZB6xr4JGOJwANQ8ft7ZS9NX6/VVtn1kQIhAIcpvZMgVium/jq6rBLZFux8+W6Q4q98BbjQCgO7x0eS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2081169},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"cd63b661b344731b2c2661fa1cb36cbdeb94f5fc","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/Bentodotfun/bento.fun.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.4_1781269303641_0.5595939625027453","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@bento.fun/sdk","version":"0.5.5","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"license":"MIT","_id":"@bento.fun/sdk@0.5.5","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"dist":{"shasum":"c7fa35f7c16ee741697b6ec8fdc7bfe1f4cacfb1","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.5.5.tgz","fileCount":607,"integrity":"sha512-o7nmHk6Fb5PnDKPPomIzXTvHITDLmgIWWuYI1sfbzKb/yZlkqwrXA9Gpw/b+WiwpUrQOyHGuZP98fvMNuUOv4A==","signatures":[{"sig":"MEYCIQCJhjOdMmcMlfxsFup1RtauV+C4W3uzliJQ/fI9HA+E+QIhAL6n3vr6XKTgbFqhfkVEzCibMmN4hEkg6NuCGcpLclEH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2080171},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"c5ecc8c621129801c64af803c24743c0656c7038","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/Bentodotfun/bento.fun.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.5_1781270262180_0.08434362713509702","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bento.fun/sdk","version":"0.6.0","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"license":"MIT","_id":"@bento.fun/sdk@0.6.0","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"dist":{"shasum":"c3a398aa0e4da7c99c22d1ad918b19b7abdfcebc","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.6.0.tgz","fileCount":623,"integrity":"sha512-WUNdJSCruVBgeDHyP3UXV4CwR2q3y/eks5ewVHH7dOb579Hc4Xb/xoWxkQ2Xz81aASnPrkUQQWOoMIaFbPSvmA==","signatures":[{"sig":"MEYCIQCNslu7qOtEopkoHzRh6PISsmw8MuL1JhqWGvqIkiXsXwIhAJ5dwiZL+BPsbiCMcDQWdou1UN4zV2RaRdMWf9CdyZWy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2183171},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"e5279ec0cea85ebdd027234a59df336ef54532d8","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","prepare":"pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/Bentodotfun/bento.fun.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.0_1783180209352_0.6947721706422629","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@bento.fun/sdk","version":"0.6.1","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"license":"MIT","_id":"@bento.fun/sdk@0.6.1","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"dist":{"shasum":"01a3aba4b1f2a1aeb9da4adb7b23575d8d8e5268","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.6.1.tgz","fileCount":623,"integrity":"sha512-RI6pPuSnddy50h1u1shVKhkacEFwV8d0XA8qwUBrca69mBNupkTRpTKb4kinatfNJQPqYP5A6HNOm/YgsSyFBQ==","signatures":[{"sig":"MEUCIBFTwJoZtk4yn1p3zcO35RCLzo7tG3jGZQjwjzTf2bSOAiEA64hMWIlm3WwlO2JXDePL21tNwuHMUvHNZWfEGyKR/p0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2186297},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"ba81ff2543e113c513eb4fb3a7e21f8d51b69c5f","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","prepare":"pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/Bentodotfun/bento.fun.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.1_1784132875119_0.6228127701033952","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@bento.fun/sdk","version":"0.7.0","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"license":"MIT","_id":"@bento.fun/sdk@0.7.0","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"dist":{"shasum":"d0e333c5b8a522f3458437a71d4d3ba413bfa225","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.7.0.tgz","fileCount":611,"integrity":"sha512-0dAqNgw9HeySGk8+hKuxAOq1dpKO8AnSYm5MJHpNW+zXMmI8xqd7Qb7bLgoPxy0aS7IK45Ag9gaMIqjcPZy7mA==","signatures":[{"sig":"MEUCIExAR7HXL6AcpmPlhT4vioTW9v9LTNAg0YP5kQd2sdmqAiEA2XL0AaNatRfclLHanK1V8u83S/0GDOp0b6gdgbuaeL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2162289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"5bd002d50face17914412d0b28ea681e86a59a46","private":false,"scripts":{"lint":"eslint .","test":"vitest run","build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --check .","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","prepare":"pnpm run build","lint:fix":"eslint . --fix","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","format:write":"prettier --write .","openapi:check":"node scripts/check-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run verify","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local"},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"repository":{"url":"git+https://github.com/Bentodotfun/bento.fun.git","type":"git","directory":"packages/sdk"},"_npmVersion":"10.8.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.29.2"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","vitest":"^3.0.0","globals":"^16.0.0","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/node":"^22.10.7","typescript-eslint":"^8.20.0","openapi-typescript":"^7.8.0","@vitest/coverage-v8":"^3.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.0_1784297135204_0.3534457025798696","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@bento.fun/sdk","version":"0.7.2","description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"homepage":"https://docs.bento.fun","bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"license":"MIT","private":false,"type":"module","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/Bentodotfun/bento.fun.git","directory":"packages/sdk"},"engines":{"node":">=18.0.0"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"publishConfig":{"access":"public","provenance":false},"scripts":{"build":"pnpm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","openapi:pin":"pnpm --filter @bento.fun/documentation run pin:markets","openapi:pin:tournaments":"pnpm --filter @bento.fun/documentation run pin:tournaments","openapi:pin:tournaments:local":"pnpm --filter @bento.fun/documentation run pin:tournaments:local","openapi:types:tournaments":"node scripts/generate-tournaments-openapi-types.mjs","openapi:check:tournaments":"node scripts/check-tournaments-openapi-generated.mjs","openapi:drift":"node scripts/check-openapi-drift.mjs","openapi:types":"node scripts/generate-openapi-types.mjs","openapi:check":"node scripts/check-openapi-generated.mjs","typecheck":"tsc -p tsconfig.json --noEmit","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier --check .","format:write":"prettier --write .","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","surface:update":"node scripts/update-public-api-fixture.mjs","verify":"pnpm run openapi:types && pnpm run openapi:check && pnpm run openapi:types:tournaments && pnpm run openapi:check:tournaments && pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build","prepublishOnly":"pnpm run verify","prepare":"pnpm run build"},"dependencies":{"viem":"^2.29.2"},"devDependencies":{"@eslint/js":"^9.18.0","@types/node":"^22.10.7","@vitest/coverage-v8":"^3.0.0","eslint":"^9.18.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2","globals":"^16.0.0","openapi-typescript":"^7.8.0","prettier":"^3.4.2","typescript":"^5.7.3","typescript-eslint":"^8.20.0","vitest":"^3.0.0"},"_id":"@bento.fun/sdk@0.7.2","gitHead":"c314d95eb60516c36fae26c62c4f10707913c13c","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-qXU7CubLOyjgFXIMT5OgF2RR7dr9umMbBcngOPj07Co28EUUtR9zGjguhYhJCZz0U3RpU6wijnRbEpCsM6Isxg==","shasum":"1ea4543f6176ee0f6b94ccf7c40b42b74abc21dc","tarball":"https://registry.npmjs.org/@bento.fun/sdk/-/sdk-0.7.2.tgz","fileCount":531,"unpackedSize":1743776,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBxeZbJOc9rT0nixv4mqmZ14h8iYyWD/WROqwP2Ap4agAiBNGesKH2n4nNOKtj+ipKfceD46hx70XcYQ6CzkFDc+IQ=="}]},"_npmUser":{"name":"bentouser","email":"admin@bento.fun"},"directories":{},"maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.7.2_1786802929370_0.9945972497737385"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T10:18:15.833Z","modified":"2026-08-15T14:08:49.663Z","0.1.2":"2026-05-28T10:18:16.221Z","0.5.1":"2026-06-09T12:39:35.273Z","0.5.2":"2026-06-09T13:11:25.561Z","0.5.3":"2026-06-09T17:34:54.898Z","0.5.4":"2026-06-12T13:01:43.831Z","0.5.5":"2026-06-12T13:17:42.405Z","0.6.0":"2026-07-04T15:50:09.499Z","0.6.1":"2026-07-15T16:27:55.326Z","0.7.0":"2026-07-17T14:05:35.371Z","0.7.2":"2026-08-15T14:08:49.516Z"},"bugs":{"url":"https://github.com/Bentodotfun/bento.fun/issues"},"license":"MIT","homepage":"https://docs.bento.fun","keywords":["bento","prediction-markets","parlay","tournaments","typescript","sdk","web3","viem","defi"],"repository":{"type":"git","url":"git+https://github.com/Bentodotfun/bento.fun.git","directory":"packages/sdk"},"description":"Official TypeScript SDK for Bento prediction markets, packs, parlays, tournaments, fantasy, portfolio, and realtime.","maintainers":[{"name":"bentouser","email":"admin@bento.fun"}],"readme":"# @bento.fun/sdk\n\nOfficial TypeScript SDK for [**Bento**](https://app.bento.fun) — prediction markets, packs, parlays, bracket tournaments, F1, and portfolio.\n\n[![npm version](https://img.shields.io/npm/v/@bento.fun/sdk.svg)](https://www.npmjs.com/package/@bento.fun/sdk)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)\n[![Documentation](https://img.shields.io/badge/docs-docs.bento.fun-0ea5e9)](https://docs.bento.fun)\n\n## Features\n\n- **Two API hosts** — markets (`baseUrl`) and tournaments / parlay (`tournamentsBaseUrl`) from one factory\n- **Contract-backed types** — OpenAPI-generated TypeScript for request/response shapes\n- **Wallet-agnostic** — bring Privy, Wagmi, Turnkey, or server signers; SDK accepts headers and viem wallets\n- **Typed HTTP methods** — public reads, authenticated trading, parlays, bracket tournaments, and gated admin\n- **On-chain orchestration** — optional viem helpers for parlay placement, vault deposit/claim, LP\n\n## Requirements\n\n- Node.js **18+**\n- TypeScript **5+** (recommended)\n\n## Install\n\n```bash\nnpm install @bento.fun/sdk\n```\n\n## Quick start\n\nEvery `createBentoSdk` call needs a **Builder API key** (`apiKey`). Catalog reads still work without a user login. **`sdk.user`** (bets, create market) also needs a **Bearer JWT** from `eoaLogin`.\n\n```ts\nimport {\n  createBentoSdk,\n  jwtAuthProvider,\n  walletAuthProvider,\n} from '@bento.fun/sdk';\n\nconst baseUrl = process.env.BENTO_URL!; // https://internal-server.bento.fun on testnet\nconst tournamentsBaseUrl = process.env.PARLAY_TOURNAMENT_URL; // optional\nconst BUILDER_API_KEY = process.env.BENTO_BUILDER_API_KEY!;\n\n// apiKey is required; public reads ignore the empty user JWT slot\nconst sdk = createBentoSdk({\n  baseUrl,\n  apiKey: BUILDER_API_KEY,\n  tournamentsBaseUrl,\n  auth: walletAuthProvider(() => ({})),\n});\nconst { data } = await sdk.public.listDuels({ page: 1, limit: 20 });\n\n// Get a Bearer JWT (see Authentication below). A brand-new wallet must register\n// first — eoaLogin returns { exists: false } (no token) until then.\nconst token = await getBearerToken();\n\n// Authenticated client. walletAuthProvider only injects headers, so put the\n// Bearer token inside it for the markets host.\nconst authed = createBentoSdk({\n  baseUrl,\n  tournamentsBaseUrl,\n  apiKey: BUILDER_API_KEY,\n  auth: walletAuthProvider(() => ({ Authorization: `Bearer ${token}` })),\n  tournamentsAuth: jwtAuthProvider({ getAccessToken: () => token }),\n});\n\n// Use duelId (on-chain), not id (database row).\nconst row = data[0];\nif (row?.duelId) {\n  await authed.public.getDuelById({ duelId: row.duelId });\n}\n```\n\n## Authentication\n\nTwo layers: the **builder API key** (`apiKey` → `x-builder-api-key`) identifies\nyour app; the **user JWT** (`auth`) identifies the user. `createBentoSdk`\nrequires `apiKey` (type + runtime).\n\n| Host                     | Config            | Headers                                                                                 |\n| ------------------------ | ----------------- | --------------------------------------------------------------------------------------- |\n| **Markets** (`sdk.user`) | `auth`            | `Authorization: Bearer <JWT>` from `public.auth.eoaLogin`                               |\n| **Tournaments**          | `tournamentsAuth` | Bearer JWT (from `tournaments.auth.login`) **or** legacy `x-wallet-*` signature headers |\n| **All hosts**            | `apiKey`          | `x-builder-api-key: <key>`                                                               |\n\n> Both hosts sign `Bento.fun Login\\nTimestamp: …\\nWallet: …`. The tournaments `x-wallet-*` header path is legacy and verifies a **different** message (`Bento.fun Authentication\\n…`) — prefer the Bearer JWT.\n\n`walletAuthProvider` only **injects headers** — for markets pass Bearer inside it:\n\n```ts\nconst ts = String(Date.now());\nconst signature = await wallet.signMessage({\n  message: `Bento.fun Login\\nTimestamp: ${ts}\\nWallet: ${address}`,\n});\n\n// eoaLogin returns { exists: false } (HTTP 200, no token) for a wallet that has\n// never registered. Register once to mint the account + JWT; afterwards eoaLogin\n// returns { exists: true, token }.\nlet res = await publicClient.auth.eoaLogin({ address, signature, timestamp: ts });\nif (!res.exists) {\n  // username is required; mainnet also requires inviteCode.\n  res = await publicClient.auth.eoaRegister({\n    address,\n    signature,\n    timestamp: ts,\n    username,\n  });\n}\nconst token = res.token as string;\n```\n\n| Provider             | Use for                                              |\n| -------------------- | ---------------------------------------------------- |\n| `walletAuthProvider` | Inject `Authorization: Bearer` (or tournaments headers) |\n| `jwtAuthProvider`    | Bearer JWT                                           |\n\n**Weblink auth:** `sdk.public.externalLink.getLinkUrl` → user confirms on\n`/connect` → `exchange({ code })` → you store the JWT. See [docs/auth.md](./docs/auth.md).\n\nSee [Authentication](https://docs.bento.fun/concepts/authentication) and [Accounts & wallets](https://docs.bento.fun/concepts/accounts) (signing key ≠ managed account address).\n\n## Important semantics\n\n- **HTTP acceptance ≠ on-chain finality** — poll reads after mutations.\n- **`duelId` vs `id`** — list rows have both; use **`duelId`** for `getDuelById` / bets.\n- **Amounts in wei** — bet/parlay amounts are base units (18 decimals on BSC/credits), not whole tokens.\n- **Prefer `placeBetFromEstimate`** — avoids slippage 400s from hand-built `min_shares_out`.\n- **`credits` vs `usdc`** — `collateralMode` on markets; credits stack is not geo-gated like USDC.\n- **Referral analytics** — `sdk.user.referralAnalytics.getMine({ collateralStack: 'usdc' | 'credits' })`; see backend `REFERRAL_ANALYTICS.md` deploy checklist.\n\n## On-chain (optional)\n\nRequires **0.5.4+** for correct parlay/LP approval amounts.\n\n```ts\nawait sdk.onchain!.placeParlayFromQuoteId(quoteId);\nawait sdk.onchain!.depositAndEnterTournament(tournamentId, { amountUsdc: '100' });\n```\n\n## Handling errors\n\nEvery failure is a `BentoSdkErrorException` carrying a typed record. **Inspect it with\nthe helpers. Do not reach for `isBentoSdkError` on the caught value**, which narrows\nthe record type, not the exception that was thrown, and so is always `false`:\n\n```ts\nimport {\n  isAuthError, isValidationError, isRateLimited,\n  getFieldErrors, getRetryAfterMs, getRequestId, getStatus, getErrorCode,\n} from '@bento.fun/sdk';\n\ntry {\n  await sdk.user.placeBet(body);\n} catch (err) {\n  if (isRateLimited(err)) {\n    await sleep(getRetryAfterMs(err) ?? 1_000);\n  } else if (isValidationError(err)) {\n    showFieldErrors(getFieldErrors(err));   // { amount: ['too small'] }\n  } else if (isAuthError(err)) {\n    await refreshSession();\n  } else {\n    // Quote this in a bug report: it is the server's id when the backend echoes\n    // `x-request-id`, so it can be found in backend logs.\n    report({ status: getStatus(err), code: getErrorCode(err), requestId: getRequestId(err) });\n  }\n}\n```\n\nBranch on `getErrorCode(err)`, not on `message`; messages are prose and will change.\n\n## Rate limiting\n\nBento enforces a limit **per builder key**: 120/min for team-issued keys, 300/min\nfor self-serve testnet keys, configurable per app. It is a shared budget, so a\nburst on one endpoint returns 429 for everything that key is doing.\n\nThe SDK can pace calls before they leave your process. This is off by default:\n\n```ts\nconst sdk = createBentoSdk({\n  baseUrl, apiKey, auth,\n  rateLimit: {\n    default: { limit: 120, intervalMs: 60_000 },        // your key's ceiling\n    endpoints: {\n      'POST /bento/user/bets/create': { limit: 20, intervalMs: 60_000 },\n      '/bento/user': { limit: 60, intervalMs: 60_000 },  // longest prefix wins\n    },\n    onLimit: 'wait',   // or 'throw' to shed load instead of blocking\n  },\n});\n```\n\nRules match most-specific-first: `METHOD /exact/path`, then `/exact/path`, then the\nlongest matching path prefix, then `default`. Paths work with or without the\n`/bento` prefix, so you can copy keys straight from the API reference.\n\nThe window is **fixed and clock-aligned**, matching how the server counts\n(`floor(now / intervalMs)`). That is deliberate: a smooth token bucket would allow\na full burst plus steady refill inside one server window and still trip the limit\nat your configured ceiling.\n\nOn a server 429 the SDK also pauses that endpoint locally. The markets backend\nsends no `Retry-After`, so the pause defaults to the remainder of the current\nwindow, which is when the server's own counter resets.\n\nThis is politeness, not enforcement. The server remains the authority.\n\n## Documentation\n\n**[https://docs.bento.fun](https://docs.bento.fun)**\n\n| Resource                                                                | Description                                               |\n| ----------------------------------------------------------------------- | --------------------------------------------------------- |\n| [Quickstart](https://docs.bento.fun/quickstart)                         | Zero → first bet (golden path)                            |\n| [Cookbook](https://docs.bento.fun/reference/cookbook)                   | ~15 methods that cover most apps                          |\n| [Authentication](https://docs.bento.fun/concepts/authentication)        | Bearer login / register flow                              |\n| [Common patterns](https://docs.bento.fun/reference/common-patterns)     | IDs, errors, rate limits                                  |\n| [Test the SDK](https://docs.bento.fun/guides/test-the-sdk)              | [sdk-sandbox](https://github.com/Bentodotfun/sdk-sandbox) |\n| [SDK API reference](https://docs.bento.fun/reference/sdk-api-reference) | Every method + route                                      |\n| [llms.txt](https://docs.bento.fun/llms.txt)                             | AI-friendly docs index                                    |\n\n## Links\n\n- **App:** [app.bento.fun](https://app.bento.fun)\n- **GitHub:** [github.com/Bentodotfun/bento.fun](https://github.com/Bentodotfun/bento.fun)\n- **Issues:** [github.com/Bentodotfun/bento.fun/issues](https://github.com/Bentodotfun/bento.fun/issues)\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}