# io.github.persistenceOne/bridgekitty (npm · @persistenceone/bridgekitty)

Cross-chain bridge aggregator — compares LI.FI, deBridge, Relay, Across & more for best rates.

- Trust score: 64/100 (medium)
- Change this week: +59
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- npm · `@persistenceone/bridgekitty`: 64/100 (this document), [markdown](https://verifymcp.io/servers/persistenceone-bridgekitty/persistenceone-bridgekitty.md), [page](https://verifymcp.io/servers/persistenceone-bridgekitty/persistenceone-bridgekitty)

## Channel facts

- Registry: `npm`
- Package: `@persistenceone/bridgekitty`
- Version: `0.3.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-07.

- **Supply Chain Security**: 89/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known high-severity CVE affects uuid 8.3.2, reached via @solana/web3.js > jayson > uuid. A fixed version is available.
  - No install/post-install scripts declared.
  - 76 of 231 dependencies flagged as unhealthy (2 deprecated).
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 51 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2802 tokens (~140/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add persistenceone-bridgekitty -- npx -y @persistenceone/bridgekitty
```

### Codex

```bash
codex mcp add persistenceone-bridgekitty -- npx -y @persistenceone/bridgekitty
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "persistenceone-bridgekitty": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@persistenceone/bridgekitty"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add persistenceone-bridgekitty --command npx --arg -y --arg @persistenceone/bridgekitty
```

### Hermes

```yaml
mcp_servers:
  persistenceone-bridgekitty:
    command: "npx"
    args: ["-y", "@persistenceone/bridgekitty"]
```

### Other

```json
{
  "mcpServers": {
    "persistenceone-bridgekitty": {
      "command": "npx",
      "args": [
        "-y",
        "@persistenceone/bridgekitty"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-07 (score 64, +2)

- [functional] Dependency health: partial → 0.85

### 2026-08-06 (score 62, +29)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: good
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail

### 2026-08-05 (score 33, 0)

- [security improvement] CVE-2026-69207 no longer affects this package

### 2026-08-04 (score 33, 0)

- [security regression] CVE-2026-69207 affects this package: high

### 2026-08-02 (score 33, +28)

- [security regression] CVE-2026-41907 affects this package: high
- [security regression] Provenance: unverified → fail
- [security regression] Known CVEs: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional] Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional] Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- [functional] Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.
- [functional] Licence: MIT

### 2026-07-31 (score 5, −19)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 24, −1)

- [functional regression] Dependency health: partial → unverified

### 2026-07-28 (score 25, +1)

- [functional improvement] Dependency health: unverified → partial
- [functional] Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- [functional] Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.

## MCP tools (20)

### `bridge_get_quote` (~404 tokens)

Get the best cross-chain bridge quote across multiple providers (LI.FI, Squid Router, deBridge, Across, Relay, Persistence Interop). Supports EVM chains, Cosmos chains (Persistence, Cosmos Hub), and Solana. Accepts token symbols (e.g. 'USDC', 'ETH', 'WBTC', 'XPRT', 'ATOM') or contract addresses (0x...). Symbols are resolved to verified canonical addresses only — no unverified tokens. Returns ranked options by output amount, speed, and fees. Includes failedProviders array showing which providers didn't return quotes and why. Preconditions: None for quoting. Use bridge_execute to act on a quote. Error codes: 'Token resolution failed' (unknown symbol), 'Rate limited' (too many requests), 'Validation error' (invalid params).

Input parameters:

- `amount` (string, required): Amount in human-readable units (e.g. '100' for 100 USDC)
- `fromAddress` (string, required): Sender wallet address (0x... for EVM, base58 for Solana)
- `fromChain` (string, required): Source chain (e.g. 'ethereum', 'base', 'arbitrum', or chain ID like '1', '8453')
- `fromToken` (string, required): Token to send — symbol (e.g. 'USDC', 'ETH', 'WBTC') or contract address (0x...). Symbols resolve to verified canonical addresses only.
- `preference` (string): Optimize for lowest cost or fastest delivery
- `providers` (array): Optional: only query specific providers (e.g. ['squid', 'lifi']). Default: query all.
- `toAddress` (string): Recipient address (defaults to fromAddress)
- `toChain` (string, required): Destination chain
- `toToken` (string, required): Token to receive — symbol (e.g. 'USDC', 'ETH') or contract address (0x...). Symbols resolve to verified canonical addresses only.

### `bridge_execute` (~229 tokens)

Get the unsigned transaction data to execute a cross-chain bridge transfer. Supports all providers: LI.FI, Squid Router, deBridge, Across, Relay, Persistence Interop. By default returns unsigned transaction(s) for the agent/user to sign and send. Set sign_and_send=true to sign and broadcast using the locally-stored wallet key (requires wallet_setup). Preconditions: Call bridge_get_quote first and pass the quoteId. Ensure sufficient gas on source chain. If an approval is needed (unsigned mode), send the approvalTransaction first, then the main transaction. After execution, use bridge_status with the returned trackingId to monitor progress.

Input parameters:

- `quoteId` (string, required): Quote ID from bridge_get_quote result
- `sign_and_send` (boolean): If true, sign and broadcast the transaction server-side using the wallet key from wallet_setup. Supports EVM chains and Persistence Interop. Solana falls back to unsigned.
- `slippage` (number): Max slippage tolerance (0.005 = 0.5%). Applied by backends during quoting; reserved for future per-execution override.

### `bridge_status` (~168 tokens)

Check the status of a cross-chain bridge transfer. Supports all providers: LI.FI, Squid Router, deBridge, Across, Relay, Persistence Interop. Provide the tracking ID from bridge_execute, or a transaction hash with provider name. Returns: status (pending/in_progress/completed/failed), source/destination tx hashes, elapsed time, and estimated remaining time.

Input parameters:

- `fromChain` (string): Source chain ID (needed with txHash for LI.FI)
- `provider` (string): Bridge provider (e.g. 'lifi', 'persistence')
- `toChain` (string): Destination chain ID (needed with txHash for LI.FI)
- `trackingId` (string): Tracking ID from bridge_execute
- `txHash` (string): Source chain transaction hash

### `bridge_chains` (~86 tokens)

List supported chains for cross-chain bridging. Shows which providers support each chain. Chains are deduplicated and grouped by ecosystem: EVM, Cosmos, and Solana. Use 'search' parameter to filter by chain name. Use this to discover available routes before calling bridge_get_quote.

Input parameters:

- `search` (string): Filter chains by name (e.g. 'base', 'arb')

### `bridge_tokens` (~90 tokens)

List popular tokens available for bridging on a given chain. Returns verified token symbols, contract addresses, and decimals. Supports EVM chains and Cosmos chains (Persistence, Cosmos Hub). Use token symbols or addresses from this list in bridge_get_quote.

Input parameters:

- `chain` (string, required): Chain name or ID (e.g. 'base', '8453')
- `search` (string): Filter by token name or symbol

### `wallet_status` (~37 tokens)

Check if a wallet is configured. Returns wallet address, key status, and config file location. Call this FIRST before wallet_setup or wallet_import.

### `wallet_setup` (~42 tokens)

Create wallets for all supported chains (EVM, Cosmos, Solana). Keys saved to ~/.bridgekitty/.env. Use wallet_status first to check if already configured.

### `wallet_balance` (~255 tokens)

Check wallet balances across EVM, Cosmos, and Solana chains. Returns native token balances AND key ERC-20 token balances (USDC, USDT, WETH, WBTC, cbBTC, BTCB) by default. Uses multiple RPCs with automatic failover. Returns per-token balance, USD value (via CoinGecko), and total portfolio value. Call this before any bridging or farming operation to verify sufficient funds and gas.

Input parameters:

- `chains` (array): Chains to check (default: all). Options: ethereum, optimism, bsc, polygon, arbitrum, avalanche, base, linea, scroll, zksync, mantle, blast, persistence, solana
- `includeTokens` (boolean): Include ERC-20 token balances (USDC, USDT, WETH, WBTC, cbBTC, BTCB). Default: true.
- `includeUsd` (boolean): Include USD valuations for each balance (default: true). Uses CoinGecko prices, cached for 60s.
- `tokens` (object): Custom tokens to check per chain, e.g. { "base": [{ "address": "0x...", "symbol": "FOO", "decimals": 18 }] }

### `wallet_import` (~117 tokens)

Import existing keys. Alternative: edit ~/.bridgekitty/.env directly (MNEMONIC=<words>, PRIVATE_KEY=0x<hex>). Mnemonic gives EVM + Persistence + Solana; privateKey alone gives EVM only. Use wallet_status to check current state.

Input parameters:

- `mnemonic` (string): 12 or 24 word BIP-39 mnemonic phrase
- `overwrite` (boolean): Set true to overwrite existing keys (back up first!)
- `privateKey` (string): 0x-prefixed hex EVM private key

### `xprt_farm_prepare` (~58 tokens)

Convert ETH or other tokens to cbBTC and bridge gas to BSC, preparing your wallet for XPRT farming via Persistence Interop.

Input parameters:

- `amount` (string): ETH amount to use (auto-detects balance if omitted)

### `xprt_farm_start` (~346 tokens)

Start XPRT farming by running automated BTC round-trip swaps between BSC and Base via Persistence Interop. Earn XPRT rewards distributed daily as airdrops — not guaranteed income. Preconditions: Requires wallet_setup to have been run. Requires cbBTC on Base and/or BTCB on BSC (min 0.00005 BTC). Requires gas on both Base and BSC. Call wallet_balance before starting to verify sufficient balances. Response includes per-leg detail: amountSent, amountReceived, feeBps, provider, status, and durationSeconds.

Input parameters:

- `amount` (string): Max BTC to send on the outbound leg of each round (e.g. '0.0003'). The return leg will bridge the full received balance back; actual return amount depends on bridge fees. Omit to use full available b…
- `delay` (number): Delay between rounds in seconds (default 30)
- `dryRun` (boolean): Preview the farming operation without executing transactions (default: false)
- `fillTimeout` (number): Max seconds to wait for each leg fill (default 180, minimum 90)
- `maxFailures` (number): Stop after N consecutive failures (default 3)
- `maxLossBps` (number): Stop if cumulative loss exceeds N basis points (default 200 = 2%)
- `rounds` (number): Number of round trips (default 10)
- `startFrom` (string): 'auto' (detect best direction), 'base' (cbBTC→BTCB), or 'bsc' (BTCB→cbBTC)

### `xprt_farm_status` (~40 tokens)

Check your XPRT farming status: wallet link, BTC balances, current epoch reward pool. Rewards are estimated and change based on total participation.

### `xprt_farm_boost` (~191 tokens)

Buy XPRT with any token and auto-stake for XPRT farming multiplier boost. One command to go from 1x to 2x or 5x multiplier. Set dryRun=true (default) to preview the estimated XPRT output, exchange rate, and fees before committing. Set dryRun=false to execute the swap. Preconditions: Requires wallet_setup with mnemonic (for Persistence address derivation).

Input parameters:

- `amount` (string, required): Amount of source token to swap (e.g. '0.1')
- `chain` (string): Source chain (default: base)
- `dryRun` (boolean): When true (default), returns quote/preview without executing. Set to false to execute the swap.
- `token` (string): Source token symbol (default: ETH)
- `validatorAddress` (string): Validator address to delegate to (auto-picks best if omitted)

### `xprt_stake` (~144 tokens)

Delegate liquid XPRT to a validator to earn staking rewards and increase farming multiplier. Multiplier tiers: 1x (default), 2x (≥10,000 staked), 5x (≥1,000,000 staked). Staked tokens continue earning farming rewards with the multiplier applied.

Input parameters:

- `amount` (string, required): Amount of XPRT to stake, or 'max' for all available liquid XPRT
- `dryRun` (boolean): Preview the operation without executing (default: true)
- `validatorAddress` (string): Validator address (persistencevaloper1...). If omitted, auto-selects a high-performing active validator

### `xprt_unstake` (~108 tokens)

Initiate unbonding (unstaking) of staked XPRT. Tokens will be unavailable for 21 days during unbonding. Unbonding tokens do not earn staking rewards and do not count toward farming multiplier.

Input parameters:

- `amount` (string, required): Amount of XPRT to unstake
- `dryRun` (boolean): Preview the operation without executing (default: true)
- `validatorAddress` (string, required): Validator address to undelegate from (persistencevaloper1...)

### `xprt_claim_rewards` (~57 tokens)

Claim all pending staking rewards from delegated XPRT. Rewards are liquid XPRT that can be spent, bridged, or re-staked.

Input parameters:

- `dryRun` (boolean): Preview the operation without executing (default: true)

### `bridgekitty_help` (~73 tokens)

Get help and guidance on using BridgeKitty. Topics: overview (default), bridging, farming, wallet, troubleshooting. Returns structured guides with recommended tool sequences and common pitfalls.

Input parameters:

- `topic` (string): Help topic: 'overview', 'bridging', 'farming', 'wallet', or 'troubleshooting'

### `xprt_rewards_check` (~64 tokens)

Check your XPRT reward accrual from Persistence Interop bridging. Shows earned rewards, pending rewards, current epoch, multiplier tier, and qualifying volume.

Input parameters:

- `walletAddress` (string): EVM wallet address (0x...). Defaults to the configured wallet if omitted.

### `bridge_quote_multi` (~250 tokens)

Get quotes for multi-hop routes across supported EVM chains. Resolves optimal path internally -- e.g., ETH on Base to USDC on Arbitrum may route through WBTC. Returns the full route as ordered hops with per-hop detail. Note: For Cosmos destinations (Persistence, Cosmos Hub), use xprt_farm_boost or bridge_get_quote with Squid Router.

Input parameters:

- `amount` (string, required): Amount in human-readable units (e.g. '100' for 100 USDC)
- `fromAddress` (string, required): Sender wallet address (0x...)
- `fromChain` (string, required): Source chain (e.g. 'base', 'ethereum', or chain ID like '8453')
- `fromToken` (string, required): Token to send -- symbol (e.g. 'USDC', 'ETH') or contract address (0x...)
- `optimize` (string): Optimize for lowest cost or fastest delivery
- `toChain` (string, required): Destination chain (e.g. 'arbitrum', 'bsc', or chain ID)
- `toToken` (string, required): Token to receive -- symbol (e.g. 'USDC', 'ETH') or contract address (0x...)

### `xprt_onboard` (~43 tokens)

Personalized onboarding for XPRT farming. Detects current wallet state and returns an ordered action plan to go from your current position to actively farming XPRT rewards.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/persistenceone-bridgekitty/persistenceone-bridgekitty#diagnostics

## Score history

- 2026-08-07: 64
- 2026-08-06: 62
- 2026-08-05: 33
- 2026-08-04: 33
- 2026-08-03: 33
- 2026-08-02: 33
- 2026-08-01: 5
- 2026-07-31: 5
- 2026-07-30: 24
- 2026-07-28: 25
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/@persistenceone/bridgekitty
- Socket report: https://socket.dev/npm/package/@persistenceone/bridgekitty
- Repository: https://github.com/persistenceOne/bridgekitty
- Changelog RSS feed: https://verifymcp.io/servers/persistenceone-bridgekitty/persistenceone-bridgekitty.xml
- Changelog JSON feed: https://verifymcp.io/servers/persistenceone-bridgekitty/persistenceone-bridgekitty.json
- HTML version of this page: https://verifymcp.io/servers/persistenceone-bridgekitty/persistenceone-bridgekitty
