A-Chain Alpine — public endpoint
Run by protonnz. This host serves both the raw MetalGo node API and a Hyperion indexer for A-Chain Alpine, the PulseVM testnet on Tahoe.
● Live status
Head block
…
Current builder
…
Last irreversible
…
Server time (UTC)
…
Recent producers (captured client-side; refreshes every 3 s — newest on the right)
collecting…
Snowman picks one validator per block. Over time the spread approaches uniform across the validator set.
Network identity
Pulse runs as a subnet on Metal Blockchain, so an A-Chain endpoint has four identifiers, each addressing a different layer. Antelope had one "chain ID" — Metal has a layered model.
| Subnet ID |
zT2upfR4BSC55bvxLSbkuHBAcWL7jeG9aJwo8BdEGvV7NCxLW
The validator-set identifier on the P-Chain. A subnet is a group of validators that have agreed to run one or more blockchains.
track-subnets in your metalgo config takes this value. Created once when Metallicus issued the CreateSubnetTx. |
|---|---|
| Blockchain ID |
6v9NieZiX3e8eQz3CyJMtXB6YzV2RtnxcRyLAmSgFWWk5Qs6y
The instance of A-Chain running inside the subnet above. URLs use this:
/ext/bc/<blockchainID>/rpc. Per-chain config lives at ~/.metalgo/configs/chains/<blockchainID>.json. Issued by the P-Chain when Metallicus ran CreateBlockchainTx; encodes "this subnet runs the Pulse VM with this genesis". |
| Chain ID |
0d6f033e887fae475d641104b6e87762b6c869e87a101afeeb64d608ab376618
The Antelope-style chain ID — what gets mixed into every transaction signing digest. This is what
pulsevm-js, pulse-cli, and any signer use to bind a signature to this specific chain so a tx can't be replayed elsewhere. Returned by pulsevm.getInfo. Different value, same purpose as cleos get info's chain_id. |
| Pulse VM ID |
rXcAFxZvio99epp6TzEwYfexCfPAbJuBTMsjUUoiT7PkVykNs
Identifies the Pulse virtual machine binary that MetalGo loads as a plugin. Same on every Pulse subnet on every network — testnet, mainnet, devnet — because they all run the same VM. Your plugin file at
~/.metalgo/plugins/<VM_ID> must be named exactly this string. |
Which one do I use?
| Doing this | Reach for |
|---|---|
| Configuring metalgo to follow this subnet | Subnet ID |
| Hitting the JSON-RPC / building a URL | Blockchain ID |
| Signing a transaction | Chain ID |
| Naming the plugin binary in the plugins dir | Pulse VM ID |
MetalGo endpoints (raw node API)
Reverse-proxied to the local metalgo on 127.0.0.1:9650. API reference: metalgo APIs.
Node info
curl -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","method":"info.getNodeID","params":{},"id":1}' \
https://a-chain-testnet.protonnz.com/ext/info
Pulse JSON-RPC (chain head, accounts, tables, push tx)
curl -s -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","method":"pulsevm.getInfo","params":{},"id":1}' \
https://a-chain-testnet.protonnz.com/ext/bc/6v9NieZiX3e8eQz3CyJMtXB6YzV2RtnxcRyLAmSgFWWk5Qs6y/rpc
curl -s -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","method":"pulsevm.getAccount","params":{"account_name":"protonnz"},"id":1}' \
https://a-chain-testnet.protonnz.com/ext/bc/6v9NieZiX3e8eQz3CyJMtXB6YzV2RtnxcRyLAmSgFWWk5Qs6y/rpc
P-Chain (validators)
curl -s -X POST -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","method":"platform.getCurrentValidators","params":{},"id":1}' \
https://a-chain-testnet.protonnz.com/ext/bc/P
Hyperion API (history + state index)
Reverse-proxied to the local Hyperion API on 127.0.0.1:7000 (release/3.6 branch). Upstream: eosrio/Hyperion.
Health
curl -s https://a-chain-testnet.protonnz.com/v2/health | jq
Recent actions
curl -s 'https://a-chain-testnet.protonnz.com/v2/history/get_actions?limit=5' | jq
Account state
curl -s 'https://a-chain-testnet.protonnz.com/v2/state/get_account?account=protonnz' | jq
Transaction by id
curl -s 'https://a-chain-testnet.protonnz.com/v2/history/get_transaction?id=<TX_ID>' | jq
Note
A handful of v2 endpoints (get_creator, get_created_accounts) and the legacy /v1/chain/* surface aren't fully wired in 3.6 — see the
3.6 endpoint test report.
Programmatic access
TypeScript (pulsevm-js)
import { PulseAPI } from '@metalblockchain/pulsevm-js'
const api = new PulseAPI(
'https://a-chain-testnet.protonnz.com/ext/bc/6v9NieZiX3e8eQz3CyJMtXB6YzV2RtnxcRyLAmSgFWWk5Qs6y/rpc'
)
console.log(await api.getInfo())
pulse-cli
pulse endpoint set https://a-chain-testnet.protonnz.com/ext/bc/6v9NieZiX3e8eQz3CyJMtXB6YzV2RtnxcRyLAmSgFWWk5Qs6y/rpc pulse chain:info pulse account protonnz