Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

@phdargen@cb-heimdall@CarsonRoscoe@Jeddyvgf
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
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;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} 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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

@phdargen@cb-heimdall@CarsonRoscoe@Jeddyvgf
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } 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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

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

Add paymaster to CdpSmartWallet - #814

Merged
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster
Aug 6, 2025
Merged

Add paymaster to CdpSmartWallet#814
CarsonRoscoe merged 2 commits into
coinbase:mainfrom
phdargen:paymaster

Conversation

@phdargen

Copy link
Copy Markdown
Contributor

Description

Adds optional paymaster config to CdpSmartWalletProvider and corresponding chatbot and next template

Tests

Chatbot: typescript/examples/langchain-smart-wallet-chatbot/chatbot.ts
Network: Base mainnet
Setup: Funded with 0.05 USDC, no ETH
Prompt: wallet info
-------------------
Wallet Details:
- Provider: cdp_smart_wallet_provider
- Address: 0x5b246593DfCD2f462490E49A16FF4Df106640b02
- Network:
* Protocol Family: evm
* Network ID: base-mainnet
* Chain ID: 8453
- Native Balance: 0 WEI
-------------------
You are currently connected to the Base Mainnet with the wallet address **0x5b246593DfCD2f462490E49A16FF4Df106640b02**. Your native balance is 0 WEI. If you need any funds, please let me know!
-------------------
Prompt: check usdc 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 balance
-------------------
Balance of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is 0.05
-------------------
The balance of USDC (contract address **0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913**) in your wallet is **0.05 USDC**. If you need further assistance, let me know!
-------------------
Prompt: send 0.01 usdc to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21 -------------------
Error transferring the asset: SyntaxError: Cannot convert 0.01 to a BigInt
-------------------
It seems there was an issue with the amount format for the transfer. The amount needs to be specified in the smallest unit for USDC. Since 1 USDC = 10^6 units, I'll convert 0.01 USDC to the smallest unit, which is 10000.
I'll proceed to send 10000 USDC units (0.01 USDC) to the specified address. -------------------
Transferred 10000 of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 to 0xf2d4580ADfe8E012f5550322706d62DF11fDBE21.
Transaction hash for the transfer: 0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8
-------------------
I have successfully transferred **0.01 USDC** (10000 units) to the address **0xf2d4580ADfe8E012f5550322706d62DF11fDBE21**. The transaction hash for this transfer is: **0xf1d03399fb89fe126885daaac889e752b2f9aee24f2ec4074f5357be4062f2c8**.

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 Aug 4, 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 wallet provider New wallet provider example New example agent typescript labels Aug 4, 2025

@CarsonRoscoeCarsonRoscoe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, ty for the contribution!

@CarsonRoscoe
CarsonRoscoe merged commit 3211ad0 into coinbase:mainAug 6, 2025
26 checks passed
@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:47:40 UTC
User must have write permissions to review

@cb-heimdall

Copy link
Copy Markdown

Review Error for Jeddyvgf @ 2025-09-22 01:55:53 UTC
User must have write permissions to review

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 documentationexampleNew example agenttypescriptwallet providerNew wallet provider

Development

Successfully merging this pull request may close these issues.

4 participants

@phdargen@cb-heimdall@CarsonRoscoe@Jeddyvgf