# Bridge Status Checker

> Skill Overview

- Skill: `xspoonai/bridge-status-checker` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add xspoonai/bridge-status-checker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xspoonai/bridge-status-checker/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: XSpoonAi (https://skillmd.com/u/xspoonai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xspoonai/bridge-status-checker

---


## Skill Overview

Real-time cross-chain bridge transaction tracking using direct RPC queries. Monitors transaction status across 8+ EVM chains and 4 major bridge protocols (Stargate, Wormhole, Across, Hop) without requiring block explorer API keys.

## What This Skill Does

- **Transaction Status Verification**: Fetches real transaction receipts and confirmation status directly from blockchain RPC
- **Multi-Chain Support**: Queries 8 EVM chains (Ethereum, Polygon, Arbitrum, Optimism, Base, BSC, zkSync, Linea)
- **Bridge Protocol Support**: Tracks Stargate, Wormhole, Across, and Hop bridges
- **Contract Availability Checking**: Verifies bridge contract deployment status on each chain
- **Confirmation Tracking**: Calculates actual block confirmations and estimated completion time
- **Bridge Health Monitoring**: Real-time availability status of bridge contracts across chains

## Technical Implementation

### RPC-Based Architecture

Instead of relying on block explorer APIs (which require rate-limited API keys), this skill uses direct JSON-RPC calls:

```
eth_getTransactionReceipt → Get transaction status and gas usage
eth_getTransaction → Get transaction details (from, to, gas, value)
eth_blockNumber → Get current block for confirmation calculation
eth_getCode → Verify bridge contract deployment
```

### Supported Chains (8 EVM Networks)

| Chain | Chain ID | RPC | Confirmations |
|-------|----------|-----|----------------|
| Ethereum | 1 | Blast API | 12 |
| Polygon | 137 | Polygon RPC | 256 |
| Arbitrum | 42161 | Arbitrum RPC | 0 (L2) |
| Optimism | 10 | Optimism RPC | 0 (L2) |
| Base | 8453 | Base RPC | 0 (L2) |
| BSC | 56 | BSC Dataseed | 20 |
| zkSync | 324 | zkSync RPC | 0 (L2) |
| Linea | 59144 | Linea RPC | 0 (L2) |

### Supported Bridges

- **Stargate (LayerZero)**: 2-5 minutes typical
- **Wormhole**: 15-30 minutes typical
- **Across**: 2-10 minutes typical
- **Hop**: 5-15 minutes typical

## API Reference

### Actions

#### `check_tx` - Check Transaction Status

**Input:**
```json
{
  "action": "check_tx",
  "bridge": "stargate",
  "tx_hash": "0x32bf66242692f3b7cc364ada2a87354bacaf86f99bfeaefd8a78400314fcfc48",
  "source_chain": "ethereum"
}
```

**Output:**
```json
{
  "success": true,
  "timestamp": "2026-02-06T16:22:06.986966+00:00",
  "bridge": {
    "name": "Stargate (LayerZero)",
    "protocol": "stargate"
  },
  "source_transaction": {
    "hash": "0x32bf66242692f3b7cc364ada2a87354bacaf86f99bfeaefd8a78400314fcfc48",
    "chain": "Ethereum",
    "status": "success",
    "block_number": 24398945,
    "confirmations": 2,
    "gas_used": 21000,
    "from": "0xae2885E0E7A6c5f99b93B4dBC43D206C7cf67c7E",
    "to": "0xae2885E0E7A6c5f99b93B4dBC43D206C7cf67c7E",
    "explorer_url": "https://etherscan.io/tx/0x32bf66..."
  },
  "bridge_status": {
    "phase": "CONFIRMING - 2 confirmations (waiting for 10 more)",
    "estimated_completion": "2-5 minutes"
  },
  "next_steps": [
    "🔗 Transaction confirming: 2/12 blocks"
  ],
  "rpc_used": "https://eth-mainnet.public.blastapi.io"
}
```

#### `health` - Check Bridge Health

**Input:**
```json
{
  "action": "health",
  "bridge": "stargate"
}
```

**Output:**
```json
{
  "success": true,
  "bridge": {
    "name": "Stargate (LayerZero)",
    "protocol": "stargate"
  },
  "timestamp": "2026-02-06T16:22:51.851069+00:00",
  "chains_supported": ["Ethereum", "Polygon", "Arbitrum One"],
  "availability": {
    "Ethereum": {
      "chain_id": 1,
      "contract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "active": true,
      "current_block": 24398951,
      "status": "OPERATIONAL"
    }
  },
  "overall_status": "DEGRADED"
}
```

#### `chains` - List Supported Chains

**Input:**
```json
{
  "action": "chains"
}
```

#### `bridges` - List Supported Bridges

**Input:**
```json
{
  "action": "bridges"
}
```

## Error Handling

### Error Types

| Error | Description |
|-------|-------------|
| `validation_error` | Invalid parameter format |
| `rpc_error` | Blockchain RPC failure |
| `unsupported_bridge` | Bridge not found |
| `unsupported_chain` | Chain not found |
| `missing_parameter` | Required param missing |

### Example Error Response

```json
{
  "success": false,
  "error": "validation_error",
  "message": "Invalid transaction hash format (expected 66 char hex with 0x prefix)"
}
```

## Key Features

✅ **Real RPC Queries** - Direct blockchain data, no API keys
✅ **Multi-Chain** - 8 EVM chains with confirmation calculation
✅ **Confirmation Tracking** - Real block confirmations
✅ **Bridge Contracts** - Verifies deployment status
✅ **Health Monitoring** - Detects operational status
✅ **Error Resilience** - Comprehensive error handling

## Real-World Testing

**Test Case 1: Successful Transaction**
```
Transaction: 0x32bf66242692f3b7cc364ada2a87354bacaf86f99bfeaefd8a78400314fcfc48
Block: 24398945
Status: Success ✓
Confirmations: 2+ (verified on live chain)
Gas Used: 21000 wei
```

**Test Case 2: Bridge Health Check**
```
Ethereum USDC: OPERATIONAL ✓
Polygon USDC: OPERATIONAL ✓
Block Numbers: ETH#24398951, Polygon#82637477
```

## Implementation Details

- **Language**: Python 3
- **RPC Library**: web3.py (direct blockchain queries)
- **Confirmation Model**: count(current_block - tx_block) for L1s
- **Rate Limiting**: None (public RPC endpoints)
- **Latency**: ~100-500ms per chain

### Demo Mode
```bash
python scripts/main.py --demo
```

## Examples

### Example 1: Check Stargate Transaction
```bash
$ echo '{"action": "check_tx", "bridge": "stargate", "tx_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "source_chain": "ethereum", "dest_chain": "arbitrum"}' | python3 scripts/main.py
{
  "success": true,
  "timestamp": "2026-02-06T07:31:06.856041+00:00",
  "bridge": "stargate",
  "tx_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
  "source_chain": "ethereum",
  "dest_chain": "arbitrum",
  "status": "completed"
}
```

## Error Handling

When an error occurs, the skill returns:

```json
{
  "ok": false,
  "error": "Error description",
  "details": {
    "bridge": "Unsupported bridge"
  }
}
```

