Access points
An access point is a public job API (gpn_scheduler). Hit one URL and the network
routes your job to the best idle GPU — no provider addresses needed. They're permissionless and
redundant: anyone can run one, so running several is the decentralized front door.
Everything below is on the public testnet. Tokens have no monetary value, and the testnet can be reset or change without notice.
Known access points
The seeded entry is the current public entry point for the testnet.
| Name | URL | Status | Notes |
|---|---|---|---|
| GPN Testnet (public) | http://gpn-testnet.duckdns.org:8092 |
Live | Current public entry point. LLM chat + job API. Testnet free-AI: the access point
can pay escrow, so clients spend nothing. Health: /health; status: /mode;
registry: /providers. |
No other public access points are published yet. As the network grows, additional regional access points will be listed here.
Network nodes (bootnodes)
Three always-on, publicly-reachable full nodes run the testnet: one Linux bootnode and two Windows full nodes. New nodes dial these to join (P2P multiaddrs).
| Node | Peer | P2P multiaddr | Status |
|---|---|---|---|
| gpn-bootnode-1 (Linux) | 12D3KooWAFt… |
/dns4/gpn-testnet.duckdns.org/tcp/30333/p2p/12D3KooWAFtUNxc6RgC9rq5uSHXd5XUncEcPqp77UU98oN6hSVFo |
Live |
| gpn-fullnode-2 (Windows) | 12D3KooWRWv… |
/ip4/142.129.54.88/tcp/30334/p2p/12D3KooWRWv4yVdJGiVg7xRgdUJY9G57EeutB596gWVpAwGC9qQ2 |
Live |
| gpn-fullnode-3 (Windows) | 12D3KooWMXU2… |
/ip4/23.241.109.255/tcp/30333/p2p/12D3KooWMXU21xpjF9NgG4NsYQo8EejaMCZ8JWPUbSW6q8T7d69Y |
Live |
Check an access point
curl http://gpn-testnet.duckdns.org:8092/health
# {"providers":N,"status":"ok"}
curl http://gpn-testnet.duckdns.org:8092/mode
# testnet free-AI mode
curl http://gpn-testnet.duckdns.org:8092/providers
# live registry: gflops, latency_ms, models, active
Use one from your machine
See the Access the AI page for a working chat example and the full job API. Windows clients need no install — just PowerShell.
Non-loopback POSTs to an access point require
Authorization: Bearer <GPN_AP_TOKEN> (or X-Api-Key). Tokens are set
per access point and are never published here.
Add an access point in one command
Point an access point at the chain and the providers you want it to route to. Expose the port, share the URL, and you're a new front door for the network — no special trust required.
./install-accesspoint.sh
# install + start a systemd --user service:
GPN_INSTALL_SERVICE=1 ./install-accesspoint.sh
gpn-accesspoint-run
| Env var | Meaning | Default |
|---|---|---|
GPN_LISTEN | Listen address:port | 0.0.0.0:8092 |
GPN_ENDPOINT | Chain RPC endpoint | ws://127.0.0.1:9944 |
GPN_PROVIDERS | Comma list of provider /status URLs to route to | http://127.0.0.1:8093 |
GPN_SIGNER_URI | Hot-wallet seed for testnet free-AI mode (creates + escrows jobs) | unset (mainnet = client-signed) |
GPN_AP_TOKEN | Bearer token required for non-loopback POSTs | unset (set your own) |
Config is written to ~/.gpn/accesspoint.env
(chmod 600). Secrets stay there — never in a repo or on a webpage. Full details in the
deploy guide and the
run-a-node guide.
Run an access point, expose its port, and announce it through the project's official channels. Contributions to this page's list are curated; nothing is added automatically.