{"_id":"@closetome/x402-sdk","_rev":"6-65351f24a8623c7dcd0d1317ac44efd6","name":"@closetome/x402-sdk","dist-tags":{"latest":"0.2.5"},"versions":{"0.2.0":{"name":"@closetome/x402-sdk","version":"0.2.0","keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"author":"","license":"MIT","_id":"@closetome/x402-sdk@0.2.0","maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"dist":{"shasum":"1a2296a78612c02232f8a2570f5ece44c0cc6d9e","tarball":"https://registry.npmjs.org/@closetome/x402-sdk/-/x402-sdk-0.2.0.tgz","fileCount":107,"integrity":"sha512-kEMGl+gcBMU/nSAC5gS6sJzpE8p+U2OXT1h4BfSNItgAXR5qPFEF8CReCh3ZNnGtpIy3joPPoRhOvtf4YeaBIA==","signatures":[{"sig":"MEYCIQDiqtCyAB+42QlVuIT3S28fyUWE8DMzGe45J5Bj+lqG9wIhAPims3xhibltg7x8AkIdUq6INTTO9RvrKeDi+vo6AaZ4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495346},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"07fc5c32443a0577c3827f658b16d748228fb12b","scripts":{"dev":"nodemon --exec ts-node src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","example":"nodemon --exec ts-node examples/basic-server.ts"},"_npmUser":{"name":"closetome","email":"hathawaymaftynoa@gmail.com"},"_npmVersion":"10.9.2","description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","directories":{},"_nodeVersion":"23.11.0","dependencies":{"bs58":"^6.0.0","axios":"^1.13.1","ethers":"^6.13.4","express":"^5.1.0","@solana/web3.js":"^1.95.8","@solana/spl-token":"^0.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^24.10.0","@types/express":"^5.0.5"},"_npmOperationalInternal":{"tmp":"tmp/x402-sdk_0.2.0_1763393976393_0.0920589453277314","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@closetome/x402-sdk","version":"0.2.1","keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"author":"","license":"MIT","_id":"@closetome/x402-sdk@0.2.1","maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"homepage":"https://github.com/closetome-ai/Closetome","dist":{"shasum":"661f29569055b618df858cd6000466fe995decef","tarball":"https://registry.npmjs.org/@closetome/x402-sdk/-/x402-sdk-0.2.1.tgz","fileCount":106,"integrity":"sha512-T0bvQqeRqzmo8GQPATdJnpYI3SYRXCRqQBBDrxVGzQnj3hERAegc19mv71tDOjdr1hQbRAqNLSXmsaR1zSjSwA==","signatures":[{"sig":"MEQCICHzvpudsuL03fJAjq3MJH+JheU5GNp3Wbolv6RlGWhAAiA8zt0SY17neHzJE2M8nQwtAxF9dbU3LrRsTHgBRYW7jA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450533},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"07fc5c32443a0577c3827f658b16d748228fb12b","scripts":{"dev":"nodemon --exec ts-node src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","example":"nodemon --exec ts-node examples/basic-server.ts"},"_npmUser":{"name":"closetome","email":"hathawaymaftynoa@gmail.com"},"_npmVersion":"10.9.2","description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","directories":{},"_nodeVersion":"23.11.0","dependencies":{"bs58":"^6.0.0","axios":"^1.13.1","ethers":"^6.13.4","express":"^5.1.0","@solana/web3.js":"^1.95.8","@solana/spl-token":"^0.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^24.10.0","@types/express":"^5.0.5"},"_npmOperationalInternal":{"tmp":"tmp/x402-sdk_0.2.1_1763395556667_0.3010890753793851","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@closetome/x402-sdk","version":"0.2.2","keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"author":"","license":"MIT","_id":"@closetome/x402-sdk@0.2.2","maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"homepage":"https://github.com/closetome-ai/Closetome","dist":{"shasum":"25566f4333af242d99eb9b8b2d65ce215ef7364e","tarball":"https://registry.npmjs.org/@closetome/x402-sdk/-/x402-sdk-0.2.2.tgz","fileCount":107,"integrity":"sha512-ls59a2uivIKk+CB2iEGQTeBkg05xGtSFkwZJafiP8Qc1VXfbjHF9lb1LbRrcGRhXzOkD8iv5+3n9MzHqwjBiKg==","signatures":[{"sig":"MEYCIQCHQIrvornAOanlB/ZlCWLaIK3muZty2w62ELelB5p98QIhAKu05x+CEyGmVIAyN1MBFWg+KVyWQnGWoZEkXLv2D5/L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457093},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7482d6cc4c37d36be8bab6aaabeade5ba27644e4","scripts":{"dev":"nodemon --exec ts-node src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","example":"nodemon --exec ts-node examples/basic-server.ts"},"_npmUser":{"name":"closetome","email":"hathawaymaftynoa@gmail.com"},"_npmVersion":"10.9.2","description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","directories":{},"_nodeVersion":"23.11.0","dependencies":{"bs58":"^6.0.0","axios":"^1.13.1","ethers":"^6.13.4","express":"^5.1.0","@solana/web3.js":"^1.95.8","@solana/spl-token":"^0.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10","ts-node":"^10.9.2","typescript":"^5.9.3","@types/node":"^24.10.0","@types/express":"^5.0.5"},"_npmOperationalInternal":{"tmp":"tmp/x402-sdk_0.2.2_1763567445475_0.0643787189254712","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@closetome/x402-sdk","version":"0.2.3","keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"author":"","license":"MIT","_id":"@closetome/x402-sdk@0.2.3","maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"homepage":"https://github.com/closetome-ai/Closetome","dist":{"shasum":"b0d39934caf2476e8737dff6374e476cb2331599","tarball":"https://registry.npmjs.org/@closetome/x402-sdk/-/x402-sdk-0.2.3.tgz","fileCount":109,"integrity":"sha512-dGDzsLFRw85x3cbfW8p6PBTuF9GQHnmIa28bODkglkYd9kCC5pZ6iOYr04+Kx/UYsDZU3WuhUdykrofPwmhKWQ==","signatures":[{"sig":"MEUCIQCx9Hs3A3cphX28jU4Y2GuInq576c+1PcGbFwQETjcKjwIgFBfgWi5FkJNgLkBRKoi8HHBlginN9YEHoaxL98hOHts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465364},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7482d6cc4c37d36be8bab6aaabeade5ba27644e4","scripts":{"dev":"nodemon --exec ts-node src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc --project tsconfig.build.json","example":"nodemon --exec ts-node examples/basic-server.ts"},"_npmUser":{"name":"closetome","email":"hathawaymaftynoa@gmail.com"},"_npmVersion":"10.9.2","description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","directories":{},"_nodeVersion":"23.11.0","dependencies":{"bs58":"^6.0.0","axios":"^1.13.1","ethers":"^6.13.4","express":"^5.1.0","@solana/web3.js":"^1.95.8","@solana/spl-token":"^0.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.0.4","@types/node":"^22.7.5","@types/express":"^5.0.5"},"_npmOperationalInternal":{"tmp":"tmp/x402-sdk_0.2.3_1763568020745_0.750282754805593","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@closetome/x402-sdk","version":"0.2.4","keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"author":"","license":"MIT","_id":"@closetome/x402-sdk@0.2.4","maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"homepage":"https://github.com/closetome-ai/Closetome","dist":{"shasum":"f9ee80a615615c39d2f6b6c9063c337b92e74361","tarball":"https://registry.npmjs.org/@closetome/x402-sdk/-/x402-sdk-0.2.4.tgz","fileCount":109,"integrity":"sha512-xM6PUKPn84WSXkJGYdDf73Ut51mK99LIG6nLi1KRMYWCMKLv88EI6VBpDtUnuxOftqEBuOLZZaB8aOE+MEVAWQ==","signatures":[{"sig":"MEQCIFYk7Aex+hkF8gdKkeEI3BWHONwzvet5wgTpouxnaCN5AiAUXMMA+WBgLDIx+M/3QPE8jHkP5F9DCL1g6apoYXscRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465372},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7482d6cc4c37d36be8bab6aaabeade5ba27644e4","scripts":{"dev":"nodemon --exec ts-node src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc --project tsconfig.build.json","example":"nodemon --exec ts-node examples/basic-server.ts"},"_npmUser":{"name":"closetome","email":"hathawaymaftynoa@gmail.com"},"_npmVersion":"10.9.2","description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","directories":{},"_nodeVersion":"23.11.0","dependencies":{"bs58":"^6.0.0","axios":"^1.13.1","ethers":"^6.13.4","express":"^5.1.0","@solana/web3.js":"^1.95.8","@solana/spl-token":"^0.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.10","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.0.4","@types/node":"^22.7.5","@types/express":"^5.0.5"},"_npmOperationalInternal":{"tmp":"tmp/x402-sdk_0.2.4_1763568132275_0.8331250784097439","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@closetome/x402-sdk","publishConfig":{"access":"public"},"homepage":"https://github.com/closetome-ai/Closetome","version":"0.2.5","description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc --project tsconfig.build.json","dev":"nodemon --exec ts-node src/index.ts","example":"nodemon --exec ts-node examples/basic-server.ts","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"author":"","license":"MIT","dependencies":{"@solana/spl-token":"^0.4.9","@solana/web3.js":"^1.95.8","axios":"^1.13.1","bs58":"^6.0.0","ethers":"^6.13.4","express":"^5.1.0"},"devDependencies":{"@types/express":"^5.0.5","@types/node":"^22.7.5","@types/ws":"^8.18.1","nodemon":"^3.1.10","ts-node":"^10.9.2","typescript":"^5.0.4"},"_id":"@closetome/x402-sdk@0.2.5","gitHead":"7482d6cc4c37d36be8bab6aaabeade5ba27644e4","_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-bcsAHl+MreGlPfCULevA7QAlT32D7+izqBFSh/zG2k05JnaAL5lFrkD+kIIjMVOB6i1BtkjdVVUW8xmI7DGzqw==","shasum":"3b32b703ef8ace4f6e59a9b91762b7a6e2ba4bb3","tarball":"https://registry.npmjs.org/@closetome/x402-sdk/-/x402-sdk-0.2.5.tgz","fileCount":109,"unpackedSize":465380,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBzyHgZRKHP+r7SA3GzI5PuF+vPka7T+IGoXe2k01dsQAiEA3Bav/H+bP7+y30WgaMvcIewZUzQOw0KCQG7N7zFKZ1M="}]},"_npmUser":{"name":"closetome","email":"hathawaymaftynoa@gmail.com"},"directories":{},"maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/x402-sdk_0.2.5_1763568205552_0.36630841624459287"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-17T15:39:36.317Z","modified":"2025-11-19T16:03:25.990Z","0.2.0":"2025-11-17T15:39:36.638Z","0.2.1":"2025-11-17T16:05:56.872Z","0.2.2":"2025-11-19T15:50:45.673Z","0.2.3":"2025-11-19T16:00:20.946Z","0.2.4":"2025-11-19T16:02:12.466Z","0.2.5":"2025-11-19T16:03:25.761Z"},"license":"MIT","homepage":"https://github.com/closetome-ai/Closetome","keywords":["x402","payment","middleware","express","solana","base","ethereum","svm","usdc","multi-chain"],"description":"Multi-chain X402 payment SDK supporting Solana (SVM) and EVM chains (Base, Ethereum, BSC) for both server and client applications","maintainers":[{"name":"closetome","email":"hathawaymaftynoa@gmail.com"}],"readme":"# X402 SDK\n\nTypeScript SDK for integrating X402 payments into your applications, supporting both Solana (SVM) and EVM chains (Base, etc.) with server-side middleware and client-side payments.\n\n## Installation\n\n```bash\nyarn add @closetome/x402-sdk\n```\n\n## Features\n\n- 🔧 Server-side Express middleware\n- 💳 Client-side payment creation\n- 🚀 Atomic transaction support (Solana & EVM)\n- 🎯 Dynamic callback generation (EVM atomic)\n- 📝 Type-safe route definitions\n- 🤖 Automatic schema generation\n- 🌐 Multi-chain support (Solana, Base)\n- ⚡ EIP-3009 gasless payments (EVM)\n\n## Server Usage\n\n### Basic Setup (Solana)\n\n```typescript\nimport { createX402Middleware } from '@closetome/x402-sdk'\n\nconst middleware = createX402Middleware({\n  network: 'solana-devnet',\n  facilitatorUrl: 'http://localhost:3010',\n  routes: [{\n    path: '/api/protected',\n    paymentRequirements: async (req) => ({\n      maxAmountRequired: '1000000', // 1 USDC (6 decimals)\n      payTo: WALLET_ADDRESS\n    }),\n    autoSettle: true\n  }],\n  serverWallet: {\n    svm: { secretKey: SERVER_SECRET_KEY }\n  }\n})\n\napp.use(middleware)\n```\n\n### EVM Setup (Base Chain)\n\n```typescript\nimport { createX402Middleware } from '@closetome/x402-sdk'\n\nconst middleware = createX402Middleware({\n  network: 'base-sepolia',\n  facilitatorUrl: 'http://localhost:3010',\n  routes: [{\n    path: '/api/protected',\n    paymentRequirements: async (req) => ({\n      maxAmountRequired: '100000', // 0.1 USDC (6 decimals)\n      payTo: WALLET_ADDRESS\n    }),\n    autoSettle: true\n  }],\n  serverWallet: {\n    evm: { privateKey: SERVER_PRIVATE_KEY }\n  }\n})\n\napp.use(middleware)\n```\n\n### Atomic X402 with Callbacks (EVM)\n\n```typescript\nimport { defineRoute, createTypedRoute } from '@closetome/x402-sdk'\nimport { ethers } from 'ethers'\n\ninterface PremiumInput {\n  tier: 'basic' | 'premium' | 'enterprise'\n}\n\nconst premiumRoute = defineRoute<PremiumInput>({\n  method: 'GET',\n  path: '/api/premium',\n  atomic: true,      // Enable atomic settlement\n  autoSettle: true,\n\n  paymentRequirements: ({ input }) => {\n    const tierPricing = {\n      basic: 100000,      // 0.1 USDC\n      premium: 500000,    // 0.5 USDC\n      enterprise: 1000000 // 1 USDC\n    }\n\n    return {\n      maxAmountRequired: tierPricing[input.tier || 'basic'].toString(),\n      payTo: PAYMENT_RECIPIENT,\n      description: `Access to ${input.tier} tier with NFT minting`\n    }\n  },\n\n  // Generate callback dynamically based on actual payment\n  onGenerateCallback: async (payment) => {\n    const evmPayment = payment as EVMPaymentPayload\n    const userAddress = evmPayment.userPay.from\n    const paymentAmount = evmPayment.userPay.value\n\n    // Encode NFT mint function call\n    const iface = new ethers.Interface([\n      'function mint(address to, uint256 amount)'\n    ])\n    const mintCalldata = iface.encodeFunctionData('mint', [\n      userAddress,   // Mint to user's address\n      paymentAmount  // Mint amount equal to payment\n    ])\n\n    return {\n      type: 'evm',\n      data: {\n        target: NFT_CONTRACT_ADDRESS,\n        calldata: mintCalldata\n      }\n    }\n  },\n\n  handler: ({ input }) => ({\n    message: `Welcome to ${input.tier} tier!`,\n    nftMinted: true\n  })\n})\n\nconst middleware = createX402Middleware({\n  network: 'base-sepolia',\n  facilitatorUrl: 'http://localhost:3010',\n  routes: [createTypedRoute(premiumRoute)],\n  serverWallet: {\n    evm: { privateKey: SERVER_PRIVATE_KEY }\n  }\n})\n\n// Register Express route handler\napp.get('/api/premium', (req, res) => {\n  const x402Info = req.x402\n  res.json({\n    message: x402Info.atomic ? 'Atomic payment successful' : 'Payment successful',\n    transactionHash: x402Info.settlementTxHash,\n    callbackTxHash: x402Info.callbackTxHash\n  })\n})\n```\n\n## Client Usage\n\n### Solana Client\n\n```typescript\nimport { X402Client, Keypair } from '@closetome/x402-sdk'\n\nconst keypair = Keypair.fromSecretKey(SECRET_KEY)\n\nconst client = new X402Client({\n  serverUrl: 'http://localhost:4000',\n  wallet: {\n    svm: { keypair }\n  }\n})\n\n// Standard payment\nconst result = await client.requestWithPayment('/api/protected')\n\n// Atomic payment\nconst result = await client.requestWithAtomicPayment('/api/atomic')\n```\n\n### EVM Client (Base)\n\n```typescript\nimport { X402Client } from '@closetome/x402-sdk'\n\nconst client = new X402Client({\n  serverUrl: 'http://localhost:4000',\n  wallet: {\n    evm: { privateKey: PRIVATE_KEY }\n  }\n})\n\n// Standard payment (verify + settle, 2 transactions)\nconst result = await client.requestWithPayment('/api/protected')\n\n// Atomic payment (1 transaction with callback)\nconst result = await client.requestWithPayment('/api/premium?tier=basic')\n```\n\n## Key Concepts\n\n### X-Payment Header Format\n\nAll payments use the `X-Payment` header with this structure:\n\n```json\n{\n  \"x402Version\": 1,\n  \"scheme\": \"exact\",\n  \"network\": \"base-sepolia\",\n  \"payload\": {\n    \"signature\": \"0x...\",\n    \"authorization\": {\n      \"from\": \"0x...\",\n      \"to\": \"0x...\",\n      \"value\": \"100000\",\n      \"validAfter\": \"1234567890\",\n      \"validBefore\": \"1234567890\",\n      \"nonce\": \"0x...\"\n    }\n  }\n}\n```\n\n### EVM Atomic Flow\n\n1. **Client** creates EIP-3009 `transferWithAuthorization` signature\n2. **Server** middleware generates `feePay` signature and callback\n3. **Facilitator** executes proxy contract in single transaction:\n   - User pays server (userPay)\n   - Server pays facilitator fee (feePay)\n   - Execute callback (e.g., mint NFT)\n\n### Callback Generation\n\nThe `onGenerateCallback` function receives payment data and returns callback transaction:\n\n```typescript\nonGenerateCallback: async (payment: PaymentPayload, req: Request) => {\n  return {\n    type: 'evm',\n    data: {\n      target: CONTRACT_ADDRESS,\n      calldata: ENCODED_FUNCTION_CALL\n    }\n  }\n}\n```\n\n## API Reference\n\n### Server\n\n- `createX402Middleware(config)` - Create Express middleware\n- `defineRoute<TInput, TOutput>(definition)` - Define type-safe route\n- `createTypedRoute(definition)` - Convert to RouteConfig\n\n**Route Definition Options:**\n- `path` - Route path (string or RegExp)\n- `atomic` - Enable atomic settlement (boolean)\n- `autoSettle` - Auto-settle after verification (boolean)\n- `paymentRequirements` - Function to generate payment requirements\n- `onGenerateCallback` - Generate callback for atomic transactions (EVM)\n- `handler` - Route handler function\n\n### Client\n\n- `X402Client` - Main client class\n  - `getPaymentRequirements(endpoint, params?)` - Get 402 response\n  - `createPaymentTransaction(requirements)` - Create payment (EVM/SVM)\n  - `requestWithPayment(endpoint, options?)` - Make payment and request\n  - `requestWithAtomicPayment(endpoint, options?)` - Atomic payment (Solana)\n\n### Types\n\n```typescript\ninterface EVMPaymentPayload {\n  userPay: EVMPayAuth\n}\n\ninterface EVMCallbackData {\n  target: string    // Contract address\n  calldata: string  // Encoded function call\n}\n\ninterface CallbackTransaction {\n  type: 'evm' | 'solana'\n  data: EVMCallbackData | SolanaCallbackData\n}\n```\n\n## Supported Networks\n\n- **Solana**: `solana`, `solana-devnet`\n- **Base**: `base`, `base-sepolia`\n\n## Examples\n\nSee the `examples/` directory for complete working examples:\n- `examples/server/base-server.ts` - Base chain server with atomic callbacks\n- `examples/client/base-client.ts` - Base chain client\n\n## License\n\nMIT\n","readmeFilename":"README.md"}