{"id":38565997,"url":"https://github.com/t402-io/t402","last_synced_at":"2026-02-23T08:25:03.726Z","repository":{"id":332903174,"uuid":"1130868735","full_name":"t402-io/t402","owner":"t402-io","description":"t402 Payment Protocol - The Official Payment Protocol for USDT","archived":false,"fork":false,"pushed_at":"2026-02-05T17:00:48.000Z","size":147796,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-05T20:53:56.728Z","etag":null,"topics":["erc-4337","ethereum","gasless","http-402","payments","solana","stablecoin","ton","tron","usdt"],"latest_commit_sha":null,"homepage":"https://docs.t402.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t402-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-09T06:07:50.000Z","updated_at":"2026-02-05T17:01:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/t402-io/t402","commit_stats":null,"previous_names":["t402-io/t402"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/t402-io/t402","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t402-io%2Ft402","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t402-io%2Ft402/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t402-io%2Ft402/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t402-io%2Ft402/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t402-io","download_url":"https://codeload.github.com/t402-io/t402/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t402-io%2Ft402/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29167890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T15:38:29.831Z","status":"ssl_error","status_checked_at":"2026-02-06T15:37:48.592Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erc-4337","ethereum","gasless","http-402","payments","solana","stablecoin","ton","tron","usdt"],"created_at":"2026-01-17T07:54:21.831Z","updated_at":"2026-02-23T08:25:03.717Z","avatar_url":"https://github.com/t402-io.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# t402\n\n[![npm](https://img.shields.io/npm/v/@t402/core?label=npm%20%40t402%2Fcore)](https://www.npmjs.com/package/@t402/core)\n[![PyPI](https://img.shields.io/pypi/v/t402?label=pypi%20t402)](https://pypi.org/project/t402/)\n[![Go](https://img.shields.io/github/v/tag/t402-io/t402?filter=go%2F*\u0026label=go)](https://pkg.go.dev/github.com/t402-io/t402/sdks/go)\n[![Maven Central](https://img.shields.io/maven-central/v/io.t402/t402?label=maven%20central)](https://central.sonatype.com/artifact/io.t402/t402)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![Whitepaper](https://img.shields.io/badge/whitepaper-PDF-orange.svg)](https://t402.io/t402-whitepaper.pdf)\n\nt402 is an open standard for internet native payments. It aims to support all networks (both crypto \u0026 fiat) and forms of value (stablecoins, tokens, fiat).\n\n```typescript\napp.use(\n  paymentMiddleware(\n    {\n      \"GET /weather\": {\n        accepts: [...],                 // As many networks / schemes as you want to support\n        description: \"Weather data\",    // what your endpoint does\n      },\n    },\n  ),\n);\n// That's it! See examples/ for full details\n```\n\n## Package Architecture\n\n```\n@t402/core              Core types, client, server, facilitator abstractions\n@t402/extensions        Bazaar, Sign-In-With-X extensions\n\nMechanisms (Chain-specific payment implementations):\n@t402/evm               EIP-3009, ERC-4337, USDT0 bridge for EVM chains (19 networks)\n@t402/evm-core          Shared EVM utilities\n@t402/svm               Solana SPL token support\n@t402/ton               TON Jetton (TEP-74) support\n@t402/tron              TRON TRC-20 support\n@t402/near              NEAR NEP-141 token support\n@t402/aptos             Aptos Fungible Asset support\n@t402/tezos             Tezos FA2 token support\n@t402/polkadot          Polkadot Asset Hub support\n@t402/stacks            Stacks (Bitcoin L2) SIP-010 support\n@t402/cosmos            Cosmos (Noble) native USDT support\n@t402/erc8004           ERC-8004 Trustless Agents (identity, reputation)\n\nHTTP Integrations:\n@t402/express           Express.js middleware\n@t402/hono              Hono middleware\n@t402/fastify           Fastify middleware\n@t402/next              Next.js integration\n@t402/fetch             Fetch API wrapper\n@t402/axios             Axios interceptor\n@t402/paywall           Payment wall UI components\n@t402/react             React hooks and components\n@t402/vue               Vue composables and components\n\nWDK (Wallet Development Kit):\n@t402/wdk               Tether WDK integration\n@t402/wdk-gasless       ERC-4337 gasless payments\n@t402/wdk-bridge        LayerZero cross-chain bridging\n@t402/wdk-multisig      Safe multi-sig support\n@t402/wdk-ton           TON wallet management\n@t402/wdk-ton-gasless   Gasless TON transactions via relay\n@t402/wdk-tron-gasfree  Gas-free TRON USDT transfers\n@t402/wdk-defi          DeFi pre-payment processor (swap, borrow, bridge-swap)\n@t402/wdk-protocol      High-level T402Protocol (auto balance + bridge + pay)\n\nTransports:\n@t402/a2a               Agent-to-Agent transport\n\nMobile:\n@t402/react-native      React Native SDK with PaymentSheet\n\nMechanisms (Additional):\n@t402/btc               Bitcoin (PSBT on-chain + Lightning BOLT11)\n\nTools:\n@t402/mcp               AI Agent MCP server (Claude, etc.)\n@t402/cli               Command-line tools\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eInstallation\u003c/b\u003e\u003c/summary\u003e\n\n### TypeScript (v2.7.1)\n\n```shell\n# Core packages\npnpm add @t402/core @t402/evm\n\n# With specific framework\npnpm add @t402/express  # Express.js\npnpm add @t402/next     # Next.js\npnpm add @t402/hono     # Hono\n\n# Gasless payments\npnpm add @t402/wdk-gasless\n\n# MCP Server for AI Agents\npnpm add @t402/mcp\nnpx @t402/mcp  # Run directly\n\n# CLI tool\npnpm add -g @t402/cli\nt402 --help\n```\n\n### Python (v1.12.1)\n\n```shell\npip install t402\n\n# Or with uv\nuv add t402\n\n# CLI tool included\nt402 --help\n```\n\n### Go (v1.12.1)\n\n```shell\ngo get github.com/t402-io/t402/sdks/go@v1.12.1\n\n# CLI tool\ngo install github.com/t402-io/t402/sdks/go/cmd/t402@v1.12.1\nt402 --help\n```\n\n### Java (v1.12.1)\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.t402\u003c/groupId\u003e\n  \u003cartifactId\u003et402\u003c/artifactId\u003e\n  \u003cversion\u003e1.12.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nOr with Gradle:\n\n```groovy\nimplementation 'io.t402:t402:1.12.1'\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eSupported Networks\u003c/b\u003e\u003c/summary\u003e\n\n### EVM (Ethereum Virtual Machine) - 19 USDT0 Networks\n- Ethereum (`eip155:1`), Arbitrum (`eip155:42161`), Optimism (`eip155:10`)\n- Base (`eip155:8453`), Polygon (`eip155:137`), Ink (`eip155:57073`)\n- Berachain (`eip155:80094`), Unichain (`eip155:130`), Mantle (`eip155:5000`)\n- Sei (`eip155:1329`), Conflux (`eip155:1030`), Monad (`eip155:143`)\n- Flare (`eip155:14`), Rootstock (`eip155:30`), XLayer (`eip155:196`)\n- Plasma (`eip155:9745`), HyperEVM (`eip155:999`), MegaETH (`eip155:4326`)\n- Corn (`eip155:21000000`)\n- Legacy USDT: BNB Chain, Avalanche, Fantom, Celo, Kaia\n\n### ERC-4337 Account Abstraction\n- **Gasless Transactions**: Users pay zero gas fees via paymaster sponsorship\n- **Smart Accounts**: Safe 4337 Module v0.3.0 integration\n- **Bundlers**: Pimlico, Alchemy, and generic bundler support\n- **Paymasters**: Pimlico, Biconomy, Stackup integrations\n- **EntryPoint v0.7**: Full support for latest ERC-4337 specification\n\n### SVM (Solana Virtual Machine)\n- Solana Mainnet (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`)\n- Solana Devnet (`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`)\n- Supports USDC and native SOL\n\n### TON (The Open Network)\n- TON Mainnet (`ton:mainnet`)\n- TON Testnet (`ton:testnet`)\n- Supports USDT Jetton (TEP-74 standard)\n\n### TRON\n- TRON Mainnet (`tron:mainnet`)\n- TRON Nile Testnet (`tron:nile`)\n- TRON Shasta Testnet (`tron:shasta`)\n- Supports USDT TRC-20 (TIP-20 standard)\n\n### NEAR Protocol\n- NEAR Mainnet (`near:mainnet`)\n- NEAR Testnet (`near:testnet`)\n- Supports USDT NEP-141 token\n\n### Aptos\n- Aptos Mainnet (`aptos:1`)\n- Aptos Testnet (`aptos:2`)\n- Supports USDT Fungible Asset\n\n### Tezos\n- Tezos Mainnet (`tezos:NetXdQprcVkpaWU`)\n- Tezos Ghostnet (`tezos:NetXnHfVqm9iesp`)\n- Supports USDt FA2 token\n\n### Polkadot\n- Polkadot Asset Hub (`polkadot:68d56f15f85d3136970ec16946040bc1`)\n- Westend Asset Hub (testnet)\n- Supports USDT (Asset ID: 1984)\n\n### Stacks (Bitcoin L2)\n- Stacks Mainnet (`stacks:1`)\n- Stacks Testnet (`stacks:2147483648`)\n- Supports sBTC and SIP-010 tokens\n\n### Cosmos (Noble)\n- Noble Mainnet (`cosmos:noble-1`)\n- Noble Testnet (`cosmos:grand-1`)\n- Supports native USDC via MsgSend\n\n### USDT0 Cross-Chain Bridge (LayerZero)\n- **All 19 USDT0 networks** fully supported\n- **Message tracking** via LayerZero Scan API\n\n\u003c/details\u003e\n\n## CLI Tools\n\nAll SDKs include CLI tools for payment operations.\n\n```bash\n# Verify a payment payload\nt402 verify \u003cbase64-payload\u003e\n\n# Settle a payment\nt402 settle \u003cbase64-payload\u003e\n\n# List supported networks\nt402 supported\n\n# Encode/decode payloads\nt402 encode payment.json\nt402 decode \u003cbase64-string\u003e\n\n# Network information\nt402 info eip155:8453\n```\n\n**Available in**: TypeScript (`@t402/cli`), Python (`pip install t402`), Go (`go install .../cmd/t402`)\n\n## Principles\n\n- **Open standard:** the t402 protocol will never force reliance on a single party\n- **HTTP Native:** t402 is meant to seamlessly complement the existing HTTP request made by traditional web services\n- **Chain and token agnostic:** we welcome contributions that add support for new chains, signing standards, or schemes\n- **Trust minimizing:** all payment schemes must not allow for the facilitator or resource server to move funds, other than in accordance with client intentions\n- **Easy to use:** t402 needs to be 10x better than existing ways to pay on the internet\n\n## SDK Feature Matrix\n\n| Feature | TypeScript | Go | Python | Java |\n|---------|-----------|-----|--------|------|\n| Core Client | ✅ | ✅ | ✅ | ✅ |\n| Core Server | ✅ | ✅ | ✅ | ✅ |\n| Facilitator | ✅ | ✅ | ✅ | ✅ |\n| EVM (19 USDT0 networks) | ✅ | ✅ | ✅ | ✅ |\n| SVM (Solana) | ✅ | ✅ | ✅ | ✅ |\n| TON | ✅ | ✅ | ✅ | ✅ |\n| TRON | ✅ | ✅ | ✅ | ✅ |\n| NEAR | ✅ | ✅ | ✅ | ✅ |\n| Aptos | ✅ | ✅ | ✅ | ✅ |\n| Tezos | ✅ | ✅ | ✅ | ✅ |\n| Polkadot | ✅ | ✅ | ✅ | ✅ |\n| Stacks | ✅ | ✅ | ✅ | ✅ |\n| Cosmos | ✅ | ✅ | ✅ | ✅ |\n| ERC-4337 Gasless | ✅ | ✅ | ✅ | ✅ |\n| USDT0 Bridge | ✅ | ✅ | ✅ | ✅ |\n| WDK Integration | ✅ | ✅ | ✅ | ✅ |\n| MCP Server | ✅ | ✅ | ✅ | ✅ |\n| CLI Tool | ✅ | ✅ | ✅ | ✅ |\n\nLegend: ✅ Complete | ❌ Not Available\n\n**Total Supported Networks: 50** across 10 blockchain families (81 network+scheme kinds)\n\n## Latest Releases\n\n| SDK | Version | Release Date | Changelog |\n|-----|---------|--------------|-----------|\n| TypeScript | v2.7.1 | 2026-02-23 | [CHANGELOG](CHANGELOG.md) |\n| Go | v1.12.1 | 2026-02-23 | [CHANGELOG](sdks/go/CHANGELOG.md) |\n| Python | v1.12.1 | 2026-02-23 | [CHANGELOG](sdks/python/CHANGELOG.md) |\n| Java | v1.12.1 | 2026-02-23 | [CHANGELOG](sdks/java/CHANGELOG.md) |\n\n## Ecosystem\n\nThe t402 ecosystem is growing! Check out our [ecosystem page](https://t402.io/ecosystem) to see projects building with t402.\n\n- **Whitepaper:** [T402 Protocol Whitepaper](https://t402.io/t402-whitepaper.pdf) (PDF)\n- **Roadmap:** [ROADMAP.md](https://github.com/t402-io/t402/blob/main/ROADMAP.md)\n- **Documentation:** [docs.t402.io](https://docs.t402.io)\n\n## Terms\n\n- `resource`: Something on the internet (webpage, API, RPC service, etc.)\n- `client`: An entity wanting to pay for a resource\n- `facilitator`: A server that facilitates verification and execution of payments\n- `resource server`: An HTTP server that provides an API or resource for a client\n\n## Typical t402 Flow\n\n```mermaid\nsequenceDiagram\n    participant Client\n    participant Server as Resource Server\n    participant Facilitator\n    participant Blockchain\n\n    Client-\u003e\u003eServer: GET /api\n    Server-\u003e\u003eClient: 402 Payment Required\n    Note over Client: Create payment payload\n    Client-\u003e\u003eServer: GET /api + PAYMENT-SIGNATURE header\n    Server-\u003e\u003eFacilitator: POST /verify\n    Facilitator-\u003e\u003eServer: Verification result\n    Note over Server: Process request\n    Server-\u003e\u003eFacilitator: POST /settle\n    Facilitator-\u003e\u003eBlockchain: Submit transaction\n    Blockchain-\u003e\u003eFacilitator: Confirmed\n    Facilitator-\u003e\u003eServer: Settlement result\n    Server-\u003e\u003eClient: 200 OK + Content\n```\n\n1. `Client` makes an HTTP request to a `resource server`\n2. `Resource server` responds with `402 Payment Required` and `PAYMENT-REQUIRED` header\n3. `Client` creates a `PaymentPayload` based on selected `scheme` \u0026 `network`\n4. `Client` sends request with `PAYMENT-SIGNATURE` header\n5. `Resource server` verifies via facilitator's `/verify` endpoint\n6. `Facilitator` validates and returns verification response\n7. If valid, server fulfills request and settles payment via `/settle`\n8. `Resource server` returns `200 OK` with `PAYMENT-RESPONSE` header\n\n## Quick Start Examples\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eTypeScript Client\u003c/b\u003e\u003c/summary\u003e\n\n```typescript\nimport { t402Client, wrapFetchWithPayment } from \"@t402/fetch\";\nimport { registerExactEvmScheme } from \"@t402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst client = new t402Client();\n\nregisterExactEvmScheme(client, {\n  signer: privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`),\n});\n\nconst fetchWithPayment = wrapFetchWithPayment(fetch, client);\nconst response = await fetchWithPayment(\"https://api.example.com/data\");\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eTypeScript Server (Express)\u003c/b\u003e\u003c/summary\u003e\n\n```typescript\nimport express from \"express\";\nimport { paymentMiddleware, t402ResourceServer } from \"@t402/express\";\nimport { ExactEvmScheme } from \"@t402/evm/exact/server\";\n\nconst app = express();\n\napp.use(\n  paymentMiddleware(\n    {\n      \"GET /api/data\": {\n        accepts: [\n          { scheme: \"exact\", price: \"$0.01\", network: \"eip155:8453\", payTo: \"0x...\" },\n        ],\n        description: \"Premium API data\",\n      },\n    },\n    new t402ResourceServer(facilitatorClient)\n      .register(\"eip155:8453\", new ExactEvmScheme()),\n  ),\n);\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003ePython Server (Flask)\u003c/b\u003e\u003c/summary\u003e\n\n```python\nfrom flask import Flask\nfrom t402.flask import create_paywall\n\napp = Flask(__name__)\n\npaywall = create_paywall(\n    routes={\n        \"GET /api/data\": {\n            \"price\": \"$0.01\",\n            \"network\": \"eip155:8453\",\n            \"pay_to\": \"0x...\",\n            \"description\": \"Premium API data\",\n        },\n    },\n    facilitator_url=\"https://facilitator.t402.io\",\n)\napp.register_blueprint(paywall)\n\n@app.route(\"/api/data\")\ndef get_data():\n    return {\"data\": \"premium content\"}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eGo Server\u003c/b\u003e\u003c/summary\u003e\n\n```go\npackage main\n\nimport (\n    \"net/http\"\n    t402 \"github.com/t402-io/t402/sdks/go\"\n    t402http \"github.com/t402-io/t402/sdks/go/http\"\n)\n\nfunc main() {\n    server := t402.NewResourceServer(facilitatorClient)\n\n    mux := http.NewServeMux()\n    mux.Handle(\"/api/data\", t402http.PaymentMiddleware(\n        server,\n        t402http.RouteConfig{\n            Path: \"GET /api/data\",\n            Accepts: []t402.PaymentRequirement{\n                {Scheme: \"exact\", Price: \"$0.01\", Network: \"eip155:8453\", PayTo: \"0x...\"},\n            },\n        },\n        http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {\n            w.Write([]byte(`{\"data\": \"premium content\"}`))\n        }),\n    ))\n\n    http.ListenAndServe(\":8080\", mux)\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eERC-4337 Gasless Payments\u003c/b\u003e\u003c/summary\u003e\n\n```typescript\nimport { SafeSmartAccount, createBundlerClient, createPaymaster } from \"@t402/evm/erc4337\";\n\n// Create Safe smart account\nconst safeAccount = new SafeSmartAccount({\n  owner: privateKeyToAccount(ownerPrivateKey),\n  chainId: 8453,\n});\n\n// Connect bundler and paymaster\nconst bundler = createBundlerClient({ provider: \"pimlico\", apiKey, chainId: 8453 });\nconst paymaster = createPaymaster({ provider: \"pimlico\", apiKey, chainId: 8453 });\n\n// Build, sponsor, and submit UserOperation\nconst callData = safeAccount.encodeExecute(targetAddress, 0n, data);\nconst userOp = await bundler.buildUserOperation({ sender: smartAccountAddress, callData });\nconst paymasterData = await paymaster.sponsorUserOperation(userOp);\nconst hash = await bundler.sendUserOperation({ ...userOp, ...paymasterData, signature });\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eMCP Server for AI Agents\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Install and run\nnpx @t402/mcp\n\n# Claude Desktop config (~/.config/claude/claude_desktop_config.json)\n{\n  \"mcpServers\": {\n    \"t402\": {\n      \"command\": \"npx\",\n      \"args\": [\"@t402/mcp\"],\n      \"env\": { \"T402_DEMO_MODE\": \"true\" }\n    }\n  }\n}\n```\n\n**Available Tools:**\n- `t402/getBalance` - Check wallet balance\n- `t402/getAllBalances` - Check all chain balances\n- `t402/pay` - Execute payment\n- `t402/payGasless` - Gasless payment via ERC-4337\n- `t402/getBridgeFee` - Get bridge fee quote\n- `t402/bridge` - Bridge USDT0 between chains\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eUSDT0 Cross-Chain Bridge\u003c/b\u003e\u003c/summary\u003e\n\n```typescript\nimport { Usdt0Bridge, LayerZeroScanClient } from \"@t402/evm\";\n\nconst bridge = new Usdt0Bridge(signer, \"arbitrum\");\n\n// Get quote\nconst quote = await bridge.quote({\n  fromChain: \"arbitrum\",\n  toChain: \"ethereum\",\n  amount: 100_000000n,\n  recipient: \"0x...\",\n});\n\n// Execute bridge\nconst result = await bridge.send({ ...quote });\n\n// Track delivery\nconst scanClient = new LayerZeroScanClient();\nawait scanClient.waitForDelivery(result.messageGuid);\n```\n\n\u003c/details\u003e\n\n## Specification\n\nSee `specs/` for full documentation of the t402 standard.\n\n### Schemes\n\nA scheme is a logical way of moving money. Different schemes support different payment flows:\n- `exact` - Transfer a specific amount (e.g., pay $1 to read an article)\n- `upto` - Transfer up to an amount based on usage (e.g., LLM token generation)\n\nSee `specs/schemes/` for detailed scheme specifications.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\n## Security\n\nSee [SECURITY.md](SECURITY.md) for security policy and vulnerability reporting.\n\n## License\n\nApache 2.0 - See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft402-io%2Ft402","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft402-io%2Ft402","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft402-io%2Ft402/lists"}