Skip to content

Conversation

marianowadinoves
Copy link

Noves Action Provider

Description

This PR adds a new Noves action provider for AgentKit that enables users to interact with Noves Intents to retrieve data featuring: human-readable transaction descriptions, current/historical token prices, and recent transactions.

Tests / Example

Showcase using Vercel/ai chatbot.
action-provider-ai-chat.webm

Checklist

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

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

@cb-heimdall
Copy link

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@github-actions github-actions bot added documentation Improvements or additions to documentation action provider New action provider typescript labels Jun 17, 2025
@phdargen
Copy link
Contributor

phdargen commented Aug 9, 2025

Hi @marianowadinoves, thanks for your contribution! Could you please rebase against main, then I will do some testing. A few initial comments below

@phdargen
Copy link
Contributor

phdargen commented Aug 9, 2025

It would be great if you could include the result of some manual end-to-end testing in the PR description including prompt + reply

@@ -0,0 +1,5 @@
---
"@coinbase/agentkit": minor
Copy link
Contributor

Choose a reason for hiding this comment

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

minor -> patch

"@coinbase/cdp-sdk": "^1.3.0",
"@coinbase/coinbase-sdk": "^0.20.0",
"@jup-ag/api": "^6.0.39",
"@noves/intent-ethers-provider": "^0.1.3",
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a particular reason why this doesn't use noves-sdk instead? ethers dependency appears unnecessary here


## Adding New Actions

To add new Alchemy actions:
Copy link
Contributor

Choose a reason for hiding this comment

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

Alchemy -> Noves

*/
constructor() {
super("noves", []);
this.intentProvider = new IntentProvider();
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this not require an API key?

})
async getTranslatedTransaction(args: z.infer<typeof NovesTranslatedTxSchema>): Promise<string> {
try {
const tx = await this.intentProvider.getTranslatedTx(args.chain, args.tx);
Copy link
Contributor

Choose a reason for hiding this comment

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

I think would be better to default to the walletProvider.getNetwork here. Might need a untility function to convert CDP network format to Noves format, eg base-mainnet -> base

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action provider New action provider documentation Improvements or additions to documentation typescript

Development

Successfully merging this pull request may close these issues.

3 participants