Bridge Hub - Polkadot Interoperability
Production-ready guide for integrating with Bridge Hub on Polkadot. Learn how to consume Dwellir RPC endpoints, work with bridge pallets, and operate trustless connections to Kusama, Ethereum (Snowbridge), and other ecosystems.
Bridge Hub RPC
With Dwellir, you get access to our global Bridge Hub network which always routes your API requests to the nearest available location, ensuring low latency and the fastest speeds.
Get your API keyWhy Build on Bridge Hub?
Bridge Hub is Polkadot's system parachain dedicated to secure cross-network connectivity. It hosts bridge light clients, routing logic, and XCM tooling that allow ecosystems such as Kusama and Ethereum to interoperate without trusted third parties.
Trustless Finality
- On-chain GRANDPA & BEEFY verification – Embedded light clients validate both Polkadot and bridged consensus, enabling permissionless relayers.
- Optimistic root tracking – Finality proofs are persisted so downstream chains can verify historical headers.
- Governed suspension modes – Bridge operators can pause lanes per pallet when anomalies are detected.
Multi-Chain Connectors
- Polkadot Kusama routing – Bridge Westend/Bridge Bulletin pallets exchange relay-chain and parachain headers between ecosystems.
- Snowbridge (Polkadot Ethereum) – Native integration of Snowbridge pallets for ERC-20 asset movement and message passing with Ethereum mainnet.
- Message fan-out – Bridge Bulletin instances distribute payloads to partner chains without duplicating relayer work.
Specialized Pallets
pallet_bridge_grandpa– Stores bridged finality proofs and validator sets.pallet_bridge_parachains– Syncs parachain headers required for XCM and HRMP messaging.pallet_bridge_messages– Manages outbound/inbound lanes, delivery proofs, and fee accounting for cross-chain messages.pallet_xcm_bridge_hub– Provides XCM helpers for routing assets and arbitrary instructions over bridge lanes.
Quick Start with Bridge Hub
Connect to Bridge Hub using Dwellir's low-latency infrastructure:
curl -sS -X POST https://api-bridge-hub-polkadot.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots> \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","method":"chain_getBlockHash","params":[0],"id":1}'import { ApiPromise, WsProvider } from '@polkadot/api';const provider = new WsProvider('wss://api-bridge-hub-polkadot.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>');const api = await ApiPromise.create({ provider });const hash = await api.rpc.chain.getBlockHash(0);console.log(hash.toHex());from substrateinterface import SubstrateInterfacesubstrate = SubstrateInterface(url='wss://api-bridge-hub-polkadot.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>')block_hash = substrate.get_block_hash(block_id=0)print(block_hash)package mainimport ( "bytes" "fmt" "io" "net/http")func main() { url := "https://api-bridge-hub-polkadot.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>" payload := []byte(`{"jsonrpc":"2.0","id":1,"method":"chain_getBlockHash","params":[0]}`) resp, err := http.Post(url, "application/json", bytes.NewBuffer(payload)) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body))}Multi-network Access
Dwellir maintains Bridge Hub connectivity across Polkadot environments:
- Polkadot Bridge Hub – Production-grade routing parachain for trustless bridging.
- Westend Bridge Hub – Official Polkadot testnet used for validating upgrades before mainnet rollout.
- Paseo Bridge Hub – Community-driven public testnet mirroring upcoming Polkadot features.
- Kusama Bridge Hub – Economic canary network that ships features before Polkadot.
Installation & Setup
Network Information
| Parameter | Value | Details |
|---|---|---|
| Genesis Hash | 0xdcf691b5... | Bridge Hub (Polkadot) |
| Block Time | 6 seconds | Aura + Relay finality |
| Native Token | DOT | Fees paid via Relay Chain |
| Parachain ID | 1002 | Polkadot system parachain |
Network Details
| Parameter | Value | Details |
|---|---|---|
| Relay Chain | Polkadot | |
| Genesis Hash | 0xdcf691b5a3fbe24adc99ddc959c0561b973e329b1aef4c4b22e7bb2ddecb4464 | |
| Consensus | Collator-produced blocks with Polkadot relay GRANDPA finality | |
| Bridged Counterparts | Kusama (Westend), Bridge Bulletin, Ethereum (Snowbridge) | |
| Security | On-chain slashable relayer incentives via pallet_bridge_relayers |
API Reference
Bridge Hub exposes the standard Substrate namespaces alongside bridge-specific RPCs for GRANDPA, BEEFY, and Snowbridge messaging. Public bridge_* proof namespaces are not yet exposed on current nodes.
Bridge Protocols
Snowbridge (Ethereum Polkadot)
- BEEFY light client verifies Ethereum finality proofs and publishes outbound commitments.
- Inbound queue accepts ERC-20 and arbitrary message payloads via event proofs.
- Outbound queue batches Polkadot-origin messages and anchors them on Ethereum.
Kusama Bridge (Westend Polkadot)
- BridgeWestendGrandpa pallet syncs Westend finality headers and validator sets.
- BridgeWestendParachains tracks parachain heads to validate XCM and HRMP messages.
- BridgeWestendMessages exposes lane metrics, delivery confirmations, and fee accounting.
Bridge Bulletin
- Polkadot Bulletin acts as a hub-and-spoke relay for partners requiring broadcast style delivery.
- Permissionless lanes allow new chains to request connectivity without runtime upgrades.
XCM Integration
Bridge Hub exposes pallet_xcm_bridge_hub helpers for routing XCM messages over bridge lanes.
import { ApiPromise, WsProvider } from '@polkadot/api';
import { BN } from '@polkadot/util';
const api = await ApiPromise.create({
provider: new WsProvider('wss://api-bridge-hub-polkadot.n.dwellir.com/YOUR_API_KEY')
});
const laneId = 0; // Snowbridge outbound lane
const beneficiary = {
parents: 2,
interior: { X1: { AccountId32: { network: 'Any', id: '0x...' } } }
};
const assets = {
parents: 1,
interior: 'Here'
};
const tx = api.tx.xcmBridgeHub.sendAssetsOverBridge(
laneId,
beneficiary,
assets,
new BN('100000000000'),
'Unlimited'
);
await tx.signAndSend('//Alice', ({ status }) => {
if (status.isInBlock) {
console.log('Bridge XCM submitted in block', status.asInBlock.toString());
}
});Development Guides
1. Finality Relayer Checklist
- Subscribe to
bridgeWestendGrandpa.bestFinalizedandbridgePolkadotBulletinGrandpa.bestFinalizedstorage changes. - Submit new proofs via
BridgeGrandpa.submit_finality_proofextrinsics when headers advance by configured intervals. - Monitor
pallet_bridge_relayers::Rewardsto reconcile payments.
2. Message Relayer Operations
- Watch
bridgeWestendMessages.outboundLanes(laneId)forlatest_generated_noncevslatest_received_nonce. - When public proof RPCs are released, fetch Merkle lane proofs before submitting to bridged chains (currently relayers must build proofs off-chain).
- Handle rejections by inspecting
bridgeHubevents:MessageDispatchedandMessageRejected.
3. Observability & Alerting
- Track BEEFY justifications with
beefy_subscribeJustificationsfor Snowbridge health. - Use
state_traceBlockon Bridge Hub to replay block execution when diagnosing bridge stalls. - Surface metrics such as
MessageQueue.Processedevents to confirm queue throughput.
Monitoring & Troubleshooting
| Scenario | Diagnostic Steps | Resolution |
|---|---|---|
| Lane backpressure | Compare latest_generated_nonce and latest_confirmed_nonce on outbound lanes | Increase relayer frequency or investigate failed proofs |
| Proof rejected on target chain | Rebuild proofs off-chain and verify against the target runtime | Re-submit with corrected payload or wait for next finalized header |
| BEEFY stalled | Check beefy_subscribeJustifications stream and collator logs | Restart Snowbridge relayer or investigate validator availability |
With Dwellir endpoints you get globally replicated infrastructure, WebSocket support for proof streaming, and archive access for rebuilding historical proofs.
eth_coinbase
Check the legacy eth_coinbase compatibility method on Boba Network. Public endpoints may return an address, `unimplemented`, or another unsupported-method response depending on the client.
chain_getBlock
Retrieve block data by hash on Bridge Hub. Essential for accessing block headers and extrinsics on Polkadot's trustless bridging parachain with $75M+ TVL via Snowbridge to Ethereum.

