Integrations

Vibekit, Eliza & LangGraph

ArbiSim Guard integrates natively with the three most popular AI agent frameworks for DeFi. Pick the one you are already using.

V

Vibekit

Native MCP integration — no extra config

Native

Vibekit is an Avalanche-native agent framework built by Ember. ArbiSim Guard is a first-class safety layer in Vibekit — when you enable ArbiSim, every DeFi action the agent takes is automatically pre-checked before execution.

Supported protocols: GMX, Camelot, Aave, Pendle, TraderJoe, Pangolin, Benqi.

typescript
import { createAgent } from '@vibekit/core';
import { arbisimGuard } from '@vibekit/arbisim';

const agent = createAgent({
  network: 'avalanche-mainnet',
  safetyLayer: arbisimGuard({
    apiKey: process.env.ARBI_API_KEY,
    maxSlippage: 2.0,
    abortOnReject: true,   // agent stops if verdict is REJECTED
  }),
});
E

Eliza

MCP plugin — drop-in to any Eliza agent

Plugin

Eliza is a multi-agent orchestration framework. Add the ArbiSim MCP server to your Eliza agent configuration and every transaction the agent plans will be checked before execution.

json
{
  "name": "my-defi-agent",
  "plugins": ["@eliza/mcp"],
  "mcpServers": {
    "arbisim-guard": {
      "command": "node",
      "args": ["./gateway/dist/index.js", "--mcp"],
      "env": { "GATEWAY_API_KEY": "ask_free_a1b2_..." }
    }
  }
}

The agent can now call preflight_simulate directly from its reasoning loop. If the result is REJECTED, the agent receives the reason and can decide to abort or try an alternative.

L

LangGraph

Tool node — insert into any graph

Adapter

In LangGraph, ArbiSim is a tool node that sits between your planning node and your execution node. The graph calls ArbiSim with the planned transaction, reads the verdict, and routes to either execute or abort.

python
import requests
from langgraph.graph import StateGraph

def check_transaction(state):
    resp = requests.post(
        "https://arbisim-proxy.rahulpandey-creates.workers.dev/api/v1/simulate",
        headers={"X-API-Key": os.environ["ARBI_API_KEY"]},
        json={
            "network": state["network"],
            "agent_address": state["wallet"],
            "transactions": state["planned_txs"],
            "max_slippage_tolerance": 2.0,
        }
    ).json()
    return {**state, "verdict": resp["status"], "checks": resp["checks"]}

def route_on_verdict(state):
    return "execute" if state["verdict"] == "APPROVED" else "abort"

graph = StateGraph(AgentState)
graph.add_node("check", check_transaction)
graph.add_conditional_edges("check", route_on_verdict, {"execute": "send_tx", "abort": "report_error"})
Agent Frameworks — ArbiSim Guard Docs