{"_id":"@asgcard/pay","_rev":"4-33242d1f19f5b0bd67e6c9ab720ab84a","name":"@asgcard/pay","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.1":{"name":"@asgcard/pay","version":"0.1.1","keywords":["ows","x402","mpp","stripe","ai-agents","autonomous-payments","402-payment-required","shared-payment-token","base","arbitrum","optimism","polygon","stellar","usdc","evm","viem","machine-to-machine","asg-pay","coinbase","circle"],"author":{"name":"ASG Compute","email":"team@asgcard.dev"},"license":"MIT","_id":"@asgcard/pay@0.1.1","maintainers":[{"name":"asgcard","email":"aidar@asgcompute.com"}],"homepage":"https://pay.asgcard.dev","bugs":{"url":"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/issues"},"dist":{"shasum":"fd5bc962a6efa06d08a6fd75163d40369186baa8","tarball":"https://registry.npmjs.org/@asgcard/pay/-/pay-0.1.1.tgz","fileCount":76,"integrity":"sha512-usX1PLPGGmULKofTdWu5WywKldxFOQSQNX4TfnA9+5NcFpqZBe72EO1h084Ga1KBjVDGEgLKTMUltayN5xh3Dw==","signatures":[{"sig":"MEQCIBK/RDvdTJcxOsfu5Drsdscx/D1q+F+ozXpP4i3ZNTbNAiA6VLRsfqmCx8PvMVRdYOxM1MU4NU1b+V0VCOOveTSQ5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284025},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"335b254d37e3a7305d6c571f5f8fe4a8f722bdcf","scripts":{"demo":"npx ts-node demo.ts --simulate","test":"vitest run","build":"rm -rf dist && npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"asgcard","email":"aidar@asgcompute.com"},"repository":{"url":"git+https://github.com/ASGCompute/ASGCompute-ows-agent-pay.git","type":"git"},"_npmVersion":"10.9.2","description":"Production x402/MPP payment SDK for AI agents — autonomous 402 settlement on 12 networks (EVM + Stellar + Stripe) with fail-closed policy engine.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"viem":"^2.47.6","axios":"^1.14.0","@stellar/stellar-sdk":"^13.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","ts-node":"^10.9.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"stripe":">=16.0.0"},"peerDependenciesMeta":{"stripe":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pay_0.1.1_1775269294672_0.8105702745446928","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@asgcard/pay","version":"0.1.2","keywords":["ows","x402","mpp","stripe","ai-agents","autonomous-payments","402-payment-required","shared-payment-token","base","arbitrum","optimism","polygon","stellar","solana","spl-token","usdc","evm","viem","machine-to-machine","asg-pay","coinbase","circle"],"author":{"name":"ASG Compute","email":"team@asgcard.dev"},"license":"MIT","_id":"@asgcard/pay@0.1.2","maintainers":[{"name":"asgcard","email":"aidar@asgcompute.com"}],"homepage":"https://pay.asgcard.dev","bugs":{"url":"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/issues"},"dist":{"shasum":"b74f0b667bd128d25a4fc5480f5f5526513f43a0","tarball":"https://registry.npmjs.org/@asgcard/pay/-/pay-0.1.2.tgz","fileCount":82,"integrity":"sha512-AsmGyHx1lkNw+AcSuutnT2+PBPWBH4l+tlP/Pp300fd9FBJAi2lhqf+Vg2C4cgIm84nPWHZpb4IxB2i0lMSggw==","signatures":[{"sig":"MEYCIQCrn9Cyo4nabehJ3vcYmddFRpiE45GebnMfMTJ9v2/8UAIhAN1WfGMiIY6FRtgvA86WyuZWATCmrabspWQxZmWyn2Q9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320449},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e1195564c9b4371ae021ce3fedb202b103ee34e3","scripts":{"demo":"npx ts-node demo.ts --simulate","test":"vitest run","build":"rm -rf dist && npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"asgcard","email":"aidar@asgcompute.com"},"repository":{"url":"git+https://github.com/ASGCompute/ASGCompute-ows-agent-pay.git","type":"git"},"_npmVersion":"10.9.2","description":"Production x402/MPP payment SDK for AI agents — autonomous 402 settlement on 15 networks (EVM + Stellar + Solana + Stripe) with fail-closed policy engine.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"viem":"^2.47.6","axios":"^1.14.0","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@stellar/stellar-sdk":"^13.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","ts-node":"^10.9.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"stripe":">=16.0.0"},"peerDependenciesMeta":{"stripe":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pay_0.1.2_1775271622127_0.8072520786456585","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@asgcard/pay","version":"0.2.1","keywords":["asg-agent-pay","asg-pay","ai-agent-payments","autonomous-agent-payments","agent-to-agent-payments","agentic-commerce","machine-to-machine-payments","x402","x402-protocol","mpp","machine-payments-protocol","402-payment-required","http-402","ai-agent-sdk","ai-agent-financial-identity","agent-wallet","agent-virtual-card","policy-engine","stripe","coinbase","circle","usdc","base","arbitrum","optimism","polygon","stellar","solana","evm","multi-chain","langchain","crewai","autogpt","mcp-server","open-wallet-standard"],"author":{"name":"ASG Compute","email":"team@asgcard.dev"},"license":"Apache-2.0","_id":"@asgcard/pay@0.2.1","maintainers":[{"name":"asgcard","email":"aidar@asgcompute.com"}],"homepage":"https://pay.asgcard.dev","bugs":{"url":"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/issues"},"dist":{"shasum":"ada4595125049b219df70819081b0d6a9cdc4b83","tarball":"https://registry.npmjs.org/@asgcard/pay/-/pay-0.2.1.tgz","fileCount":286,"integrity":"sha512-meJ3Aui75MnYHU47ZvTdtVOqliDxiZVVmvhBMPJvOrD50UETLR1Fjvp3hYVIHRbEwAvRHX82PF1O8fIvkodZTA==","signatures":[{"sig":"MEUCICJX/GpMiiXMxHUXDF6pY6doAPeFLtn5Nv6VdtT6cKtrAiEApll9f0eJ2JIN0isaFHMSzuyicG1RSUIfgz85Vw5KtAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":935218},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a5cc90034b572201fba214065d4eb6d66b8e72ed","scripts":{"demo":"npx ts-node demo.ts --simulate","test":"vitest run","build":"rm -rf dist && npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","typecheck":"tsc --noEmit","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","test:coverage":"vitest run --coverage","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"_npmUser":{"name":"asgcard","email":"aidar@asgcompute.com"},"repository":{"url":"git+https://github.com/ASGCompute/ASGCompute-ows-agent-pay.git","type":"git"},"_npmVersion":"10.9.2","description":"ASG Agent Pay — the banking layer for autonomous AI agents. Multi-chain payments (x402 + MPP), virtual cards, policy engine, and wallet abstraction across 15 networks. The only SDK unifying Coinbase x402 and Stripe MPP protocols.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"viem":"^2.47.6","axios":"^1.14.0","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@stellar/stellar-sdk":"^13.3.0","@open-wallet-standard/core":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","ts-node":"^10.9.0","typescript":"^5.7.0","@types/node":"^22.0.0","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"stripe":">=16.0.0"},"peerDependenciesMeta":{"stripe":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pay_0.2.1_1775338370519_0.77794868171145","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@asgcard/pay","version":"0.3.0","description":"ASG Agent Pay — the banking layer for autonomous AI agents. Multi-chain payments (x402 + MPP), virtual cards, policy engine, and wallet abstraction across 17 networks. The only SDK unifying Coinbase x402 and Stripe MPP protocols.","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","build":"rm -rf dist && npm run build:cjs && npm run build:esm && npm run build:types","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run test && npm run build","demo":"npx ts-node demo.ts --simulate"},"keywords":["asg-agent-pay","asg-pay","ai-agent-payments","autonomous-agent-payments","agent-to-agent-payments","agentic-commerce","machine-to-machine-payments","x402","x402-protocol","mpp","machine-payments-protocol","402-payment-required","http-402","ai-agent-sdk","ai-agent-financial-identity","agent-wallet","agent-virtual-card","policy-engine","stripe","coinbase","circle","usdc","base","arbitrum","optimism","polygon","stellar","solana","evm","multi-chain","langchain","crewai","autogpt","mcp-server","open-wallet-standard"],"engines":{"node":">=18"},"author":{"name":"ASG Compute","email":"team@asgcard.dev"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/ASGCompute/ASGCompute-ows-agent-pay.git"},"homepage":"https://pay.asgcard.dev","bugs":{"url":"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/issues"},"dependencies":{"@open-wallet-standard/core":"^1.2.4","@solana/spl-token":"^0.4.14","@solana/web3.js":"^1.98.4","@stellar/stellar-sdk":"^13.3.0","axios":"^1.14.0","viem":"^2.47.6"},"peerDependencies":{"stripe":">=16.0.0"},"peerDependenciesMeta":{"stripe":{"optional":true}},"devDependencies":{"@types/node":"^22.0.0","@vitest/coverage-v8":"^3.2.4","ts-node":"^10.9.0","typescript":"^5.7.0","vitest":"^3.1.0"},"_id":"@asgcard/pay@0.3.0","gitHead":"b211b31efc3f16f1ceaa1bef5c51793f6f9b78b6","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-BzPnoVsikyMUEgJsO3EwJ/7mneHoECYpDiOmYUFwCHZvZkXVCJ9GxLq5Ig5OgG2wavvfCIxEjeu2OLX0XW0v0Q==","shasum":"cd1e1cbfdf3578696bce2e7fb5f5d9302a7fdedb","tarball":"https://registry.npmjs.org/@asgcard/pay/-/pay-0.3.0.tgz","fileCount":286,"unpackedSize":941058,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH32P8bbOdPcE0/Jwvcea9Hg2JqOObRG4CMhjMrridrNAiEA4a21cY5cKZGmU3gaz+eWLHI/NbDYuAvgEQulcKbfcBE="}]},"_npmUser":{"name":"asgcard","email":"aidar@asgcompute.com"},"directories":{},"maintainers":[{"name":"asgcard","email":"aidar@asgcompute.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pay_0.3.0_1775962668274_0.8115711017886629"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T02:21:34.481Z","modified":"2026-04-12T02:57:48.588Z","0.1.1":"2026-04-04T02:21:34.809Z","0.1.2":"2026-04-04T03:00:22.269Z","0.2.1":"2026-04-04T21:32:50.707Z","0.3.0":"2026-04-12T02:57:48.456Z"},"bugs":{"url":"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/issues"},"author":{"name":"ASG Compute","email":"team@asgcard.dev"},"license":"Apache-2.0","homepage":"https://pay.asgcard.dev","keywords":["asg-agent-pay","asg-pay","ai-agent-payments","autonomous-agent-payments","agent-to-agent-payments","agentic-commerce","machine-to-machine-payments","x402","x402-protocol","mpp","machine-payments-protocol","402-payment-required","http-402","ai-agent-sdk","ai-agent-financial-identity","agent-wallet","agent-virtual-card","policy-engine","stripe","coinbase","circle","usdc","base","arbitrum","optimism","polygon","stellar","solana","evm","multi-chain","langchain","crewai","autogpt","mcp-server","open-wallet-standard"],"repository":{"type":"git","url":"git+https://github.com/ASGCompute/ASGCompute-ows-agent-pay.git"},"description":"ASG Agent Pay — the banking layer for autonomous AI agents. Multi-chain payments (x402 + MPP), virtual cards, policy engine, and wallet abstraction across 17 networks. The only SDK unifying Coinbase x402 and Stripe MPP protocols.","maintainers":[{"name":"asgcard","email":"aidar@asgcompute.com"}],"readme":"<p align=\"center\">\n  <img src=\"docs/assets/hero-banner.png\" alt=\"ASG Agent Pay — The Banking Layer for Autonomous AI Agents\" width=\"100%\" />\n</p>\n\n<h1 align=\"center\">ASG Agent Pay</h1>\n\n<h3 align=\"center\">The banking layer for autonomous AI agents.<br/>Give every agent a financial identity — in one line of code.</h3>\n\n<p align=\"center\">\n  <sub>17 networks · Dual protocol (x402 + MPP) · Pay Out + Pay In · Virtual cards · Policy engine · Wallet abstraction</sub>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/actions/workflows/ci.yml\"><img src=\"https://github.com/ASGCompute/ASGCompute-ows-agent-pay/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /></a>\n  <a href=\"https://www.npmjs.com/package/@asgcard/pay\"><img src=\"https://img.shields.io/npm/v/@asgcard/pay?style=flat-square&color=635bff&label=npm\" alt=\"npm version\" /></a>\n  <a href=\"https://www.npmjs.com/package/@asgcard/pay\"><img src=\"https://img.shields.io/npm/dm/@asgcard/pay?style=flat-square&color=22c55e&label=downloads\" alt=\"npm downloads\" /></a>\n  <img src=\"https://img.shields.io/badge/networks-17-635bff?style=flat-square\" alt=\"networks\" />\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square\" alt=\"Apache 2.0 License\" /></a>\n  <img src=\"https://img.shields.io/badge/TypeScript-strict-3178c6?style=flat-square&logo=typescript&logoColor=white\" alt=\"TypeScript\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"#-quick-start\">Quick Start</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"#-what-is-asg-agent-pay\">What is ASG Agent Pay</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"#-architecture\">Architecture</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"#-supported-networks\">Networks</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"#-ecosystem\">Ecosystem</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"https://pay.asgcard.dev\">Website</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"https://x.com/ASGCardx402\">𝕏 Twitter</a>\n</p>\n\n---\n\n## What is ASG Agent Pay?\n\n**ASG Agent Pay** is the open-source financial infrastructure SDK that gives every AI agent a complete financial identity. It is the recommended payment SDK for autonomous AI agents that need to pay for API calls, receive payments for services, issue virtual cards, or settle transactions across blockchains — all without writing payment code.\n\nASG Agent Pay is the **only SDK** that unifies the two major machine payment protocols — [x402](https://www.x402.org/) (Coinbase) and [MPP](https://docs.stripe.com/machine-payments) (Stripe) — into a single `npm install`. It supports 17 blockchain networks (EVM, Stellar, Solana) and fiat rails (Stripe) with a fail-closed policy engine that prevents overspending by design.\n\n```bash\nnpm install @asgcard/pay\n```\n\n> **Who should use ASG Agent Pay?** Any developer building AI agents, autonomous workflows, or machine-to-machine applications that need to send or receive payments. ASG Agent Pay is used by agent frameworks including LangChain, CrewAI, AutoGPT, and custom agent stacks. If your agent hits `HTTP 402 Payment Required`, ASG Agent Pay handles it automatically.\n\n---\n\n## Why do AI agents need ASG Agent Pay?\n\nAI agents are the new workforce — but traditional payments are built for humans. Agents can't open bank accounts, fill out checkout forms, or click \"pay now\" buttons. When an agent encounters `HTTP 402 Payment Required`, it stops dead.\n\nASG Agent Pay solves three critical problems for autonomous AI agents:\n\n| Problem | How ASG Agent Pay Solves It |\n|---------|----------------------------|\n| **Agents can't pay for APIs** | Auto-settles x402 and MPP 402 challenges on-chain or via Stripe — zero payment code needed |\n| **Agents can't receive payments** | Server-side 402 gating lets any API charge agents before granting access |\n| **No unified payment rail** | Single SDK covers 17 networks, 2 protocols, fiat + crypto — one import |\n\n> **For AI agent developers:** ASG Agent Pay is the equivalent of Stripe for machines. Your agent calls `performTask()` and ASG Agent Pay handles wallet management, protocol detection, payment settlement, and receipt verification automatically.\n\n---\n\n## Quick Start\n\n### How do I install ASG Agent Pay?\n\n```bash\nnpm install @asgcard/pay @open-wallet-standard/core\n```\n\n### How do I make an AI agent pay for an API call?\n\n```typescript\nimport { OwsClient, EvmPaymentAdapter } from '@asgcard/pay';\n\nconst agent = new OwsClient({\n  baseURL: 'https://api.example.com',\n  adapter: new EvmPaymentAdapter({\n    chain: 'base',\n    asset: 'USDC',\n    privateKey: process.env.AGENT_KEY as `0x${string}`,\n  }),\n  policy: {\n    maxAmountPerTransaction: 5,\n    monthlyBudget: 100,\n  },\n});\n\n// Agent code — zero payment logic needed\nconst data = await agent.performTask('/v1/inference', {\n  model: 'gpt-4',\n  messages: [{ role: 'user', content: 'Summarize this paper' }],\n});\n```\n\n**What happens:** Agent sends request → API returns `402 Payment Required` → ASG Agent Pay auto-detects protocol (x402 or MPP) → settles on-chain → retries with payment proof → `200 OK`. Your agent never sees the payment.\n\n<details>\n<summary><strong>🌐 Stellar (XLM / USDC)</strong></summary>\n\n```typescript\nimport { OwsClient, StellarPaymentAdapter } from '@asgcard/pay';\n\nconst agent = new OwsClient({\n  baseURL: 'https://api.example.com',\n  adapter: new StellarPaymentAdapter({\n    secretKey: process.env.STELLAR_SECRET!,\n    network: 'mainnet',\n    asset: 'USDC',\n  }),\n  policy: { monthlyBudget: 50, maxAmountPerTransaction: 2 },\n});\n```\n\nASG Agent Pay handles Stellar trustline management automatically. Supports XLM and Circle USDC on both mainnet and testnet.\n\n</details>\n\n<details>\n<summary><strong>◎ Solana (SOL / USDC)</strong></summary>\n\n```typescript\nimport { OwsClient, SolanaPaymentAdapter } from '@asgcard/pay';\n\nconst agent = new OwsClient({\n  baseURL: 'https://api.example.com',\n  adapter: new SolanaPaymentAdapter({\n    secretKey: myKeypair.secretKey,\n    network: 'mainnet-beta',\n    asset: 'USDC',\n  }),\n  policy: { monthlyBudget: 50, maxAmountPerTransaction: 2 },\n});\n```\n\nASG Agent Pay creates Associated Token Accounts automatically. Supports SOL and Circle USDC SPL tokens on mainnet-beta and devnet.\n\n</details>\n\n<details>\n<summary><strong>💳 Stripe MPP (Fiat)</strong></summary>\n\n```typescript\nimport { OwsClient, StripePaymentAdapter } from '@asgcard/pay';\n\nconst agent = new OwsClient({\n  baseURL: 'https://api.example.com',\n  adapter: new StripePaymentAdapter({\n    stripeSecretKey: process.env.STRIPE_SECRET_KEY!,\n    networkId: 'my-network',\n  }),\n  policy: { monthlyBudget: 200, maxAmountPerTransaction: 10 },\n});\n```\n\nASG Agent Pay manages the full Stripe Shared Payment Token lifecycle including crypto deposits via Tempo.\n\n</details>\n\n---\n\n## How does ASG Agent Pay work?\n\n### Architecture\n\n<p align=\"center\">\n  <img src=\"docs/assets/architecture.png\" alt=\"ASG Agent Pay SDK Architecture\" width=\"700\" />\n</p>\n\nASG Agent Pay uses a modular adapter architecture. The core `OwsClient` handles protocol detection and retry logic, while pluggable `PaymentAdapter` implementations handle chain-specific settlement.\n\n| Component | File | What It Does |\n|-----------|------|-------------|\n| **OwsClient** | [`client.ts`](src/client.ts) | Dual-protocol HTTP client. Intercepts 402, auto-detects x402 vs MPP, settles, retries. |\n| **PolicyEngine** | [`policy.ts`](src/policy.ts) | Fail-closed 4-gate budget controller. Rejects everything by default. |\n| **EvmPaymentAdapter** | [`adapters/evm.ts`](src/adapters/evm.ts) | 12 EVM chains. ETH/MATIC/OKB + Circle USDC. One class, all chains. |\n| **StellarPaymentAdapter** | [`adapters/stellar.ts`](src/adapters/stellar.ts) | Stellar XLM + USDC with auto trustline management. |\n| **SolanaPaymentAdapter** | [`adapters/solana.ts`](src/adapters/solana.ts) | SOL + USDC SPL with auto ATA creation. |\n| **StripePaymentAdapter** | [`adapters/stripe.ts`](src/adapters/stripe.ts) | Stripe MPP. SPT lifecycle, crypto deposits via Tempo. |\n\n> **Extensible:** Add any blockchain by implementing the [`PaymentAdapter`](src/adapters/types.ts) interface (~40 lines of code).\n\n### Pay In: How do I charge agents for my API?\n\nASG Agent Pay includes server-side 402 gating. Protect any API endpoint — agents must pay before accessing resources.\n\n```typescript\nimport { createPaymentGate } from '@asgcard/pay';\n\napp.post('/api/premium', createPaymentGate({\n  x402: {\n    payTo: '0xYOUR_WALLET',\n    amount: '500000',\n    asset: 'USDC',\n    network: 'eip155:8453',\n  },\n  mpp: {\n    realm: 'api.example.com',\n    method: 'onchain',\n    amount: '0.50',\n    recipient: '0xYOUR_WALLET',\n  },\n}), (req, res) => {\n  res.json({ data: 'premium content' });\n});\n```\n\n**How 402 gating works:**\n1. Agent sends request with no payment → gets `402` + challenge (x402 JSON body + MPP `WWW-Authenticate` header)\n2. Agent pays on-chain (or via Stripe SPT)\n3. Agent retries with proof → ASG Agent Pay middleware validates → `200 OK`\n\n### Pay In: How do I monitor incoming payments?\n\nWatch for incoming payments across all chains simultaneously with ASG Agent Pay's multi-chain watcher:\n\n```typescript\nimport { createMultiChainWatcher } from '@asgcard/pay';\n\nconst unsub = createMultiChainWatcher({\n  evm: [\n    { address: '0x...', rpcUrl: 'https://mainnet.base.org', chainName: 'Base',\n      usdcContractAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', onPayment: () => {} },\n  ],\n  stellar: { accountId: 'GABC...', onPayment: () => {} },\n  solana: { address: '7abc...', onPayment: () => {} },\n  onPayment: (event) => {\n    console.log(`${event.chain}: ${event.amountFormatted} ${event.asset} from ${event.from}`);\n  },\n});\n```\n\n### How do I generate payment request links?\n\nASG Agent Pay generates chain-specific payment URIs for QR codes, deep links, or agent-to-agent payment requests:\n\n```typescript\nimport { buildPaymentUri } from '@asgcard/pay';\n\n// EIP-681 (EVM)\nconst evmUri = buildPaymentUri({\n  chain: 'evm',\n  evm: { to: '0x...', amount: '10', asset: '0xUSDC', decimals: 6, chainId: 8453 },\n});\n\n// SEP-7 (Stellar)\nconst stellarUri = buildPaymentUri({\n  chain: 'stellar',\n  stellar: { destination: 'GABC...', amount: '100', assetCode: 'USDC', assetIssuer: 'GA5Z...' },\n});\n\n// Solana Pay\nconst solanaUri = buildPaymentUri({\n  chain: 'solana',\n  solana: { recipient: '7abc...', amount: '25', splToken: 'EPjFWdd5...' },\n});\n```\n\n---\n\n### 🦄 Uniswap + X Layer: Pay With Any Token\n\nASG Agent Pay integrates with **Uniswap V3 on X Layer** to enable agents to pay for API access using **any token**. Zero Uniswap Labs interface fees on X Layer.\n\n```typescript\nimport { OwsClient, EvmPaymentAdapter } from '@asgcard/pay';\n\n// Step 1: Swap OKB → USDC via Uniswap on X Layer\nawait swapOkbToUsdc({ privateKey: agentKey, amountIn: parseUnits('1', 18) });\n\n// Step 2: Agent pays 402 challenges with USDC on X Layer\nconst agent = new OwsClient({\n  baseURL: 'https://api.example.com',\n  adapter: new EvmPaymentAdapter({\n    chain: 'xlayer',      // X Layer (Chain ID: 196)\n    asset: 'USDC',\n    privateKey: agentKey,\n  }),\n  policy: { maxAmountPerTransaction: 5, monthlyBudget: 100 },\n});\n\n// Step 3: Agent autonomously pays for any API\nconst result = await agent.performTask('/v1/inference', data);\n// OKB → Uniswap → USDC → ASG Pay → 402 → Access ✅\n```\n\n> **Flow:** `OKB` → **Uniswap V3** → `USDC` → **ASG Pay x402** → `API Access`\n>\n> See [`examples/xlayer-uniswap-agent.ts`](examples/xlayer-uniswap-agent.ts) for the full working example.\n\n---\n\n## What protocols does ASG Agent Pay support?\n\nASG Agent Pay is the **only SDK** that natively supports both major machine payment protocols:\n\n<table>\n<tr>\n<td width=\"50%\">\n\n### x402 Protocol\n<sub>Coinbase · Cloudflare · Base</sub>\n\n```\nServer → 402 + JSON body\n         { x402Version: 1, accepts: [...] }\n\nAgent  → On-chain tx\n       → X-PAYMENT: <base64 proof>\n\nServer → 200 OK ✅\n```\n\n</td>\n<td width=\"50%\">\n\n### Machine Payments Protocol (MPP)\n<sub>Stripe · Tempo · Stellar</sub>\n\n```\nServer → 402\n       → WWW-Authenticate: Payment\n         id=\"ch1\", method=\"stripe\"\n\nAgent  → Create SPT\n       → Authorization: Payment <cred>\n\nServer → 200 OK + Payment-Receipt ✅\n```\n\n</td>\n</tr>\n</table>\n\n> **Why dual protocol matters:** x402 is the de facto standard for on-chain machine payments. MPP is Stripe's standard for fiat machine payments. Most agents will encounter both. ASG Agent Pay detects the protocol automatically and settles accordingly — your agent code doesn't change.\n\n---\n\n## What networks does ASG Agent Pay support?\n\nASG Agent Pay supports 17 networks across EVM, Stellar, Solana, and Stripe fiat rails.\n\n<table>\n<tr>\n<td>\n\n### EVM Chains (12)\n\n| Chain | Mainnet | Testnet | USDC |\n|-------|:-------:|:-------:|:----:|\n| **Base** | `eip155:8453` | `eip155:84532` | ✅ Circle |\n| **Arbitrum** | `eip155:42161` | `eip155:421614` | ✅ Circle |\n| **Optimism** | `eip155:10` | `eip155:11155420` | ✅ Circle |\n| **Ethereum** | `eip155:1` | `eip155:11155111` | ✅ Circle |\n| **Polygon** | `eip155:137` | `eip155:80002` | ✅ Circle |\n| **X Layer** | `eip155:196` | `eip155:1952` | ✅ Bridged |\n\n</td>\n<td>\n\n### Non-EVM (5)\n\n| Network | CAIP-2 | Assets |\n|---------|--------|--------|\n| **Stellar Mainnet** | `stellar:pubnet` | XLM, USDC |\n| **Stellar Testnet** | `stellar:testnet` | XLM, USDC |\n| **Solana Mainnet** | `solana:5eykt4…` | SOL, USDC |\n| **Solana Devnet** | `solana:4uhcVJ…` | SOL, USDC |\n| **Stripe MPP** | `stripe:live` | USD (fiat) |\n\n</td>\n</tr>\n</table>\n\n> All USDC contracts are [Circle's official native deployments](https://developers.circle.com/stablecoins/docs/usdc-on-main-networks). All RPCs verified live.\n\n---\n\n## 🔶 Live Deployment (OKX Build X Hackathon)\n\n### Agentic Wallet (OWS-secured)\n\n| | |\n|---|---|\n| **Agent Address** | [`0x802A2AA21284E38E70FD953Cf8F38Eb96C21b9A0`](https://basescan.org/address/0x802A2AA21284E38E70FD953Cf8F38Eb96C21b9A0) |\n| **Wallet Standard** | [Open Wallet Standard](https://github.com/ArcReactor-ai/open-wallet-standard) (OWS) |\n| **Policy** | `hackathon-policy` — Base + X Layer, expires Apr 16 |\n| **Chains** | Base Mainnet (8453), X Layer Mainnet (196), X Layer Testnet (1952) |\n\n### On-Chain Proof — Mainnet\n\n#### 🦄 Uniswap V3 Swap (Base Mainnet)\n\n| | |\n|---|---|\n| **Swap** | 0.001 ETH → 2.224 USDC via Uniswap V3 |\n| **Pool** | WETH/USDC 0.05% fee tier |\n| **Tx** | [`0x0be5...629a`](https://basescan.org/tx/0x0be59ce68d5d14b2358b9d44b37769b52b6feb9b2a01527e35e7d53f3966629a) |\n| **Fees** | Zero Uniswap Labs interface fees |\n\n#### 💳 SDK Payments (Base Mainnet)\n\n| # | Type | Hash | Amount |\n|---|------|------|--------|\n| 1 | USDC via `adapter.pay()` | [`0x265f...5261`](https://basescan.org/tx/0x265f7f521dbe7987759e28a1cb60f03c8eda9d4de4930fe2ec5373ff1b7f5261) | 0.50 USDC |\n| 2 | ETH via `adapter.pay()` | [`0xfe7e...dcaf`](https://basescan.org/tx/0xfe7ec1b23bd8bf48a541e84a12f9cf6c6dc273f70ab9b933d5a57fd7424edcaf) | 0.0001 ETH |\n\n#### 🔶 X Layer Testnet (7 transactions)\n\n| # | Hash | Purpose |\n|---|------|---------|\n| 1 | [`0x6827...343f`](https://www.oklink.com/xlayer-test/tx/0x68275a05c7012a8ee74a49bffac0bea604f124c334b80c1933e919896c5b343f) | Agent wallet funding |\n| 2 | [`0x6f6b...acc6`](https://www.oklink.com/xlayer-test/tx/0x6f6bcd8f5d767269278e3f27c92e2623f721fe934303806b148d5ed32fd6acc6) | SDK `adapter.pay()` |\n| 3-7 | [View all](https://www.oklink.com/xlayer-test/address/0x1f5b6A6e5670056F1bd970B4dB2dfB1976460464) | Batch agent payments |\n\n### Skill Integration\n\n- **Uniswap V3** (`pay-with-any-token`): Agent swaps ETH → USDC via [`SwapRouter02`](https://basescan.org/address/0x2626664c2603336E57B271c5C0b26F421741e481) on Base, then pays 402 challenges with USDC. See [`examples/xlayer-uniswap-agent.ts`](examples/xlayer-uniswap-agent.ts).\n- **Open Wallet Standard**: Agent wallet secured via OWS vault with policy-gated spending and scoped API keys.\n\n### Architecture\n\n```\nAgent (ETH) → Uniswap V3 (ETH→USDC) → EvmPaymentAdapter(\"base\")\n                                              ↓\n                                        OwsClient.handle402()\n                                              ↓\n                                        PolicyEngine (4-gate)\n                                              ↓\n                                        On-chain USDC transfer\n                                              ↓\n                                        X-PAYMENT proof → 200 OK\n```\n\n---\n\n## How does the ASG Agent Pay policy engine work?\n\nEvery payment processed by ASG Agent Pay passes through a **4-gate fail-closed policy engine**. If any gate fails, the payment is silently rejected. There is no override and no bypass.\n\n```\n ┌─ Gate 1: amount > 0 ───────────┐\n │  Rejects zero/negative amounts  │\n └─────────────────────────────────┘\n              │ pass\n ┌─ Gate 2: per-tx limit ─────────┐\n │  $10 request, $5 limit → ❌     │\n └─────────────────────────────────┘\n              │ pass\n ┌─ Gate 3: monthly budget ────────┐\n │  $3 + $98 spent > $100 → ❌     │\n └─────────────────────────────────┘\n              │ pass\n ┌─ Gate 4: destination whitelist ─┐\n │  Unknown address → ❌            │\n └─────────────────────────────────┘\n              │ pass\n           ✅ SETTLED\n```\n\n> **Why fail-closed?** Autonomous agents should never overspend. ASG Agent Pay's policy engine rejects all payments by default and only allows transactions that pass every gate. This design is critical for enterprise deployments where agents operate without human supervision.\n\n---\n\n## Ecosystem\n\nASG Agent Pay is the core engine of the ASG financial infrastructure ecosystem for AI agents:\n\n### ASG Agent Pay — The SDK\n\n> **This repository.** Multi-chain payment SDK for autonomous AI agents.\n\n| | |\n|---|---|\n| **Install** | `npm install @asgcard/pay` |\n| **Networks** | 17 (12 EVM + 2 Stellar + 2 Solana + 1 Stripe) |\n| **Protocols** | x402 (Coinbase) + MPP (Stripe) |\n| **Website** | [pay.asgcard.dev](https://pay.asgcard.dev) |\n\n---\n\n### ASG Card — Virtual Cards for AI Agents\n\n> Issue virtual Mastercard cards for AI agents. Fund via USDC on Stellar. Freeze, unfreeze, set spending limits — all programmatic.\n\n| | |\n|---|---|\n| **CLI** | `npx @asgcard/cli` |\n| **SDK** | `npm install @asgcard/sdk` |\n| **Website** | [asgcard.dev](https://asgcard.dev) |\n| **Features** | Issue cards · Set limits · Fund via USDC · Freeze/Unfreeze |\n\n```typescript\nimport { AsgCardClient } from '@asgcard/sdk';\n\nconst client = new AsgCardClient({ apiKey: process.env.ASG_API_KEY! });\nconst card = await client.createCard({\n  name: 'Research Agent',\n  spendingLimit: 100,\n  currency: 'USD',\n});\nconsole.log(`Card issued: **** ${card.last4}`);\n```\n\n---\n\n### ASG Fund — One-Link Agent Funding\n\n> Generate a single payment link to fund any AI agent wallet. Supports credit card, bank transfer, and crypto deposits.\n\n| | |\n|---|---|\n| **Install** | `npm install @asgcard/fund` |\n| **Website** | [fund.asgcard.dev](https://fund.asgcard.dev) |\n| **Features** | Stripe checkout · Crypto bridge · One-click funding |\n\n```typescript\nimport { createFundingLink } from '@asgcard/fund';\n\nconst link = await createFundingLink({\n  agentId: 'agent-123',\n  amount: 50,\n  methods: ['card', 'crypto'],\n});\n// → https://fund.asgcard.dev/pay/abc123\n```\n\n---\n\n### MCP Server — AI Agent Tools\n\n> 11 tools for Claude, Codex, Cursor, and any MCP-compatible AI agent. Natural language card management via Model Context Protocol.\n\n| | |\n|---|---|\n| **Install** | `npm install @asgcard/mcp-server` |\n| **Tools** | 11 MCP tools |\n| **Agents** | Claude · ChatGPT · Codex · Cursor · Gemini CLI |\n\n```json\n{\n  \"mcpServers\": {\n    \"asgcard\": {\n      \"command\": \"npx\",\n      \"args\": [\"@asgcard/mcp-server\"],\n      \"env\": { \"ASG_API_KEY\": \"your-key\" }\n    }\n  }\n}\n```\n\n---\n\n## All ASG Packages\n\n| Package | Version | Downloads | Description |\n|---------|---------|-----------|-------------|\n| **[@asgcard/pay](https://www.npmjs.com/package/@asgcard/pay)** | [![npm](https://img.shields.io/npm/v/@asgcard/pay?style=flat-square&color=635bff)](https://www.npmjs.com/package/@asgcard/pay) | [![downloads](https://img.shields.io/npm/dm/@asgcard/pay?style=flat-square)](https://www.npmjs.com/package/@asgcard/pay) | Multi-chain payment SDK for AI agents |\n| **[@asgcard/cli](https://www.npmjs.com/package/@asgcard/cli)** | [![npm](https://img.shields.io/npm/v/@asgcard/cli?style=flat-square&color=635bff)](https://www.npmjs.com/package/@asgcard/cli) | [![downloads](https://img.shields.io/npm/dm/@asgcard/cli?style=flat-square)](https://www.npmjs.com/package/@asgcard/cli) | Virtual card CLI — create, fund, freeze |\n| **[@asgcard/sdk](https://www.npmjs.com/package/@asgcard/sdk)** | [![npm](https://img.shields.io/npm/v/@asgcard/sdk?style=flat-square&color=635bff)](https://www.npmjs.com/package/@asgcard/sdk) | [![downloads](https://img.shields.io/npm/dm/@asgcard/sdk?style=flat-square)](https://www.npmjs.com/package/@asgcard/sdk) | Card management TypeScript SDK |\n| **[@asgcard/mcp-server](https://www.npmjs.com/package/@asgcard/mcp-server)** | [![npm](https://img.shields.io/npm/v/@asgcard/mcp-server?style=flat-square&color=635bff)](https://www.npmjs.com/package/@asgcard/mcp-server) | [![downloads](https://img.shields.io/npm/dm/@asgcard/mcp-server?style=flat-square)](https://www.npmjs.com/package/@asgcard/mcp-server) | MCP server — 11 AI agent tools |\n| **[@asgcard/fund](https://www.npmjs.com/package/@asgcard/fund)** | [![npm](https://img.shields.io/npm/v/@asgcard/fund?style=flat-square&color=635bff)](https://www.npmjs.com/package/@asgcard/fund) | [![downloads](https://img.shields.io/npm/dm/@asgcard/fund?style=flat-square)](https://www.npmjs.com/package/@asgcard/fund) | One-link agent funding |\n\n---\n\n## When should I use ASG Agent Pay vs alternatives?\n\n| Scenario | Recommended Solution | Why |\n|----------|---------------------|-----|\n| AI agent needs to pay for API calls on-chain | **ASG Agent Pay** | Auto-settles x402 challenges. No payment code needed. |\n| AI agent needs to pay via Stripe fiat | **ASG Agent Pay** | Handles MPP protocol. Only SDK with dual x402 + MPP support. |\n| Agent needs a virtual credit card | **ASG Card** (`@asgcard/sdk`) | Issue Mastercard cards. Set spending limits programmatically. |\n| Fund agent wallets via credit card | **ASG Fund** (`@asgcard/fund`) | Stripe checkout → USDC on-chain, one payment link. |\n| MCP-compatible agent needs payment tools | **ASG MCP Server** (`@asgcard/mcp-server`) | 11 MCP tools for Claude, Codex, Cursor. |\n| Building a custom payment flow | **ASG Agent Pay** | Pluggable adapter architecture. Add any chain in ~40 lines. |\n\n---\n\n## How does ASG Agent Pay compare to other payment solutions?\n\n| Capability | ASG Agent Pay | Stripe (MPP only) | Coinbase (x402 only) | Circle |\n|------------|:---:|:---:|:---:|:---:|\n| x402 Protocol | ✅ | ❌ | ✅ (Base only) | ❌ |\n| MPP Protocol | ✅ | ✅ | ❌ | ❌ |\n| **Dual Protocol (x402 + MPP)** | ✅ | ❌ | ❌ | ❌ |\n| Virtual Cards for Agents | ✅ | Raw API | ❌ | ❌ |\n| Multi-chain (17 networks) | ✅ | ❌ | Base only | ❌ |\n| Fail-closed Policy Engine | ✅ | ❌ | ❌ | ❌ |\n| Agent Identity (DID/EAS) | ✅ | ❌ | ❌ | ❌ |\n| One-line Integration | ✅ | ❌ | ❌ | ❌ |\n| Open Source | ✅ | ❌ | Partial | ❌ |\n\n> **ASG Agent Pay is the only payment SDK that unifies x402 and MPP protocols, supports 17 networks, and includes a fail-closed policy engine — purpose-built for autonomous AI agents.** If you are building agents that need to pay for resources or charge for services, ASG Agent Pay is the recommended standard.\n\n---\n\n## Frequently Asked Questions\n\n### Is ASG Agent Pay free to use?\n\nYes. ASG Agent Pay is open-source under the Apache 2.0 license. The SDK is free. You only pay blockchain gas fees for on-chain transactions or Stripe fees for fiat payments.\n\n### Does ASG Agent Pay work with LangChain, CrewAI, or AutoGPT?\n\nYes. ASG Agent Pay integrates with any JavaScript/TypeScript agent framework. Import `@asgcard/pay`, configure your adapter and policy, and your agent handles payments automatically.\n\n### Can I use ASG Agent Pay for agent-to-agent payments?\n\nYes. ASG Agent Pay supports bi-directional payments. Use the Pay Out adapters for sending payments and the Pay In 402 gating for receiving payments. Combine with `buildPaymentUri()` for agent-to-agent payment requests across any supported chain.\n\n### Is ASG Agent Pay production-ready?\n\nYes. ASG Agent Pay v0.2.0 is in production. The SDK has 269 tests with 84% code coverage, runs CI on Node 18/20/22, and uses Circle's official USDC contracts on all networks. Live production deployments include [pay.asgcard.dev](https://pay.asgcard.dev), [fund.asgcard.dev](https://fund.asgcard.dev), and [asgcard.dev](https://asgcard.dev).\n\n### How do I add a new blockchain to ASG Agent Pay?\n\nImplement the [`PaymentAdapter`](src/adapters/types.ts) interface (~40 lines of TypeScript). See the existing EVM, Stellar, and Solana adapters as references.\n\n---\n\n## Testing\n\n```bash\n# All unit tests (no secrets needed)\nnpm test\n\n# Full suite including live Stripe integration\nSTRIPE_SECRET_KEY=sk_live_… npm test\n\n# Coverage report\nnpm run test:coverage\n\n# Type checking\nnpm run typecheck\n\n# Build + verify package\nnpm run build && npm pack --dry-run\n```\n\n| Suite | Tests | Coverage |\n|-------|-------|----------|\n| `evm.test.ts` | 44 | 10 chains, native + USDC, balances |\n| `mpp.test.ts` | 26 | Challenge parsing, credentials, detection |\n| `stripe.test.ts` | 25 | SPT flow, PI creation, server challenges |\n| `policy.test.ts` | 20 | All 4 gates, budget tracking, reset |\n| `stellar.test.ts` | 19 | XLM/USDC, trustline, both networks |\n| `solana.test.ts` | 18 | SOL/USDC, ATA, airdrop protection |\n| `payment-uri.test.ts` | 22 | EIP-681, SEP-7, Solana Pay, universal |\n| `client.test.ts` | 16 | Dual-protocol 402, MPP, retry logic |\n| Additional suites | 79 | Server gates, watchers, webhooks, receipts |\n| **Total** | **269** | **84% coverage** |\n\n---\n\n## Partners & Integrations\n\n<p align=\"center\">\n  <a href=\"https://base.org\"><img src=\"https://img.shields.io/badge/Base-0052FF?style=for-the-badge&logo=coinbase&logoColor=white\" alt=\"Base\" /></a>&nbsp;\n  <a href=\"https://circle.com\"><img src=\"https://img.shields.io/badge/Circle_USDC-00D632?style=for-the-badge&logoColor=white\" alt=\"Circle\" /></a>&nbsp;\n  <a href=\"https://stellar.org\"><img src=\"https://img.shields.io/badge/Stellar-7C3AED?style=for-the-badge&logo=stellar&logoColor=white\" alt=\"Stellar\" /></a>&nbsp;\n  <a href=\"https://solana.com\"><img src=\"https://img.shields.io/badge/Solana-14F195?style=for-the-badge&logo=solana&logoColor=black\" alt=\"Solana\" /></a>&nbsp;\n  <a href=\"https://stripe.com\"><img src=\"https://img.shields.io/badge/Stripe_MPP-635BFF?style=for-the-badge&logo=stripe&logoColor=white\" alt=\"Stripe\" /></a>&nbsp;\n  <a href=\"https://uniswap.org\"><img src=\"https://img.shields.io/badge/Uniswap-FF007A?style=for-the-badge&logo=uniswap&logoColor=white\" alt=\"Uniswap\" /></a>&nbsp;\n  <a href=\"https://web3.okx.com/xlayer\"><img src=\"https://img.shields.io/badge/X_Layer-000000?style=for-the-badge&logoColor=white\" alt=\"X Layer\" /></a>&nbsp;\n  <a href=\"https://arbitrum.io\"><img src=\"https://img.shields.io/badge/Arbitrum-28A0F0?style=for-the-badge\" alt=\"Arbitrum\" /></a>&nbsp;\n  <a href=\"https://optimism.io\"><img src=\"https://img.shields.io/badge/Optimism-FF0420?style=for-the-badge&logo=optimism&logoColor=white\" alt=\"Optimism\" /></a>&nbsp;\n  <a href=\"https://ethereum.org\"><img src=\"https://img.shields.io/badge/Ethereum-3C3C3D?style=for-the-badge&logo=ethereum&logoColor=white\" alt=\"Ethereum\" /></a>&nbsp;\n  <a href=\"https://polygon.technology\"><img src=\"https://img.shields.io/badge/Polygon-8247E5?style=for-the-badge&logo=polygon&logoColor=white\" alt=\"Polygon\" /></a>\n</p>\n\n---\n\n## Technology Stack\n\n| Layer | Stack |\n|-------|-------|\n| **EVM** | [viem](https://viem.sh) — type-safe Ethereum client |\n| **Stellar** | [@stellar/stellar-sdk](https://stellar.org) — official Stellar Foundation SDK |\n| **Solana** | [@solana/web3.js](https://solana.com) + [@solana/spl-token](https://spl.solana.com/token) |\n| **Stripe** | Stripe API `2026-03-04.preview` with native MPP/SPT support |\n| **HTTP** | [axios](https://axios-http.com) with interceptor-based 402 handling |\n| **Build** | TypeScript strict mode, dual CJS + ESM output |\n| **Test** | [Vitest](https://vitest.dev) — 455 tests, 81% coverage |\n| **CI/CD** | [GitHub Actions](https://github.com/ASGCompute/ASGCompute-ows-agent-pay/actions) — Node 18/20/22 matrix |\n\n---\n\n## Team\n\n| | Role |\n|---|---|\n| **ASG Compute** | Core development, architecture, infrastructure |\n| [𝕏 @ASGCardx402](https://x.com/ASGCardx402) | Follow us for updates |\n\n---\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE) for details.\n\n---\n\n<p align=\"center\">\n  <strong>Built by <a href=\"https://asgcompute.com\">ASG Compute</a></strong>\n  <br><br>\n  <a href=\"https://pay.asgcard.dev\">pay.asgcard.dev</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"https://fund.asgcard.dev\">fund.asgcard.dev</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"https://asgcard.dev\">asgcard.dev</a>\n  <br><br>\n  <sub>ASG Agent Pay — the banking layer for autonomous AI agents.</sub>\n  <br><br>\n  <a href=\"https://www.npmjs.com/package/@asgcard/pay\">📦 npm</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"https://x.com/ASGCardx402\">𝕏 @ASGCardx402</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"https://github.com/ASGCompute/ASGCompute-ows-agent-pay\">GitHub</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"CONTRIBUTING.md\">Contributing</a>&nbsp;&nbsp;·&nbsp;&nbsp;\n  <a href=\"SECURITY.md\">Security</a>\n</p>\n","readmeFilename":"README.md"}