# Blockchain-RPC in Coinbase-AgentKit-Agenten mit BlockVectra nutzen

> Source: https://docs.blockvectra.com/de/guides/coinbase-agentkit/

Coinbase AgentKit leitet seine Onchain-Aktionen über einen Wallet-Provider, und `ViemWalletProvider` akzeptiert jeden viem-`WalletClient`. Geben Sie diesem Client `https://api.blockvectra.com/v1/base_mainnet/public` als Transport, und der RPC-Verkehr von AgentKit läuft ohne API key über BlockVectra. Ein Key schaltet den Rest frei; der Free Plan bietet 30,000,000 CU pro 30-Tage-Fenster. Geprüft am 2026-10-11.

```typescript
import { AgentKit, ViemWalletProvider } from "@coinbase/agentkit";
import { getLangChainTools } from "@coinbase/agentkit-langchain";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";

const client = createWalletClient({
  account: privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`),
  chain: base,
  transport: http("https://api.blockvectra.com/v1/base_mainnet/public"),
});

const agentKit = await AgentKit.from({ walletProvider: new ViemWalletProvider(client) });
const tools = await getLangChainTools(agentKit);
```

Installieren Sie mit `npm install @coinbase/agentkit @coinbase/agentkit-langchain viem`. `tools` ist die Liste, die die [LangChain-Integration](https://github.com/coinbase/agentkit/blob/main/typescript/agentkit/README.md) von AgentKit an `createAgent({ model, tools })` übergibt; der Wallet-Key bleibt in Ihrer Umgebung.

## Einen API key verwenden

Der öffentliche Endpunkt bedient nur die Methoden in den `public.methods` der jeweiligen Chain. Für alle anderen senden Sie den Key im Header `x-api-key` und halten ihn in der Umgebung, damit er nie in der URL erscheint:

```typescript
const transport = http("https://api.blockvectra.com/v1/base_mainnet", {
  fetchOptions: { headers: { "x-api-key": process.env.BLOCKVECTRA_API_KEY! } },
});
```

Kann ein Client keine Header setzen, lässt sich der Key stattdessen in den URL-Pfad legen (`/v1/{chain}/{api_key}`); URLs können in Zugriffslogs landen, bevorzugen Sie daher den Header.

Erstellen Sie den Key ohne Browser mit den vier Schritten im [Leitfaden zur programmatischen Registrierung](https://docs.blockvectra.com/de/guides/programmatic-signup/?ref=docs-agentkit): Challenge, Signatur, Login, dann `POST /keys`. Entwickler können auch [in der Konsole einen Key erstellen](https://console.blockvectra.com/login/?next=%2Fkeys%2F\&ref=docs-agentkit). Ein Key funktioniert auf jeder Chain; der Wechsel des Agenten auf ein anderes Netzwerk ändert daher nur den Chain-Slug und das viem-Chain-Objekt.

## AgentKit-Aktionen mit dem Docs-MCP-Server kombinieren

Das TypeScript-Paket von AgentKit stellt seine Aktionen als LangChain-Tools bereit, daher gehören MCP-Tools aus dem Adapter von LangChain in dasselbe Array `tools`. Folgen Sie dem [LangChain-Leitfaden](https://docs.blockvectra.com/de/guides/langchain/#add-the-docs-mcp-server), um `https://docs.blockvectra.com/mcp` zu laden, und führen Sie sie dann zusammen:

```typescript
const agent = createAgent({ model: "claude-sonnet-5", tools: [...tools, ...(await adapter.listTools())] });
```

Der Agent erhält die Wallet-Aktionen von AgentKit sowie `list_chains`, `get_status`, `rpc_call` und `read_doc` von BlockVectra, aufgeführt auf der [MCP-Server-Seite](https://docs.blockvectra.com/de/guides/mcp-server/). Für die Verbindung ist kein Key nötig.

## Fehler, die auftreten können

| Antwort                               | Bedeutung                                             | Was zu tun ist                                                                           |
| ------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| HTTP 401, `-32024`, `missing_api_key` | Anfrage mit Key-Pflicht ohne Key gesendet             | Den Key im Header `x-api-key` (oder im URL-Pfad) senden                                  |
| HTTP 401, `-32024`, `invalid_api_key` | Key unbekannt, deaktiviert oder widerrufen            | Den Key in der Konsole prüfen; ein neuer Key braucht einige Sekunden bis zur Aktivierung |
| `-32601`, `method_not_public`         | Methode steht nicht in den `public.methods` der Chain | Diesen Transport von `/public` auf die URL mit Key umstellen                             |

Jeder BlockVectra-Fehler enthält `data.reason` und eine `docs_url`; die vollständige Liste steht auf der [Fehlerseite](https://docs.blockvectra.com/de/errors/).

## Offizielle Dokumentation

* [coinbase/agentkit auf GitHub](https://github.com/coinbase/agentkit)
* [viem-HTTP-Transport](https://viem.sh/docs/clients/transports/http.html)

## Häufige Fragen

**Sieht BlockVectra den privaten Wallet-Schlüssel?** Nein. Das viem-Konto signiert lokal; der Endpunkt erhält Lesezugriffe und signierte Raw-Transaktionen.

**Kann der Agent Logs über den öffentlichen Endpunkt lesen?** Nein. `eth_getLogs` und die Data API benötigen einen API key.

**Gehört der Key in die MCP-Tool-Argumente?** Nein. Halten Sie ihn in der Umgebung oder in den Headern des MCP-Clients.

## Nächste Schritte

* [Übersicht der Agent-Frameworks](https://docs.blockvectra.com/de/guides/agent-frameworks/) für LangChain, ElizaOS, viem und wagmi.
* [Einen KI-Agenten verbinden](https://docs.blockvectra.com/de/guides/ai-agents/), um Endpunkte mit MCP, llms.txt und OpenAPI zu entdecken.
* [Abrechnungsregeln](https://docs.blockvectra.com/de/guides/billing-rules/) für CU-Messung, Ratenlimits und nicht abgerechnete Fehler.
