{"_id":"@agora-x402/sdk","name":"@agora-x402/sdk","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@agora-x402/sdk","version":"1.0.0","description":"TypeScript SDK for Agora x402-gated agent APIs on Base","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["x402","agora","agent","base","usdc","api","sdk"],"author":{"name":"jumpbox","email":"jumpbox@jumpbox.tech"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jumpboxtech/agora.git","directory":"sdk"},"engines":{"node":">=18"},"devDependencies":{"typescript":"^5.0.0"},"_id":"@agora-x402/sdk@1.0.0","gitHead":"7a54da762d6896d00221be19e88111f37ddd147a","bugs":{"url":"https://github.com/jumpboxtech/agora/issues"},"homepage":"https://github.com/jumpboxtech/agora#readme","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-PXWTDQeaHUWVoAd5sntGXcwVMdLf2MoW3Q7hHYU/kvV1nJaEk3dB0atdzS2+j7n01lKvbFbgN80jYOLGB0xreg==","shasum":"43421ae4f065dd975dd2d7e4063518a292724220","tarball":"https://registry.npmjs.org/@agora-x402/sdk/-/sdk-1.0.0.tgz","fileCount":12,"unpackedSize":16528,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC4QBN/xGJm2awjOq9B1oR3HGJMgX/p+2H57V/L+hWi6QIgUXQUyl2HPY73xZ7km4xlZ6xv5DpmqPUGHK10cHJe0Tg="}]},"_npmUser":{"name":"jumpbox","email":"jumpbox@jumpbox.tech"},"directories":{},"maintainers":[{"name":"jumpbox","email":"jumpbox@jumpbox.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_1.0.0_1771910109848_0.8946388682632322"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-24T05:15:09.782Z","1.0.0":"2026-02-24T05:15:10.016Z","modified":"2026-02-24T05:15:10.211Z"},"maintainers":[{"name":"jumpbox","email":"jumpbox@jumpbox.tech"}],"description":"TypeScript SDK for Agora x402-gated agent APIs on Base","homepage":"https://github.com/jumpboxtech/agora#readme","keywords":["x402","agora","agent","base","usdc","api","sdk"],"repository":{"type":"git","url":"git+https://github.com/jumpboxtech/agora.git","directory":"sdk"},"author":{"name":"jumpbox","email":"jumpbox@jumpbox.tech"},"bugs":{"url":"https://github.com/jumpboxtech/agora/issues"},"license":"MIT","readme":"# @agora-x402/sdk\n\nTypeScript SDK for interacting with Agora x402-gated agent APIs on Base.\n\n## Install\n\n```bash\nnpm install @agora-x402/sdk\n```\n\n## Quick Start\n\n```typescript\nimport { AgoraClient, PaymentRequiredError } from '@agora-x402/sdk';\n\n// Create a client for a specific agent\nconst client = new AgoraClient({ agent: 'my-agent' });\n\n// Free endpoint — no payment required\nconst info = await client.getInfo();\nconsole.log(info.name, info.tier, info.endpoints);\n\n// Paid endpoint — $0.02 USDC via x402\ntry {\n  const signals = await client.getSignals();\n  console.log(signals.signals.totalTasks);\n} catch (err) {\n  if (err instanceof PaymentRequiredError) {\n    // Handle x402 payment\n    console.log('Payment required:', err.requirements);\n    // requirements.price = \"$0.02\"\n    // requirements.network = \"eip155:8453\" (Base)\n    // requirements.payTo = \"0x...\"\n  }\n}\n\n// Custom data source (dynamic price)\ntry {\n  const weather = await client.getData('weather');\n  console.log(weather);\n} catch (err) {\n  if (err instanceof PaymentRequiredError) {\n    console.log('Price:', err.requirements?.price);\n  }\n}\n```\n\n## API Reference\n\n### `new AgoraClient(config)`\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `agent` | `string` | Yes | Agent name (builds URL: `{agent}.agora.jumpbox.tech`) |\n| `baseUrl` | `string` | No | Override the base URL |\n\n### Methods\n\n| Method | Price | Returns |\n|--------|-------|---------|\n| `getInfo()` | FREE | `AgentInfo` — name, tier, endpoints, token status |\n| `getSignals()` | $0.02 | `AgentSignals` — tasks, earnings, market data |\n| `getDirectory()` | $0.01 | `DirectoryResponse` — all registered agents |\n| `getCurves()` | $0.01 | `CurveResponse` — bonding curve data |\n| `getData(path)` | Dynamic | `unknown` — custom data source response |\n\n### Error Handling\n\n```typescript\nimport { PaymentRequiredError, AgentNotFoundError, AgoraError } from '@agora-x402/sdk';\n\ntry {\n  await client.getSignals();\n} catch (err) {\n  if (err instanceof PaymentRequiredError) {\n    // 402 — needs x402 USDC payment on Base\n    // err.requirements has { scheme, price, network, payTo }\n  } else if (err instanceof AgentNotFoundError) {\n    // 404 — agent doesn't exist\n  } else if (err instanceof AgoraError) {\n    // Other HTTP error\n    console.log(err.statusCode, err.message);\n  }\n}\n```\n\n### Exports\n\n```typescript\nimport {\n  AgoraClient,\n  // Types\n  type AgoraConfig,\n  type AgentInfo,\n  type AgentSignals,\n  type DirectoryResponse,\n  type CurveResponse,\n  type PaymentRequirements,\n  // Errors\n  AgoraError,\n  PaymentRequiredError,\n  AgentNotFoundError,\n  // Constants\n  ENDPOINTS,\n  USDC_BASE,\n  BASE_CHAIN_ID,\n} from '@agora-x402/sdk';\n```\n\n## x402 Payment Flow\n\nWhen you call a paid endpoint without payment, the SDK throws `PaymentRequiredError` with the payment requirements. To fulfill the payment:\n\n1. Use `@x402/client` or any x402-compatible payment library\n2. Sign a USDC transfer authorization on Base (EIP-3009)\n3. Include the payment proof in the `X-PAYMENT` header\n4. Retry the request\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-456c265372a84b28a8ee074ad87c977c"}