# Public RPC Endpoints for ChainID 138 – Ledger App-Ethereum **Last Updated:** 2026-01-31 **Document Version:** 1.0 **Status:** Active Documentation --- **Date**: 2026-01-28 **Status**: Active **Purpose**: Authoritative list of public ChainID 138 RPCs, Proxmox VM / NPMplus mapping, and Ledger App-Ethereum access. --- ## Public RPCs for ChainID 138 | Domain | Protocol | Target VMID | Target IP:Port | Backend | WebSocket | |--------|----------|-------------|----------------|---------|-----------| | `rpc-http-pub.d-bis.org` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (Besu) | ✅ | | `rpc-ws-pub.d-bis.org` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (Besu) | ✅ | | `rpc.d-bis.org` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (Besu) | ✅ | | `rpc2.d-bis.org` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (Besu) | ✅ | | `ws.rpc.d-bis.org` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (Besu) | ✅ | | `ws.rpc2.d-bis.org` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (Besu) | ✅ | | `rpc.public-0138.defi-oracle.io` | HTTPS | 2400 | 192.168.11.240:443 | thirdweb-rpc-1 (Nginx + RPC Translator) | ✅ | | `rpc.defi-oracle.io` | HTTPS | 2201 | 192.168.11.221:8545 | besu-rpc-public-1 (same as rpc-http-pub) | ✅ | | `wss.defi-oracle.io` | WSS | 2201 | 192.168.11.221:8546 | besu-rpc-public-1 (same as rpc-ws-pub) | ✅ | - **d-bis.org** endpoints: direct Besu RPC (VMID 2201). - **defi-oracle.io** endpoints: Nginx on VMID 2400 fronts RPC Translator, which proxies to Besu. --- ## Proxmox VM and NPMplus Mapping ### NPMplus (VMID 10233) - **IP**: 192.168.11.167 - **FQDN**: npmplus - **Role**: Reverse proxy for all public-facing services (including RPC). ### Routing ``` Internet (DNS → 76.53.10.36) → NPMplus (10233) → Backend RPC ``` | Public URL | NPMplus forwards to | Backend VMID | |------------|---------------------|--------------| | `https://rpc-http-pub.d-bis.org` | `http://192.168.11.221:8545` | 2201 | | `wss://rpc-ws-pub.d-bis.org` | `http://192.168.11.221:8546` | 2201 | | `https://rpc.d-bis.org` | `http://192.168.11.221:8545` | 2201 | | `https://rpc2.d-bis.org` | `http://192.168.11.221:8545` | 2201 | | `wss://ws.rpc.d-bis.org` | `http://192.168.11.221:8546` | 2201 | | `wss://ws.rpc2.d-bis.org` | `http://192.168.11.221:8546` | 2201 | | `https://rpc.public-0138.defi-oracle.io` | `https://192.168.11.240:443` | 2400 | | `https://rpc.defi-oracle.io` | `http://192.168.11.221:8545` | 2201 | | `wss://wss.defi-oracle.io` | `http://192.168.11.221:8546` | 2201 | **WebSocket**: Enabled in NPMplus for all RPC hosts above. --- ## Ledger App-Ethereum and ChainID 138 - **Ledger app**: `pr-workspace/app-ethereum` (Ledger HQ App-Ethereum). - **ChainID 138**: Configured in app (e.g. `makefile_conf/chain/defi_oracle.mk`, `src/network.c`) as **Defi Oracle Meta**. - **RPC**: Not configured in the app firmware. Wallets (Ledger Live, MetaMask, etc.) supply RPC URLs when using ChainID 138. ### RPC URLs for Ledger / Wallets Use these when adding ChainID 138 in Ledger Live, MetaMask, or other wallets: | Use | URL | |-----|-----| | **HTTP RPC** | `https://rpc-http-pub.d-bis.org` or `https://rpc.d-bis.org` or `https://rpc2.d-bis.org` | | **WebSocket RPC** | `wss://rpc-ws-pub.d-bis.org` or `wss://ws.rpc.d-bis.org` or `wss://ws.rpc2.d-bis.org` | Alternatively (defi-oracle.io): - `https://rpc.public-0138.defi-oracle.io` - `wss://rpc.public-0138.defi-oracle.io` - `https://rpc.defi-oracle.io` (HTTP RPC) - `wss://wss.defi-oracle.io` (WebSocket RPC) Chainlist / `pr-workspace/chains` (`eip155-138`) includes d-bis.org and defi-oracle.io RPCs so Ledger Live and other clients can discover them. --- ## Apply NPMplus Configuration **New domains** (`rpc.d-bis.org`, `rpc2.d-bis.org`, `ws.rpc.d-bis.org`, `ws.rpc2.d-bis.org`, `rpc.defi-oracle.io`, `wss.defi-oracle.io`): Create proxy hosts with `scripts/nginx-proxy-manager/create-npmplus-rpc-d-bis-hosts.sh` and `create-npmplus-defi-oracle-hosts.sh`, or in NPMplus UI (Hosts → Proxy Hosts → Add), then run the update script or fix-all. The API script only updates existing hosts. 1. **Fix-all** (recommended; applies NPMplus config + verifies RPC): ```bash # Run from repo root. Use same network as NPMplus (192.168.11.x) for updates. ./scripts/fix-rpc-chain138-npmplus.sh ``` 2. **API-based update** only: ```bash # Ensure .env has NPM_URL, NPM_EMAIL, NPM_PASSWORD ./scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh ``` 3. **Browser automation** (if API not used): ```bash node scripts/nginx-proxy-manager/configure-npmplus-domains.js ``` 4. **Verify** RPC and chain ID: ```bash curl -s -X POST https://rpc-http-pub.d-bis.org \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' # Expect: {"jsonrpc":"2.0","id":1,"result":"0x8a"} ``` --- ## References - [NEXT_STEPS_CHAIN138_RPC.md](./NEXT_STEPS_CHAIN138_RPC.md) – Complete next steps using .env and scripts - [RPC_ENDPOINTS_MASTER.md](./RPC_ENDPOINTS_MASTER.md) – All RPC endpoints - [NPMPLUS_CORRECT_CONFIGURATION.md](./NPMPLUS_CORRECT_CONFIGURATION.md) – NPMplus domain config - [RPC_NODE_TYPES_ARCHITECTURE.md](../05-network/RPC_NODE_TYPES_ARCHITECTURE.md) – RPC node types - [TASK9_LEDGER_RPC_VERIFICATION.md](../../smom-dbis-138/docs/deployment/TASK9_LEDGER_RPC_VERIFICATION.md) – Ledger ChainID 138 verification --- **Last Updated**: 2026-01-28