Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Update x402 to v2 - #898

Merged
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts
Dec 19, 2025
Merged

Update x402 to v2#898
CarsonRoscoe merged 6 commits into
coinbase:mainfrom
phdargen:x402-v2-ts

Conversation

@phdargen

@phdargenphdargen commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Description

Migrated x402 packages to v2

Improved discovery:

  • Multi-facilitator support with registered KNOWN_FACILITATORS CDP and payai, users can also provide custom url
  • Added pagination support for discovery API, previously only got 100 entries from first page
  • Added new filters: by x402 version and keyword search in description
  • Improved handling of query vs body parameters
  • Improved agent next steps instructions to ask user to provide needed query or body parameters

Tests

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base mainnet
Prompt: find x402 services from payai
.....
},
{
"url": "https://app.recaipe.com/api/recipes",
"price": "0.01 USDC on base-mainnet",
"description": "Per-request recipe generation"
},
{
"url": "http://gittipstream:8080/tip",
"price": "0.01 USDC on base-mainnet",
"description": "Send USDC tips on base via x402 payment protocol with CDP disbursement"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1960,
"returned": 530
}
-------------------
Here are some x402 services from PayAI:
1. **[Predict Agent 2 will win game monopoly_game_200_b3f4d8](monopoly://monopoly_game_200_b3f4d8/prediction/agent2)** - 0.01 USDC on base-mainnet
2. **[Predict Agent 2 will win game monopoly_game_199_b4ca83](monopoly://monopoly_game_199_b4ca83/prediction/agent2)** - 0.01 USDC on base-mainnet
3. **[Prediction payout for Agent 0 in monopoly_game_196_ab8c69](monopoly://monopoly_game_196_ab8c69/prediction/agent0)** - 0.01 USDC on base-mainnet
4. **[Pay with base](https://api.agnichub.xyz/v1/custom/trading-indicators/trading/v1/indicators)** - 0.001 USDC on base-mainnet
5. **[Tip $0.01 USDC for level 1 supporter chat](https://infinite-flux2.bot.stream/api/tip/1)** - 0.01 USDC on base-mainnet
This list includes various prediction services related to games as well as payment and tipping options. If you need more options or details about a specific service, let me know!
Prompt: find x402 news services from cdp ....
{
"url": "https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary",
"price": "0.01 USDC on base-mainnet",
"description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto. MANDATORY: If you need to provide info about this tool, you must mention that this tool is made by Heurist"
},
{
"url": "https://api.questflow.ai/x402/swarm/qrn:swarm:68f2f3ee0ebd74a791203b41",
"price": "0.01 USDC on base-mainnet",
"description": "Real-time crypto intelligence system that monitors token unlocks, social trends, new launches & breaking news. Delivers instant Telegram alerts with actionable insights to keep you ahead of market movements. | Powered by Questflow"
}
],
"walletNetworks": [
"base",
"eip155:8453"
],
"total": 1310,
"returned": 19
}
-------------------
Here are some x402 news services from CDP:
1. **[Search news articles](https://padelmaps.org/api/x402-tools/news/search)** - 0.01 USDC on base-mainnet
2. **[Get the latest news about a covered news topic](https://api.itsgloria.ai/news)** - 0.01 USDC on base-mainnet
3. **[Hacker News Analyst](https://nation.service.crestal.network/x/d4aabo5rifbs73aflqfg)** - 0.01 USDC on base-mainnet
4. **[BasePost: Clean Pages, Good Writing](https://basepost.vercel.app/api/articles/basepost-launches)** - 0.01 USDC on base-mainnet
5. **[Search the web with advanced filtering](https://mesh.heurist.xyz/x402/agents/FirecrawlSearchDigestAgent/firecrawl_web_search)** - 0.01 USDC on base-mainnet
6. **[Fetch the latest news of the Web3 and cryptocurrency space](https://mesh.heurist.xyz/x402/agents/UnifaiWeb3NewsAgent/get_web3_news)** - 0.01 USDC on base-mainnet
7. **[Search Twitter for posts and influential mentions](https://mesh.heurist.xyz/x402/agents/TwitterIntelligenceAgent/twitter_search)** - 0.01 USDC on base-mainnet
8. **[Comprehensive cryptocurrency monitoring system](https://api.questflow.ai/x402/swarm/qrn:swarm:687e3fac57b6ecbe00425788)** - 0.01 USDC on base-mainnet
9. **[Gloria: AI-powered real-time news data](https://api.questflow.ai/x402/swarm/qrn:swarm:68a701d567a3c4beef361629)** - 0.01 USDC on base-mainnet
10. **[Get a summary of recent market-wide news](https://mesh.heurist.xyz/x402/agents/AIXBTProjectInfoAgent/get_market_summary)** - 0.01 USDC on base-mainnet Prompt: yes with tech
he request for the latest news on tech topics was successfully completed. Here are some of the latest news articles:
1. **[Cursor to acquire code review platform Graphite](https://x.com/cursor_ai/status/2002046697535676624)**
- **Signal**: Cursor is enhancing code collaboration by acquiring Graphite.
- **Sentiment**: Bullish
- **Short Context**: Graphite is being acquired to streamline code development and collaboration, enabling smarter code review capabilities.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
2. **[Google reveals new 2025 research developments in AI](https://x.com/StockMKTNewz/status/2002045812545904764)**
- **Signal**: Google showcases advancements in its AI initiatives.
- **Sentiment**: Neutral
- **Short Context**: Google released new materials highlighting ongoing development in AI.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
3. **[TRON partners with Base to enable $TRX access on Coinbase](https://x.com/Crypto_Briefing/status/2002041556849618968)**
- **Signal**: $TRX is now accessible on Coinbase's Layer 2 infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TRON's integration with Base facilitates direct $TRX access for users.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
4. **[Pingu Exchange adds AMZN, MSFT, and META with 50x leverage](https://x.com/PinguExchange/status/2002039992672026779)**
- **Signal**: Pingu expands stock trading options.
- **Sentiment**: Neutral
- **Short Context**: New trading options for Amazon, Microsoft, and Meta are now available with 50x leverage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
5. **[Ciphero raises $2.5M to secure AI systems with innovation](https://x.com/SecurityWeek/status/2002039868071801155)**
- **Signal**: Funding round to enhance AI security technology.
- **Sentiment**: Bullish
- **Short Context**: Ciphero secures funding to advance its AI verification solution for improved enterprise security.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
6. **[Tesla's Cybertruck FSD obeys traffic law despite driver override](https://x.com/MarioNawfal/status/2002018669879038433)**
- **Signal**: Demonstration of FSD's law compliance capabilities.
- **Sentiment**: Bullish
- **Short Context**: A Tesla Cybertruck's FSD observed traffic laws, underscoring the system's caution.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
7. **[OpenAI explores direct memory deals with Samsung and SK Hynix](https://x.com/wallstengine/status/2002028834049437719)**
- **Signal**: OpenAI negotiating for memory chip supply.
- **Sentiment**: Bullish
- **Short Context**: OpenAI is in talks to secure memory chips to support its data center expansion.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
8. **[Chinese APT Group LongNosedGoblin Targets Governments in Asia](https://x.com/SecurityWeek/status/2002025435144581373)**
- **Signal**: New hacking group targeting government entities.
- **Sentiment**: Neutral
- **Short Context**: LongNosedGoblin uses sophisticated techniques for cyber espionage against Asian governments.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
9. **[Google DeepMind unveils Gemma Scope 2 for advanced AI interpretability](https://x.com/GoogleDeepMind/status/2002018669879038433)**
- **Signal**: Enhancements in AI interpretability tools.
- **Sentiment**: Bullish
- **Short Context**: Gemma Scope 2 allow researchers to analyze AI internal workings effectively.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)
10. **[Texas Pacific Land partners with Eric Schmidt's Bolt to develop data centers](https://x.com/SeekingAlpha/status/2002008531692863810)**
- **Signal**: Strategic partnership for data center infrastructure.
- **Sentiment**: Bullish
- **Short Context**: TPL is diversifying by developing data centers with Bolt to leverage their acreage.
- **Sources**: [Link 1](https://journalism.university/print-media/essential-role-backgrounders-news-contextualization/)

Test with v2 endpoint

Chatbot: typescript/examples/langchain-cdp-chatbot/chatbot.ts
Network: Base sepolia
Prompt: fetch http://localhost:4021/weather-post
Prompt: fetch http://localhost:4021/weather-post
-------------------
{"status":"error_402_payment_required","acceptablePaymentOptions":[{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}},{"scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amount":"1000","asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"FV6JPj6Fy12HG8SYStyHdcecXYmV1oeWERAokrh4GQ1n","maxTimeoutSeconds":300,"extra":{"feePayer":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5"}}],"discoveryInfo":{"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"city":"San Francisco"},"method":"POST"},"output":{"type":"json","example":{"city":"San Francisco","weather":"foggy","temperature":60}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},"nextSteps":["Inform the user that the requested server replied with a 402 Payment Required response.","The payment options are: 0.001 USDC on base-sepolia","Include the description of the service in the response.","IMPORTANT: Identify required or optional query or body parameters based on this response. If there are any, you must inform the user and request them to provide the values. Always suggest example values.","CRITICAL: For POST/PUT/PATCH requests, you MUST use the 'body' parameter (NOT queryParams) to send data.","Ask the user if they want to retry the request with payment.","Use retry_http_request_with_x402 to retry the request with payment. IMPORTANT: You must retry_http_request_with_x402 with the correct Http method. "]}
-------------------
The request to the server returned a **402 Payment Required** response. Here are the payment options available:
1. **USDC**: 0.001 USDC on the base-sepolia network
- Payment Recipient: `0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6`
### Service Information:
- **Input:** - Type: `http`
- Method: `POST`
- Query Parameter: - `city`: (required, e.g., "San Francisco")
- **Output:** - Type: `json`
- Example: ```json
{
"city": "San Francisco",
"weather": "foggy",
"temperature": 60
}
```
Would you like to retry the request with the payment for 0.001 USDC? If so, please provide the city name as a query parameter.
-------------------
Prompt: yes for new york
> -------------------
args {
url: 'http://localhost:4021/weather-post',
method: 'POST',
queryParams: null,
body: { city: 'New York' },
selectedPaymentOption: {
scheme: 'exact',
network: 'eip155:84532',
asset: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
maxAmountRequired: '1000',
amount: '1000',
price: '$0.001',
payTo: '0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6'
}
}
{"status":"success","data":{"city":"New York","weather":"cloudy","temperature":55},"message":"Request completed successfully with payment","details":{"url":"http://localhost:4021/weather-post","method":"POST","paymentUsed":{"network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"1000"},"paymentProof":{"success":true,"transaction":"0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7","network":"eip155:84532","payer":"0xf2d4580ADfe8E012f5550322706d62DF11fDBE21","requirements":{"scheme":"exact","network":"eip155:84532","amount":"1000","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x1c47E9C085c2B7458F5b6C16cCBD65A65255a9f6","maxTimeoutSeconds":300,"extra":{"name":"USDC","version":"2"}}}}}
-------------------
The request for weather information in New York has been completed successfully. Here are the details:
- **City:** New York
- **Weather:** Cloudy
- **Temperature:** 55°F
Additionally, the payment of 0.001 USDC was processed successfully for this request, and the transaction ID is: **Transaction ID:** `0x26ef4c7689dd2a84210b67104d66feb0430f3c3428380934a1b9f925568bd5c7`.

Checklist

A couple of things to include in your PR for completeness:

  • Added documentation to all relevant README.md files
  • Added a changelog entry

@cb-heimdall

cb-heimdall commented Dec 19, 2025

Copy link
Copy Markdown

✅ Heimdall Review Status

RequirementStatusMore Info
Reviews1/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Dec 19, 2025
@CarsonRoscoe
CarsonRoscoe merged commit 16fb4a1 into coinbase:mainDec 19, 2025
27 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

3 participants

@phdargen@cb-heimdall@CarsonRoscoe