XphillAgentXphillAgent

Documentation

How Xphill works

Intent → Execution → Proof. Every number on this site is read from a live source or shown as unavailable.

Pipeline

  1. SCAN — reads wallet, contract, token and market state through the read-only RPC relay, Sourcify, Blockscout, DexScreener and GeckoTerminal.
  2. THINK — the Xphill Core maps your request to explicit operations. With ANTHROPIC_API_KEY set this is Claude (structured output, addresses re-validated, no execution rights); otherwise a rule-based planner. The UI always says which one answered, and the plan is listed before it runs.
  3. ROUTE — the transaction builder encodes calldata, estimates gas and simulates with eth_call from your address.
  4. SIGN — your wallet shows the request. Xphill has no key and cannot sign or broadcast on its own.
  5. EXECUTE — the wallet submits; Xphill tracks the receipt.
  6. PROOF — hash, block, gas used and status are stored in the local activity log with explorer links.

Execution language

  • observation
  • planning
  • transaction package
  • routing / completion
  • ○ → △ → □ → × : observe, plan, package, route.

Networks

Robinhood Chain · #4663browser → /api/rpc relayexplorer.mainnet.chain.robinhood.com
Ethereum · #1browser → public RPCetherscan.io
Base · #8453browser → public RPCbasescan.org

Configuration

Chain parameters live in src/config/chains.ts. Environment overrides:

NEXT_PUBLIC_CHAIN_ID=4663
NEXT_PUBLIC_RPC_URL=
NEXT_PUBLIC_EXPLORER_URL=
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=
ETHERSCAN_API_KEY=
ANTHROPIC_API_KEY=        # enables the Claude core (planner + analyst)
XPHILL_AI_MODEL=          # default claude-opus-5

When the configured chain id is not registered, the UI shows “Network configuration required” instead of breaking. When an RPC does not answer, reads fail visibly as “RPC unavailable”.

Data honesty

Xphill never fabricates balances, prices, volumes, holders, PnL or success rates. If a source is missing the field is rendered as “—”, “Unavailable” or an explicit empty state. Development fixtures are isolated under src/mocks and are never imported by application code.

Contract indicators describe observable state (owner set, proxy slots, pausable selectors, verification status). They are not a safety verdict.

When Claude writes the analysis, its only context is the JSON that was observed during the run; the prompt forbids numbers, addresses or names that are not in it, and the report is labelled with the model that wrote it. Claude never signs, sends or reads anything itself.

Utilities: Agent · Contract · Wallet · Markets · Builder · Activity