{"_id":"@carbon-terminal/trading-sdk","_rev":"6-c918aeb59bc942e72df33698fb26598d","name":"@carbon-terminal/trading-sdk","dist-tags":{"latest":"0.3.1"},"versions":{"0.2.5":{"name":"@carbon-terminal/trading-sdk","version":"0.2.5","author":"","license":"ISC","_id":"@carbon-terminal/trading-sdk@0.2.5","maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"dist":{"shasum":"18964c0bb2415c53852de34b571bf0af58564e87","tarball":"https://registry.npmjs.org/@carbon-terminal/trading-sdk/-/trading-sdk-0.2.5.tgz","fileCount":48,"integrity":"sha512-TdXFAZoWMg0pX7QLlA9JBfpBhB+xmZzuOjZlQOZN5DyJDKKbl5O26nH1hK3jjEptzm8KZWotnp2CU/UXzgNUhw==","signatures":[{"sig":"MEUCIHyVQ6BZfRXKty5hMeM9G9wQjJoIVqNm5oM+dTbuRkHzAiEA4H+nC78CUGXgFjPXqlqYyIeZlLZNQ7mi+zlDd7l96DI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65391},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"gitHead":"b5ed5b23bf775f05f2fb46aacef08bbca215b8e7","scripts":{"dev":"tsc -w","test":"echo 'no test yet'","build":"npm run clean && tsc","clean":"rm -rf dist","example":"ts-node -r tsconfig-paths/register","build-publish":"npm run build && npm publish --access public"},"_npmUser":{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"},"_npmVersion":"10.9.2","description":"This SDK is used to interact with the IntentX Trading API.","directories":{"doc":"docs"},"_nodeVersion":"23.8.0","dependencies":{"siwe":"^3.0.0","axios":"^1.6.2","decimal.js":"^10.4.3","jsonwebtoken":"^9.0.2","@carbon-terminal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.3.3","@types/node":"^20.10.4","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-sdk_0.2.5_1768480856905_0.9257314403611749","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@carbon-terminal/trading-sdk","version":"0.2.6","author":"","license":"ISC","_id":"@carbon-terminal/trading-sdk@0.2.6","maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"dist":{"shasum":"2d6a3d9556807cd3a2cd4d4027ecdfb1c3cd6170","tarball":"https://registry.npmjs.org/@carbon-terminal/trading-sdk/-/trading-sdk-0.2.6.tgz","fileCount":48,"integrity":"sha512-EdXo3UmnrNehz5uTWmP4xASpYZ5cUyBX8SF99I5aCay8oZaV8DAUz22K3dj1Rh+tFVIf+MWY7EyX5UXo/CVGTw==","signatures":[{"sig":"MEUCIQDdpuD2092tAYgLakwFj4PrOqPqXabG4YUK/GWuX0WZ4QIgQomK4raaKPx4ZjVVHjSJ3CSSJIc2RXWlywb2ERZ2cVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65390},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"gitHead":"b5ed5b23bf775f05f2fb46aacef08bbca215b8e7","scripts":{"dev":"tsc -w","test":"echo 'no test yet'","build":"npm run clean && tsc","clean":"rm -rf dist","example":"ts-node -r tsconfig-paths/register","build-publish":"npm run build && npm publish --access public"},"_npmUser":{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"},"_npmVersion":"10.9.2","description":"This SDK is used to interact with the Carbon Trading API.","directories":{"doc":"docs"},"_nodeVersion":"23.8.0","dependencies":{"siwe":"^3.0.0","axios":"^1.6.2","decimal.js":"^10.4.3","jsonwebtoken":"^9.0.2","@carbon-terminal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.3.3","@types/node":"^20.10.4","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-sdk_0.2.6_1768480886241_0.5798940642316417","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@carbon-terminal/trading-sdk","version":"0.2.7","author":"","license":"ISC","_id":"@carbon-terminal/trading-sdk@0.2.7","maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"dist":{"shasum":"3546f5f1e924c826d025b43360205c0eab6ee18f","tarball":"https://registry.npmjs.org/@carbon-terminal/trading-sdk/-/trading-sdk-0.2.7.tgz","fileCount":48,"integrity":"sha512-8UpO4vzjBJCE5ayQEuEhN90HtKSbY6WZ66V77BG5zeguOpU/WkyO22ROo8HO4GTz+QwnLl3QRzg3EiJWn8qWog==","signatures":[{"sig":"MEUCIQDyX+99nplA3Hky3N6LsBQvqlIHa+wJiHuuCIXrRgsImgIgQlJ6VLs8fKQfItAC0GJABRCYrv8fi3Wp85fi97U1QLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65440},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"gitHead":"b5ed5b23bf775f05f2fb46aacef08bbca215b8e7","scripts":{"dev":"tsc -w","test":"echo 'no test yet'","build":"npm run clean && tsc","clean":"rm -rf dist","example":"ts-node -r tsconfig-paths/register","build-publish":"npm run build && npm publish --access public"},"_npmUser":{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"},"_npmVersion":"10.9.2","description":"This SDK is used to interact with the Carbon Trading API.","directories":{"doc":"docs"},"_nodeVersion":"23.8.0","dependencies":{"siwe":"^3.0.0","axios":"^1.6.2","decimal.js":"^10.4.3","jsonwebtoken":"^9.0.2","@carbon-terminal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.3.3","@types/node":"^20.10.4","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-sdk_0.2.7_1768481013639_0.9011273941956426","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@carbon-terminal/trading-sdk","version":"0.2.8","author":"","license":"ISC","_id":"@carbon-terminal/trading-sdk@0.2.8","maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"dist":{"shasum":"a237658a142c37693fbc0f49864d9e4d85ce88f7","tarball":"https://registry.npmjs.org/@carbon-terminal/trading-sdk/-/trading-sdk-0.2.8.tgz","fileCount":48,"integrity":"sha512-+ylA7pZXrsVjoURKhf49h7xXOnrGlXNUXFMpQKg6g1JAX1FTwzMnTNADUDE7Ne9oSyGlBRDR+9OA5S8d0sLYew==","signatures":[{"sig":"MEYCIQCI6OLlVCsmF2stC5dJC2lZqs+URijqIeXcXGnsvddRSgIhAM8M6pkYQEbj2S0ALMEIxyiIhxYsAX13DTGIQr97SRXY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66064},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"gitHead":"466736566abf52c7cfc14a278d507edd7c0441ad","scripts":{"dev":"tsc -w","test":"echo 'no test yet'","build":"npm run clean && tsc","clean":"rm -rf dist","example":"ts-node -r tsconfig-paths/register","build-publish":"npm run build && npm publish --access public"},"_npmUser":{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"},"deprecated":"This package is deprecated. A new @carbon-terminal/trading-sdk will be published later.","_npmVersion":"10.9.2","description":"This SDK is used to interact with the Carbon Trading API.","directories":{"doc":"docs"},"_nodeVersion":"23.8.0","dependencies":{"siwe":"^3.0.0","axios":"^1.6.2","decimal.js":"^10.4.3","jsonwebtoken":"^9.0.2","@carbon-terminal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.3.3","@types/node":"^20.10.4","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-sdk_0.2.8_1782661777728_0.7673565500401263","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@carbon-terminal/trading-sdk","version":"0.3.0","author":"","license":"ISC","_id":"@carbon-terminal/trading-sdk@0.3.0","maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"dist":{"shasum":"39c0521ab48baba159d6fe548d84a02aeff21bfc","tarball":"https://registry.npmjs.org/@carbon-terminal/trading-sdk/-/trading-sdk-0.3.0.tgz","fileCount":77,"integrity":"sha512-ADEDIsLU7tx0TeCX3s66+kMD5KGNZyBavG0+5XGJ/Wi2gk3sMrTFXKFry38l8uaWA+pq+RQ8uHMb5QFIuD/xnQ==","signatures":[{"sig":"MEUCIFEpBX6WS+spRuF1urmmHbfMXoCV2hEYc4nLRsc57ILqAiEAmQlZRbEwAtvHKC1TnPCTagaAkpEcu7Qdku9ZNmFduYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163861},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"gitHead":"0871db1ff38f15f9f794fc36a2e0ee7a9a2bc994","scripts":{"dev":"tsc -w","test":"npm run build && node test/smoke.test.js","build":"npm run clean && tsc","clean":"rm -rf dist","example":"ts-node -r tsconfig-paths/register","typecheck":"tsc --noEmit","build-publish":"npm run build && npm publish --access public"},"_npmUser":{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"},"_npmVersion":"10.9.2","description":"Typed client for the Carbon Terminal Trading API. Thin, 1:1 wrappers over the public gateway controllers.","directories":{"doc":"docs"},"_nodeVersion":"23.8.0","dependencies":{"siwe":"^3.0.0","axios":"^1.6.2","ethers":"^6.13.5","@carbon-terminal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.3.3","@types/node":"^20.10.4","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trading-sdk_0.3.0_1782687327131_0.15634203319468298","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@carbon-terminal/trading-sdk","version":"0.3.1","description":"Typed client for the Carbon Terminal Trading API. Thin, 1:1 wrappers over the public gateway controllers.","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","default":"./dist/*.js"}},"scripts":{"clean":"rm -rf dist","build":"npm run clean && tsc","dev":"tsc -w","typecheck":"tsc --noEmit","lint":"eslint src --ext .ts","test":"npm run build && node test/smoke.test.js","example":"ts-node -r tsconfig-paths/register","build-publish":"npm run build && npm publish --access public"},"dependencies":{"@carbon-terminal/core":"^2.0.0","axios":"^1.6.2","ethers":"^6.13.5","siwe":"^3.0.0"},"devDependencies":{"@types/node":"^20.10.4","ts-node":"^10.9.1","tsconfig-paths":"^4.2.0","typescript":"^5.3.3"},"author":"","license":"ISC","directories":{"doc":"docs"},"_id":"@carbon-terminal/trading-sdk@0.3.1","gitHead":"34e9d02f2b015c0040d1597de1b65016d0db7bd3","_nodeVersion":"23.8.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Riqk4QqMIckXDaHeXfpT3aNCRSvlqCIYAmN0nzWbYRSe169MFfg//tFpOzXFIcT5SD4Qi6D1sfpIO0vSJnU09A==","shasum":"3567784957a9e4ec0d88dd7e46a0e3c68b2c5737","tarball":"https://registry.npmjs.org/@carbon-terminal/trading-sdk/-/trading-sdk-0.3.1.tgz","fileCount":77,"unpackedSize":172642,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC7qHw+NXQhKvUHdHcSO5TqIxLVlyUB0KILZxuy8ICuogIhAJH1dlzmQrVeMS+lviIIcAULfflR7CRYHhAP4XaIH68o"}]},"_npmUser":{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"},"maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/trading-sdk_0.3.1_1785260369958_0.44729732645696507"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-15T12:40:56.784Z","modified":"2026-07-28T17:39:30.281Z","0.2.5":"2026-01-15T12:40:57.063Z","0.2.6":"2026-01-15T12:41:26.389Z","0.2.7":"2026-01-15T12:43:33.831Z","0.2.8":"2026-06-28T15:49:37.853Z","0.3.0":"2026-06-28T22:55:27.273Z","0.3.1":"2026-07-28T17:39:30.108Z"},"license":"ISC","description":"Typed client for the Carbon Terminal Trading API. Thin, 1:1 wrappers over the public gateway controllers.","maintainers":[{"name":"lemonpacdev","email":"lemonpac+1@intentx.io"}],"readme":"# @carbon-terminal/trading-sdk\n\nTyped client for the **Carbon Terminal / IntentX Trading API**\n(`https://gw.carbon.inc`).\n\nThe SDK is a thin, 1:1 wrapper over the API's public-gateway controllers. Each\ncontroller maps to one resource on `TradingSDK`, and each endpoint maps to one\nmethod. Methods return the unwrapped response `data` and throw a\n`TradingApiError` on failure. There are **no entity abstractions, hooks, or\npolling** — just typed requests and responses.\n\n## Installation\n\n```bash\nnpm install @carbon-terminal/trading-sdk\n```\n\n## Quick start\n\n```ts\nimport { TradingSDK, SupportedChainId } from \"@carbon-terminal/trading-sdk\";\n\nconst sdk = new TradingSDK({ apiKey: process.env.API_KEY });\n\n// Public reads\nconst markets = await sdk.markets.getAggregatedMarkets(SupportedChainId.BASE);\nconst price = await sdk.pricing.getMarkPrice(\"BTCUSDT\");\n\n// Authenticated reads (x-api-key)\nconst positions = await sdk.positions.getPositionsForSubaccount({\n  subaccountAddress: \"0x…\",\n  chainId: SupportedChainId.BASE,\n});\n\n// Open a position\nconst position = await sdk.trade.createPosition({\n  marketId: 1,\n  subaccountAddress: \"0x…\",\n  chainId: SupportedChainId.BASE,\n  positionType: \"LONG\",\n  orderType: \"MARKET\",\n  leverage: 2,\n  quantity: 10,\n});\n```\n\n## Configuration\n\n```ts\nnew TradingSDK({\n  baseUrl: \"https://gw.carbon.inc/v1\", // optional; defaults from API_URL env or the prod gateway\n  apiKey: \"…\",                          // sent as `x-api-key`\n  jwt: \"…\",                             // sent as `Authorization: Bearer …`\n});\n\nsdk.setApiKey(\"…\"); // update later\nsdk.setJwt(\"…\");\n```\n\nMost read/trade endpoints use `apiKey` (`x-api-key`). API-key management and\naccount-auth delegation use a `jwt`. Any method accepts a final\n`options?: { apiKey?; jwt? }` to override credentials per request.\n\n## Error handling\n\n```ts\nimport { TradingApiError } from \"@carbon-terminal/trading-sdk\";\n\ntry {\n  await sdk.trade.createPosition({ /* … */ });\n} catch (err) {\n  if (err instanceof TradingApiError) {\n    console.error(err.code, err.httpStatusCode, err.message);\n  }\n}\n```\n\n## Authentication helpers\n\n`sdk.auth` provides wallet-based signing to bootstrap tokens (this is the one\npart of the SDK that signs with `ethers` and talks to the solver, rather than\nwrapping a controller):\n\n```ts\nconst { token } = await sdk.auth.loginWithPrivateKey(privateKey); // registers JWT on the SDK\nconst apiKey = await sdk.apiKeys.createApiKey({ name: \"Trading bot\" }); // uses the JWT\n\n// Obtain a solver instant-action token, then register it via the API:\nconst iaToken = await sdk.auth.createInstantActionToken({ subaccountAddress, chainId, solver });\nawait sdk.accountAuth.setInstantActionToken({ subaccountAddress, chainId, solver, token: iaToken, expirationTimestamp });\n```\n\n## Resources\n\n`account`, `accountAuth`, `apiKeys`, `trade`, `positions`, `tpsl`,\n`instantLayer`, `markets`, `pricing`, `solver`, `public`, and the `auth`\nsigning helpers. See [`docs/endpoints.md`](./docs/endpoints.md) for the full\nendpoint → method map.\n\n## Types\n\nDomain types (`Position`, `SubaccountDetails`, `MarketTicker`, enums like\n`SupportedChainId` / `AvailableSolvers` / `OrderType`, …) are re-exported from\n`@carbon-terminal/core`, so you can import them straight from the SDK.\n\n## Contributing / keeping in sync\n\nThis SDK mirrors the API controllers exactly. When the API changes, follow\n[`docs/AGENTS.md`](./docs/AGENTS.md) — it documents the contract, the rules, and\nstep-by-step playbooks for updating the SDK (written for both humans and AI\nagents).\n\n```bash\nnpm run typecheck   # tsc --noEmit\nnpm test            # build + smoke test\n```\n","readmeFilename":"README.md"}