Repository navigation
Conversation
Algiras
marked this pull request as ready for review
November 7, 2026 11:53
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds an
agentumaction provider (typescript/agentkit/src/action-providers/agentum/) with seven actions for counterparty checks an agent needs before it pays or onboards someone:resolve_entityverify_eu_vatscreen_sanctionscheck_vendorverify_bank_payeebatch_resolvescreen_addressWhy it fits AgentKit: the service is paid per call with x402 (USDC on Base, exact scheme, EIP-3009), signed by the agent's own AgentKit wallet. No API key or account is needed, and the first 5 calls per day per caller IP are free. It follows the same wallet-signs-x402 pattern as the existing
x402provider, but with a fixed, known endpoint instead of arbitrary URLs.Design choices a reviewer may want to check:
@x402/fetch,@x402/evm(registerExactEvmScheme),zodandviem(tests only), which@coinbase/agentkitalready depends on.PaymentRequirementsanddecodePaymentResponseHeaderare imported from@x402/fetch, which re-exports them.maxPriceUsd(default 0.03) is enforced in anonBeforePaymentCreationhook, so a server asking for more than the cap is refused before anything is signed. Covered by a test.baseUrl(defaulthttps://agentum.asimplek.cloud) is contacted.supportsNetworkisbase-mainnetonly, because that is where the server settles.Error calling Agentum <action>: ...), consistent with other providers.screen_addressis an exact match against the official OFAC list, not behavioural or cluster risk, andUNKNOWNis notCLEAR; some companies in some countries are not resolved.Disclosure: I operate the Agentum service, and this PR was prepared with Claude Code (AI assistance). Source of the same provider as a standalone package: https://github.com/Algiras/agentum-skills/tree/main/packages/agentum-agentkit (npm
agentum-agentkit). Service docs: https://agentum.asimplek.cloud/llms.txt and https://agentum.asimplek.cloud/openapi.json.Also touched:
typescript/agentkit/README.md(provider table, alphabetical, as requested in earlier provider reviews),src/action-providers/index.ts(export), and a changeset.Tests
Automated, run from a clean clone of
main@ f2f3e8c withpnpm install --frozen-lockfile:The new tests use the real
x402ClientandwrapFetchWithPaymentwith a mockedfetch: they feed a real x402 v2PAYMENT-REQUIRED402 response, check that an EIP-3009 authorization signed by the wallet's signer is sent inPAYMENT-SIGNATUREfor the exact amount, that thePAYMENT-RESPONSEreceipt is attached, and that a price abovemaxPriceUsdaborts before signing.Not run end to end with an LLM chatbot: I did not have an LLM key and CDP keys wired up for
typescript/examples/langchain-cdp-chatbotwhen opening this, so there is no chatbot transcript. A reviewer can reproduce it without funds: addagentumActionProvider()to the example'sactionProvidersand ask it to "screen the wallet address 0x... against OFAC sanctions" or "check vendor Siemens AG in Germany, VAT DE129274202". The first 5 calls per day per caller IP are free, so no USDC is needed. I will add a real transcript to this PR when I have one.Checklist
A couple of things to include in your PR for completeness: