{"_id":"@console.log_gm/ostium-sdk-ts","_rev":"3-bcbc9fca715be3c8bb94b1c5f92e1520","name":"@console.log_gm/ostium-sdk-ts","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@console.log_gm/ostium-sdk-ts","version":"0.1.0","keywords":["ostium","defi","ethereum","sdk","typescript"],"author":{"url":"'Gm'","name":"Console.log"},"license":"MIT","_id":"@console.log_gm/ostium-sdk-ts@0.1.0","maintainers":[{"name":"console.log_gm","email":"console.log2k25@gmail.com"}],"homepage":"https://github.com/ConsoleLogGM/ostium-ts-sdk#readme","bugs":{"url":"https://github.com/ConsoleLogGM/ostium-ts-sdk/issues"},"dist":{"shasum":"941fecfc23bffd04967b6123917ef5a30e40ed18","tarball":"https://registry.npmjs.org/@console.log_gm/ostium-sdk-ts/-/ostium-sdk-ts-0.1.0.tgz","fileCount":27,"integrity":"sha512-zcyQ07Vvi+mWYCZyZLoF+T4IrzVqf1t0xEGU4bP7E/RBxLntxwoW3u2fE7iA0kw7fcSGIYBi7QbDbBq79/wtlw==","signatures":[{"sig":"MEUCIAjiNAy8Gm6b9FWccdrEHTbJPa/iew8Yw0/yI4S/E/p9AiEA+NjiBY/HKsx6Xb33LyWLOFXXfmkDixug0j2VVVYUw9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146387},"main":"dist/OstiumSDK.js","types":"dist/OstiumSDK.d.ts","gitHead":"5d90b09e9b94a5639096d6bee871bf88d89272ab","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"console.log_gm","email":"console.log2k25@gmail.com"},"repository":{"url":"git+https://github.com/ConsoleLogGM/ostium-ts-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"A TypeScript SDK for the Ostium protocol.","directories":{},"_nodeVersion":"22.9.0","dependencies":{"dotenv":"^16.4.5","ethers":"^6.13.1","decimal.js":"^10.4.3","graphql-request":"^7.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.4.5","@types/node":"^20.14.2"},"_npmOperationalInternal":{"tmp":"tmp/ostium-sdk-ts_0.1.0_1754815886220_0.04588846009740766","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@console.log_gm/ostium-sdk-ts","version":"0.1.1","keywords":["ostium","defi","ethereum","sdk","typescript"],"author":{"url":"'Gm'","name":"Console.log"},"license":"MIT","_id":"@console.log_gm/ostium-sdk-ts@0.1.1","maintainers":[{"name":"console.log_gm","email":"console.log2k25@gmail.com"}],"homepage":"https://github.com/ConsoleLogGM/ostium-ts-sdk#readme","bugs":{"url":"https://github.com/ConsoleLogGM/ostium-ts-sdk/issues"},"dist":{"shasum":"24d093e1af672ff061d3f390dbc4e53bab8a9945","tarball":"https://registry.npmjs.org/@console.log_gm/ostium-sdk-ts/-/ostium-sdk-ts-0.1.1.tgz","fileCount":27,"integrity":"sha512-QWpT/UZIa1/eLtlW6pmJXfFEXH1nh5FHLOdi+C5F6VvGUGnok30is3162mkU25zDGs/q6b9ve1rUwyYhdneVXg==","signatures":[{"sig":"MEUCIQCvkIC5Rpqu7SniiD3r3qwBRvHJaSC9j2D523u9sx7FBAIgSDD4nOGskUXDRH6rn44fKbQ6PsnY3RyHL1N6cHCQEn4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142157},"main":"dist/OstiumSDK.js","types":"dist/OstiumSDK.d.ts","gitHead":"5d90b09e9b94a5639096d6bee871bf88d89272ab","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"console.log_gm","email":"console.log2k25@gmail.com"},"repository":{"url":"git+https://github.com/ConsoleLogGM/ostium-ts-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"A TypeScript SDK for the Ostium protocol.","directories":{},"_nodeVersion":"22.9.0","dependencies":{"dotenv":"^16.4.5","ethers":"^6.13.1","decimal.js":"^10.4.3","graphql-request":"^7.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.4.5","@types/node":"^20.14.2"},"_npmOperationalInternal":{"tmp":"tmp/ostium-sdk-ts_0.1.1_1754816623995_0.8057783644247036","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@console.log_gm/ostium-sdk-ts","version":"0.1.2","description":"A TypeScript SDK for the Ostium protocol.","main":"dist/OstiumSDK.js","types":"dist/OstiumSDK.d.ts","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/ConsoleLogGM/ostium-ts-sdk.git"},"keywords":["ostium","defi","ethereum","sdk","typescript"],"author":{"name":"Console.log","url":"'Gm'"},"license":"MIT","dependencies":{"decimal.js":"^10.4.3","dotenv":"^16.4.5","ethers":"^6.13.1","graphql-request":"^7.1.0"},"devDependencies":{"@types/node":"^20.14.2","ts-node":"^10.9.2","typescript":"^5.4.5"},"_id":"@console.log_gm/ostium-sdk-ts@0.1.2","gitHead":"5d90b09e9b94a5639096d6bee871bf88d89272ab","bugs":{"url":"https://github.com/ConsoleLogGM/ostium-ts-sdk/issues"},"homepage":"https://github.com/ConsoleLogGM/ostium-ts-sdk#readme","_nodeVersion":"22.9.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-O7+FTXjndgPJ5qWXy2rhnPc9Tu2H2cRJmrVWgY6gtCrz8MupZTP2P5wzebpFl2Yb9YyaMWEP7yndUjIj0tQ5/g==","shasum":"33beb51abccd1a047d3429e929f0b9e5a117a7c2","tarball":"https://registry.npmjs.org/@console.log_gm/ostium-sdk-ts/-/ostium-sdk-ts-0.1.2.tgz","fileCount":27,"unpackedSize":142145,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF10J3KU0F04BmDo2qCzIl71s1SDEpSIpPPSUj/pDeuiAiEAvbHEh0kuFQdT04HipvMFAf5SwVfqLY/5xs4rhnyw0AE="}]},"_npmUser":{"name":"console.log_gm","email":"console.log2k25@gmail.com"},"directories":{},"maintainers":[{"name":"console.log_gm","email":"console.log2k25@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ostium-sdk-ts_0.1.2_1754816790544_0.6788884240947115"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-10T08:51:26.125Z","modified":"2025-08-10T09:06:31.064Z","0.1.0":"2025-08-10T08:51:26.466Z","0.1.1":"2025-08-10T09:03:44.204Z","0.1.2":"2025-08-10T09:06:30.866Z"},"bugs":{"url":"https://github.com/ConsoleLogGM/ostium-ts-sdk/issues"},"author":{"name":"Console.log","url":"'Gm'"},"license":"MIT","homepage":"https://github.com/ConsoleLogGM/ostium-ts-sdk#readme","keywords":["ostium","defi","ethereum","sdk","typescript"],"repository":{"type":"git","url":"git+https://github.com/ConsoleLogGM/ostium-ts-sdk.git"},"description":"A TypeScript SDK for the Ostium protocol.","maintainers":[{"name":"console.log_gm","email":"console.log2k25@gmail.com"}],"readme":"# Ostium TypeScript SDK\r\n\r\n[![npm version](https://badge.fury.io/js/%40your-npm-username%2Fostium-sdk-ts.svg)](https://badge.fury.io/js/%40your-npm-username%2Fostium-sdk-ts)\r\n\r\nA comprehensive TypeScript SDK for interacting with the Ostium protocol, providing type-safe access to trading functionality, subgraph data, and complete error handling.\r\n\r\n## 🚀 Features\r\n\r\n- ✅ **Complete Trading Operations**: Open trades, close trades, manage collateral, update stop loss/take profit.\r\n- ✅ **Type-Safe Subgraph Integration**: Fetch pairs, trades, orders, and trading history.\r\n- ✅ **Full TypeScript Support**: Get autocompletion and type safety in your editor.\r\n- ✅ **Network Support**: Pre-configured for Arbitrum mainnet and Sepolia testnet.\r\n- ✅ **Comprehensive Examples**: Detailed examples and clear documentation to get started quickly.\r\n\r\n## 📦 Installation\r\n\r\nTo install the SDK, use npm or your favorite package manager:\r\n\r\n```bash\r\nnpm install @console.log_gm/ostium-sdk-ts\r\n````\r\n\r\n## 🎯 Quick Start\r\n\r\n### Basic Setup (Read-Only)\r\n\r\n```typescript\r\nimport { OstiumSDK, testnetConfig } from '@console.log_gm/ostium-sdk-ts';\r\n\r\n// 1. Initialize the SDK\r\nconst sdk = new OstiumSDK(\r\n    testnetConfig,\r\n    '[https://arbitrum-sepolia.drpc.org](https://arbitrum-sepolia.drpc.org)' // Your RPC URL\r\n);\r\n\r\n// 2. Fetch available trading pairs\r\nasync function getPairs() {\r\n    const pairs = await sdk.getPairs();\r\n    console.log(`Found ${pairs.length} trading pairs.`);\r\n}\r\n\r\ngetPairs();\r\n```\r\n\r\n### Trading Setup (Requires a Private Key)\r\n\r\nFor trading operations, you must provide a private key. **Never hardcode your private key.** Use environment variables.\r\n\r\n```typescript\r\nimport { OstiumSDK, testnetConfig } from '@console.log_gm/ostium-sdk-ts';\r\nimport * as dotenv from 'dotenv';\r\ndotenv.config();\r\n\r\n// 1. Initialize SDK with a signer\r\nconst sdk = new OstiumSDK(\r\n    testnetConfig,\r\n    process.env.RPC_URL,\r\n    process.env.PRIVATE_KEY,\r\n    true // Enable verbose logging\r\n);\r\n\r\n// 2. Get wallet info\r\nasync function getWalletInfo() {\r\n    const address = sdk.getPublicAddress();\r\n    const { usdc } = await sdk.getBalance();\r\n    console.log(`Address: ${address}, Balance: ${usdc} USDC`);\r\n}\r\n\r\ngetWalletInfo();\r\n```\r\n\r\n## 💼 API Usage Examples\r\n\r\n### Execute a Trade\r\n\r\n```typescript\r\nimport { TradeParams } from '@console.log_gm/ostium-sdk-ts';\r\n\r\nconst tradeParams: TradeParams = {\r\n    collateral: 100,      // 100 USDC\r\n    leverage: 10,         // 10x leverage  \r\n    asset_type: 0,        // BTC/USD pair\r\n    direction: true,      // true for Long, false for Short\r\n    order_type: 'MARKET',\r\n    tp: 50000,            // Take profit at $50,000\r\n    sl: 40000             // Stop loss at $40,000\r\n};\r\n\r\n// Set custom slippage (optional, default is 2%)\r\nsdk.setSlippagePercentage(1.5);\r\n\r\n// Execute the trade\r\nconst receipt = await sdk.performTrade(tradeParams, 45000); // atPrice is the current market price\r\nconsole.log('Trade executed:', receipt.hash);\r\n```\r\n\r\n### Manage Existing Trades\r\n\r\n```typescript\r\n// Close 50% of a position\r\nawait sdk.closeTrade(pairIndex, tradeIndex, 50);\r\n\r\n// Update stop loss and take profit\r\nawait sdk.updateStopLoss(pairIndex, tradeIndex, 42000);\r\nawait sdk.updateTakeProfit(pairIndex, tradeIndex, 48000);\r\n```\r\n\r\n### Fetching Data\r\n\r\n```typescript\r\n// Get your open trades\r\nconst openTrades = await sdk.getOpenTrades();\r\n\r\n// Get your limit orders\r\nconst orders = await sdk.getOrders();\r\n\r\n// Get trading history (last 10 trades)\r\nconst history = await sdk.getRecentHistory(undefined, 10);\r\n```\r\n\r\n-----\r\n\r\n## 🛠️ For Developers (Contributing)\r\n\r\nInterested in contributing to the SDK? We'd love your help\\!\r\n\r\n### Project Structure\r\n\r\n```\r\nsrc/\r\n├── abi/          # Smart contract ABIs\r\n├── subgraph/     # Subgraph integration (GraphQL)\r\n├── config.ts     # Network configurations\r\n└── OstiumSDK.ts  # Main SDK class\r\n```\r\n\r\n### Local Development Setup\r\n\r\n1.  Clone the repository.\r\n2.  Install dependencies:\r\n    ```bash\r\n    npm install\r\n    ```\r\n3.  Build the project:\r\n    ```bash\r\n    npm run build\r\n    ```\r\n\r\n### Testing\r\n\r\nRun the full test suite:\r\n\r\n```bash\r\nnpm test\r\n```\r\n\r\n## 📄 License\r\n\r\nThis project is licensed under the MIT License. See the LICENSE file for details.\r\n\r\n## ⚠️ Disclaimer\r\n\r\nThis SDK is for educational and development purposes. Trading cryptocurrencies involves substantial risk. Always test thoroughly on a testnet before using real funds on mainnet.\r\n\r\n```\r\n","readmeFilename":"README.md"}