Maskot beruang kutub NordBastion duduk di workstation kendali misi taktis dengan monitor terminal holografik melayang yang menampilkan kode sian, keyboard mekanikal dengan keycap bercahaya sian dan perisai N-sian bersandar di sampingnya, di dalam ruang konsol batu Nordik terbuka dengan jendela berlatar aurora
API.v1 · REST · MCP · API

Jalankan NordBastion dari kode.
Bebas KYC, berbayar kripto, dapat di-script sepenuhnya.

Daftar, buat kunci, lalu uji akses. Tidak perlu deposit.

Mulai cepat

Buat kunci API sebelum membayar.

Daftar, buat kunci, lalu uji akses. Tidak perlu deposit.

cURL

Gunakan token akses dari pendaftaran atau login untuk membuat kunci API dengan izin terbatas. Kunci dikembalikan dalam teks biasa hanya sekali.

# bash + curl + jq
# Set NB_EMAIL and NB_PASSWORD in your environment.
set -eu
: "${NB_EMAIL:?Set NB_EMAIL}" "${NB_PASSWORD:?Set NB_PASSWORD}"
API=https://nordbastion.com/v1
TOKEN=$(jq -n '{email:env.NB_EMAIL,password:env.NB_PASSWORD}' |
  curl --fail-with-body -sS "$API/auth/register" \
    -H 'Content-Type: application/json' --data-binary @- |
  jq -er '.tokens.access_token')
KEY=$(curl --fail-with-body -sS "$API/auth/api-keys" \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"name":"agent-read","scope":"read"}' |
  jq -er '.plaintext')
curl --fail-with-body -sS "$API/account/balance" \
  -H "Authorization: Bearer $KEY"
# Store KEY in your secret store. Do not print it.
unset TOKEN KEY

Python

Buat kunci API sebelum membayar.

import os
import requests

api = "https://nordbastion.com/v1"
with requests.Session() as client:
    signup = client.post(api + "/auth/register", json={
        "email": os.environ["NB_EMAIL"],
        "password": os.environ["NB_PASSWORD"],
    }, timeout=30)
    signup.raise_for_status()
    token = signup.json()["tokens"]["access_token"]
    created = client.post(api + "/auth/api-keys",
        headers={"Authorization": f"Bearer {token}"},
        json={"name": "agent-read", "scope": "read"},
        timeout=30)
    created.raise_for_status()
    key = created.json()["plaintext"]
    # Store key in your secret store; never log it.
    balance = client.get(api + "/account/balance",
        headers={"Authorization": f"Bearer {key}"},
        timeout=30)
    balance.raise_for_status()
    print(balance.json())

Akses kunci API tidak bergantung pada pembayaran. Maksimal 10 kunci aktif per akun; cabut kunci yang tidak digunakan.

Kompatibilitas dan rilis

Endpoint MCP yang dihosting diperbarui di sini. Unduhan stdio per versi menyertakan kode sumber dan checksum SHA-256.

MCP yang dihosting

https://nordbastion.com/mcp
Versi
1.1.0
Versi protokol
2026-07-28 · 2025-11-25 · 2025-06-18 · 2025-03-26
Terakhir diverifikasi
2026-09-15

Kirim kredensial melalui header Authorization, atau argumen access_token jika klien MCP tidak dapat mengatur header.

Otorisasi OAuth melalui browser belum tersedia. Gunakan token Bearer atau argumen access_token secara eksplisit.

Server metadata · MCP specification

MCP · register_account → create_api_key

{"name":"register_account","arguments":{
  "email":"agent@example.com",
  "password":"YOUR_STRONG_PASSWORD"
}}

{"name":"create_api_key","arguments":{
  "name":"agent-read",
  "scope":"read",
  "access_token":"ACCESS_TOKEN_FROM_SIGNUP"
}}

{"name":"get_balance","arguments":{
  "access_token":"PLAINTEXT_FROM_CREATE_API_KEY"
}}

Buat kunci SSH secara lokal. Unggah hanya kunci publik; simpan kunci privat di perangkat Anda.

ssh-keygen -t ed25519 -f ~/.ssh/nordbastion_agent
# add_ssh_key: public_key = contents of the .pub file

Unduh MCP 0.2.0

Python ≥ 3.10 · MCP SDK 2.2.0 · MIT

Wheel · Kode sumber · SHA-256 · Changelog

pip install https://nordbastion.com/downloads/nordbastion_mcp-0.2.0-py3-none-any.whl
nordbastion-mcp

Referensi endpoint

OpenAPI 3.1 · llms-agents.txt

SDK Python, TypeScript, Go, Rust dan CLI masih direncanakan. Gunakan REST atau MCP saat ini.

MethodEndpointCakupanStatus
POST/v1/auth/registerpublicLIVE
POST/v1/auth/loginpublicLIVE
POST/v1/auth/login/totppublicLIVE
POST/v1/auth/token/refreshpublicLIVE
POST/v1/auth/recoverpublicPLANNED
GET/v1/auth/sessionsfullLIVE
DELETE/v1/auth/sessions/{token_id}fullLIVE
POST/v1/auth/totp/setupfullLIVE
POST/v1/auth/totp/enablefullLIVE
POST/v1/auth/totp/disablefullLIVE
POST/v1/auth/passwordfullLIVE
POST/v1/auth/api-keysfullLIVE
GET/v1/auth/api-keysreadLIVE
DELETE/v1/auth/api-keys/{key_id}fullLIVE
GET/v1/accountreadLIVE
PATCH/v1/accountfullPLANNED
GET/v1/account/balancereadLIVE
GET/v1/account/usagereadLIVE
GET/v1/account/audit-logreadLIVE
GET/v1/billing/coinspublicLIVE
POST/v1/billing/topupsbillingLIVE
GET/v1/billing/topupsreadLIVE
GET/v1/billing/topups/{order_number}readLIVE
POST/v1/billing/topups/{order_number}/cancelbillingLIVE
GET/v1/billing/bonus-tierspublicLIVE
GET/v1/catalogpublicLIVE
GET/v1/catalog/vpspublicLIVE
GET/v1/catalog/dedicatedpublicLIVE
GET/v1/catalog/bastionspublicLIVE
GET/v1/catalog/imagespublicLIVE
GET/v1/catalog/{code}publicLIVE
POST/v1/serversserversLIVE
GET/v1/serversreadLIVE
GET/v1/servers/{order_number}readLIVE
PATCH/v1/servers/{order_number}serversLIVE
DELETE/v1/servers/{order_number}serversLIVE
POST/v1/ssh-keysserversLIVE
GET/v1/ssh-keysreadLIVE
GET/v1/ssh-keys/{id}readLIVE
DELETE/v1/ssh-keys/{id}serversLIVE
POST/v1/webhooksfullLIVE
GET/v1/webhooksreadLIVE
DELETE/v1/webhooks/{id}fullLIVE
POST/v1/webhooks/{id}/testfullLIVE
GET/v1/transparency/canarypublicLIVE
GET/v1/transparency/peeringpublicLIVE
GET/v1/transparency/statuspublicLIVE
GET/v1/agents/directorypublicLIVE
POST/v1/agents/directoryfullLIVE
POST/v1/oauth/registerpublicLIVE
POST/v1/oauth/tokenpublicLIVE
POST/v1/oauth/revokepublicLIVE
GET/v1/oauth/introspectpublicLIVE

Pembayaran

Jelajahi dan uji sebelum mengisi saldo. Isi ulang kripto hanya diperlukan untuk layanan berbayar.

POST /v1/billing/topups · {"amount_usd":50,"crypto":"XMR"} · USD 30–10,000

x402 mendukung pembayaran USDC bertanda tangan di Base melalui endpoint isi ulang. Tunggu konfirmasi saldo sebelum memesan.

x402: POST /v1/billing/topups · X-Payment-Mode: x402 · {"amount_usd":50}

Batas-batas laju

API key: 120 / min · 3,000 / hour · public: 30 / min · HTTP 429 + Retry-After

Aktivitas akun dicatat dalam log audit API. Kredensial dan isi permintaan tidak disertakan.

Dapatkan kunci API

Hosting privat, dibangun di Utara.