{"_id":"@axim-one/connect-alphasec","_rev":"5-30d9cc3262b4561f0c309de4ac0e73d8","name":"@axim-one/connect-alphasec","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0-alpha.0":{"name":"@axim-one/connect-alphasec","version":"0.1.0-alpha.0","keywords":["axim","alphasec","kaia","walletconnect","dex"],"license":"MIT","_id":"@axim-one/connect-alphasec@0.1.0-alpha.0","maintainers":[{"name":"axim-inc","email":"ryan@axim.one"}],"homepage":"https://github.com/Axim-one/axim-connect-sdk#readme","bugs":{"url":"https://github.com/Axim-one/axim-connect-sdk/issues"},"dist":{"shasum":"8aa36514f8df7b893383040d04bf03c737c6d3e3","tarball":"https://registry.npmjs.org/@axim-one/connect-alphasec/-/connect-alphasec-0.1.0-alpha.0.tgz","fileCount":22,"integrity":"sha512-JFGcpszL3tVzKMQC/gFdgS1WjhWaWRPSMn8y13/tp8enamXGW90O13vQLNcyCgofJy4ObAWrf3sNgImyo4CbkA==","signatures":[{"sig":"MEYCIQCUCuhHMRG6RR9o49tz4gs3jGY2Fn6XO1VIdvKFRIBn2QIhAPvg9PWA70JcZLAVIgpd8Duw8wkWNIsuSmfpjXZwV8LE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73130},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8672b875706d6f6fc521dd4b055beb6d22c93e5c","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"axim-inc","email":"ryan@axim.one"},"repository":{"url":"git+https://github.com/Axim-one/axim-connect-sdk.git","type":"git","directory":"packages/connect-alphasec"},"_npmVersion":"10.5.0","description":"AlphaSec venue adapter for @axim-one/connect (session, deposit, withdraw, balance).","directories":{},"sideEffects":false,"_nodeVersion":"21.7.3","dependencies":{"viem":"^2","@axim-one/connect":"^0.1.0-alpha.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect-alphasec_0.1.0-alpha.0_1783531242846_0.2695441033230228","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@axim-one/connect-alphasec","version":"0.1.0","keywords":["axim","alphasec","kaia","walletconnect","dex"],"license":"MIT","_id":"@axim-one/connect-alphasec@0.1.0","maintainers":[{"name":"axim-inc","email":"ryan@axim.one"}],"homepage":"https://github.com/Axim-one/axim-connect-sdk#readme","bugs":{"url":"https://github.com/Axim-one/axim-connect-sdk/issues"},"dist":{"shasum":"20a450d048262566e817e406df813f6304fccb4e","tarball":"https://registry.npmjs.org/@axim-one/connect-alphasec/-/connect-alphasec-0.1.0.tgz","fileCount":22,"integrity":"sha512-UPoLW+V3pc9lhVXmCNKZ6guu0iHm6rTN2Wsm+LQ6jBhQRbt6Ttr7fvLegT6pWPuGsqzLFMBV6qpc3CURjr/asw==","signatures":[{"sig":"MEUCIQCYfpGKaW1sIG5/doKhi8Vt4m4aVu6ZqiNY3HnQ4mv6zwIgHqoL6ZT5CCH5rOUTyfyL2mjSihkPejFOeqpeam/tF3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axim-one%2fconnect-alphasec@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74321},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6aea6973e62ed13a5b426b86259a6b5432fa5d56","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"axim-inc","email":"ryan@axim.one"},"repository":{"url":"git+https://github.com/Axim-one/axim-connect-sdk.git","type":"git","directory":"packages/connect-alphasec"},"_npmVersion":"10.8.2","description":"AlphaSec venue adapter for @axim-one/connect (session, deposit, withdraw, balance).","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2","@axim-one/connect":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect-alphasec_0.1.0_1784707784931_0.4053183554329127","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@axim-one/connect-alphasec","version":"0.1.1","keywords":["axim","alphasec","kaia","walletconnect","dex"],"license":"MIT","_id":"@axim-one/connect-alphasec@0.1.1","maintainers":[{"name":"axim-inc","email":"ryan@axim.one"}],"homepage":"https://github.com/Axim-one/axim-connect-sdk#readme","bugs":{"url":"https://github.com/Axim-one/axim-connect-sdk/issues"},"dist":{"shasum":"04baae4f9553c028356000e4b312c7a68149daba","tarball":"https://registry.npmjs.org/@axim-one/connect-alphasec/-/connect-alphasec-0.1.1.tgz","fileCount":22,"integrity":"sha512-1VVtCq46M/g5PHDxGlmqzYcFNqoCBI8BgF0WfIxo6ZOf4SjCh1406FY2SBAaPPQFCV6Wg2ouHthqWvU1bgWVig==","signatures":[{"sig":"MEQCIHbUz5xEbRSXC5MFGwGYEQeGUQRwwq3vfOnOO17gbEiMAiAKX251dnT2HfKz0zuf/3ZOdisQs3j5ZddW7XVtDhxv1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axim-one%2fconnect-alphasec@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74274},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"190d6a6d8e9a539e4113eef34763efe83b614712","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"axim-inc","email":"ryan@axim.one"},"repository":{"url":"git+https://github.com/Axim-one/axim-connect-sdk.git","type":"git","directory":"packages/connect-alphasec"},"_npmVersion":"10.8.2","description":"AlphaSec venue adapter for @axim-one/connect (session, deposit, withdraw, balance).","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"viem":"^2","@axim-one/connect":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect-alphasec_0.1.1_1784708175233_0.5898585333919215","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@axim-one/connect-alphasec","version":"0.1.2","keywords":["axim","alphasec","kaia","walletconnect","dex"],"license":"MIT","_id":"@axim-one/connect-alphasec@0.1.2","maintainers":[{"name":"axim-inc","email":"ryan@axim.one"}],"homepage":"https://github.com/Axim-one/axim-connect-sdk#readme","bugs":{"url":"https://github.com/Axim-one/axim-connect-sdk/issues"},"dist":{"shasum":"84b402722d81bbc07913fc84d20937decdfdc1f6","tarball":"https://registry.npmjs.org/@axim-one/connect-alphasec/-/connect-alphasec-0.1.2.tgz","fileCount":22,"integrity":"sha512-wcHka83pJc5RZqMmX6YYNfhJT+NdgJJqi+6+a3y8gS3IitYUQr8q5LnrAVqDEKLVNnDVnHh3/4AZAm4JX2mPNQ==","signatures":[{"sig":"MEUCIQD6NedVuRjJGCBwsTQgReQ8mI9+cQixl9dWq1QcPeIx6wIgY0bWh8V8ZMXLahQfcuGDNYE+DJ0Z9rmQnYfRciykKdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axim-one%2fconnect-alphasec@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82851},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"328e3daefad5b5020321d9118b95694fb54c18c6","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"axim-inc","email":"ryan@axim.one"},"repository":{"url":"git+https://github.com/Axim-one/axim-connect-sdk.git","type":"git","directory":"packages/connect-alphasec"},"_npmVersion":"10.9.8","description":"AlphaSec venue adapter for @axim-one/connect (session, deposit, withdraw, balance).","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"viem":"^2","@axim-one/connect":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect-alphasec_0.1.2_1786107585798_0.8630697325539956","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@axim-one/connect-alphasec","version":"0.1.3","description":"AlphaSec venue adapter for @axim-one/connect (session, deposit, withdraw, balance).","license":"MIT","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"sideEffects":false,"scripts":{"build":"tsc -p tsconfig.json"},"keywords":["axim","alphasec","kaia","walletconnect","dex"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Axim-one/axim-connect-sdk.git","directory":"packages/connect-alphasec"},"homepage":"https://github.com/Axim-one/axim-connect-sdk#readme","bugs":{"url":"https://github.com/Axim-one/axim-connect-sdk/issues"},"dependencies":{"@axim-one/connect":"^0.1.1","viem":"^2"},"_id":"@axim-one/connect-alphasec@0.1.3","gitHead":"f9a1a72cd63c6a89e6b9c9d1e0662eaf5b29e422","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-xVkX9Pnmq5jpZyUF8OgG9FiFYajebN3uDh+G+ToZvbcdJL0VR0+YfwAEoDlF93NcNyR7d3muKTwga925u1eXRQ==","shasum":"f1c26e2cdecdbef3abb1e8e86abf881b4e5144ae","tarball":"https://registry.npmjs.org/@axim-one/connect-alphasec/-/connect-alphasec-0.1.3.tgz","fileCount":22,"unpackedSize":83420,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axim-one%2fconnect-alphasec@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDd733F2LgS7Y8w8zDQkAvQ97XhOC3yQdjz4BWm6AkGMgIhAKIBZGxAjY8ZQokIBst9hgoVKIPwr7uEe6yrEyWNyxvD"}]},"_npmUser":{"name":"axim-inc","email":"ryan@axim.one"},"directories":{},"maintainers":[{"name":"axim-inc","email":"ryan@axim.one"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/connect-alphasec_0.1.3_1786438346468_0.5436117089839061"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T17:20:42.732Z","modified":"2026-08-11T08:52:27.138Z","0.1.0-alpha.0":"2026-07-08T17:20:43.015Z","0.1.0":"2026-07-22T08:09:45.066Z","0.1.1":"2026-07-22T08:16:15.383Z","0.1.2":"2026-08-07T12:59:45.951Z","0.1.3":"2026-08-11T08:52:26.639Z"},"bugs":{"url":"https://github.com/Axim-one/axim-connect-sdk/issues"},"license":"MIT","homepage":"https://github.com/Axim-one/axim-connect-sdk#readme","keywords":["axim","alphasec","kaia","walletconnect","dex"],"repository":{"type":"git","url":"git+https://github.com/Axim-one/axim-connect-sdk.git","directory":"packages/connect-alphasec"},"description":"AlphaSec venue adapter for @axim-one/connect (session, deposit, withdraw, balance).","maintainers":[{"name":"axim-inc","email":"ryan@axim.one"}],"readme":"# @axim-one/connect-alphasec\n\nAlphaSec venue adapter for [`@axim-one/connect`](../connect). Isolates all AlphaSec‑specific signing and submission behind the venue‑agnostic `VenueAdapter` interface.\n\n```bash\nnpm install @axim-one/connect-alphasec\n```\n\nPulls in `@axim-one/connect` and `viem` automatically.\n\n## Position\n\nAxim is the **master signer** and USDT rail. It signs exactly four touchpoints — connect, session authorization, deposit, withdraw. Trading (order signing) runs on AlphaSec's session key and never round‑trips to the wallet. AlphaSec = Kaia orderbook DEX on the NitroX (Arbitrum‑Nitro) L2 rollup; L1 = Kaia (`8217` / testnet `1001`), L2 = `48217` / `41001`.\n\n## Usage\n\n```ts\nimport { createAximConnector } from \"@axim-one/connect\";\nimport { AlphaSecAdapter } from \"@axim-one/connect-alphasec\";\n\nconst connector = createAximConnector({ projectId, appId: \"alphasec\" });\nawait connector.connect();\n\nconst venue = new AlphaSecAdapter({ provider: connector.getProvider(), network: \"mainnet\" });\n```\n\n### `AlphaSecAdapterOptions`\n\n| Field | Type | Notes |\n|---|---|---|\n| `provider` | `Eip1193Provider` | The master signer (Axim over WalletConnect). |\n| `network?` | `\"mainnet\" \\| \"testnet\"` | Defaults to `\"mainnet\"`. Testnet = Kairos (`1001`). |\n| `apiBase?` | `string` | Override the AlphaSec REST base. |\n| `usdtL1Address?` | `Address` | Skip the runtime `/market/tokens` lookup for USDT's Kaia L1 address (see RESIDUAL‑1). |\n| `bridgeFeeWei?` | `bigint` | Deposit bridge fee (KAIA wei). Defaults to `0n` (see RESIDUAL‑2). |\n\n## Methods (`VenueAdapter`)\n\n### `authorizeSession(opts?) → SessionGrant`\n\nAuthorizes an L2 session wallet: a one‑time master EIP‑712 signature (`RegisterSessionWallet`, domain `chainId = L1`) plus a gas‑free L2 tx to the MatchEngine (`command 0x01`), submitted to `POST /api/v1/wallet/session`.\n\n```ts\nconst grant = await venue.authorizeSession({ expiryDays: 30 });\n// grant: { sessionAddress, expiry, applied, sessionPrivateKey? }\n```\n\n`opts`: `{ expiryDays?, name?, sessionWallet? }`.\n\n> **Session‑key provenance (confirm with AlphaSec).** If you do not pass `sessionWallet`, the adapter **generates** the session keypair and returns its private key on `grant.sessionPrivateKey` so your app can sign orders with it — the master key never signs orders. If AlphaSec expects the session key to originate on their side, pass `sessionWallet` instead.\n\n### `deposit(token, amount) → TxResult`\n\nBridges Kaia **L1 → L2** via direct on‑chain L1 txs (no REST). Gas is fee‑delegated by the Axim wallet.\n\n- **USDT (ERC20) — gasless paymaster path (mainnet default):** `approve(paymaster, maxUint256)` then `AximDepositPaymaster.deposit(amount, \"0x\")`. **Both txs carry `value = 0`** — the paymaster pulls the USDT, approves the gateway, and pays the bridge fee (`value`) from its own KAIA, so **a USDT‑only wallet with zero KAIA can deposit**. `bridgeFeeWei` is ignored on this path.\n- **USDT — direct path (testnet, or `paymaster: null`):** `approve(gateway, maxUint256)` then `L1GatewayRouter.outboundTransfer(...)` with `value = bridgeFeeWei` — **the wallet pays the bridge fee in KAIA**. The approve spender is resolved at runtime via `L1GatewayRouter.getGateway(l1Token)`. Kairos has no paymaster, so testnet always takes this path.\n- **KAIA (native):** `Inbox.depositEth()` with `value = amount`.\n\nReturns the `deposit` (or `outboundTransfer` / `depositEth`) tx hash.\n\n> Pass `paymaster: null` to force the direct path on mainnet (interim testing where the wallet funds its own KAIA), or `paymaster: \"0x…\"` to override the address.\n\n### `withdraw(token, amount, to?) → TxResult`\n\nWithdraws **L2 → L1**. The master signs a **gas‑free L2 tx** (`gasPrice 0`) which is submitted to `POST /api/v1/wallet/withdraw`; AlphaSec settles L1 automatically (no L1 gas, no fee delegation).\n\n- **USDT:** `L2GatewayRouter.outboundTransfer(l1Token, l1Recipient, amount, \"0x\")`.\n- **KAIA:** `ArbSys.withdrawEth(destination)` with `value = amount`.\n\n`to` defaults to the master address.\n\n### `getVenueBalance(token) → Balance`\n\nReads the L2 balance via `GET /api/v1/wallet/balance`. Returns `{ token, locked, unlocked }` (locked = tied up in open orders).\n\n## Helpers\n\n`resolveToken`, `parseAmount`, `formatAmount` (units), plus `NETWORKS`, `TOKENS`, `sessionDomain`, `DEX_COMMAND`, `API_BASE`, and the minimal contract ABIs are exported for advanced use.\n\n```ts\nimport { parseAmount, formatAmount } from \"@axim-one/connect-alphasec\";\nparseAmount(\"USDT\", \"1.5\"); // 1500000n\nformatAmount(\"USDT\", 1500000n); // \"1.5\"\n```\n\n## Residuals (confirm with AlphaSec before production)\n\n- **RESIDUAL‑1 — USDT L1 address.** AlphaSec docs ship a placeholder; the adapter resolves the real Kaia L1 USDT address at runtime from `/api/v1/market/tokens`. Pass `usdtL1Address` to skip the lookup once confirmed.\n- **RESIDUAL‑2 — deposit bridge fee.** `bridgeFeeWei` defaults to `0n`; the adapter never fabricates a nonzero fee. True gasless deposit requires a sponsor policy on the Axim side.\n- **REST host / response shapes** (`/wallet/session`, `/wallet/withdraw`, `/market/tokens`) are modeled defensively and are **runtime‑untested** — verify against the live API and the Kairos testnet.\n\n## Status\n\nEarly release, published on npm. **Not yet runtime‑validated** against live Kaia L1/L2 + AlphaSec REST (E2E) — treat as preview. See the [AlphaSec integration guide](../../docs/integration-alphasec.md).\n\n## License\n\n[MIT](../../LICENSE) © Axim\n","readmeFilename":"README.md"}