1. ⚡ Purchase
TunnelSats Public Wireguard API
  • Announcements
    • 👋 About our team
    • 💫 What is TunnelSats?
    • 🚀 Introducing the TunnelSats Public API v1
    • How TunnelSats Leverages Public APIs for Confined VPN Management
  • 📡 Discovery
    • List Available WireGuard Servers & Regions
      GET
  • ⚡ Purchase
    • Create a New WireGuard Subscription (Invoice Generation)
      POST
    • Check Invoice Status & Polling by Payment Hash
      GET
    • Claim WireGuard Configuration After Payment Settlement
      POST
  • 🔄 Lifecycle
    • Get Subscription & Bandwidth Status by WireGuard Public Key
      POST
    • Renew an Existing VPN Subscription (Anonymous)
      POST
    • Sync Subscription (Real-Time Server Refresh)
      POST
    • Request Bandwidth Top-Up ($1 for +100GB)
      POST
  • 🔑 Account
    • List Account Subscriptions (Authenticated)
      GET
  • 🔧 Tools
    • Lightning Node Network Address Discovery
      POST
    • Universal Connectivity & Latency Probe
      POST
  • Cookbook
    • 🛠️ Automation & Code Examples
    • 🐚 Bash One-Liners
    • 🚑 Node Health & Upkeep
    • ⚡ Bandwidth Top-Up ($1 for +100GB)
    • 🛡️ Security & Authentication
    • 🎁 Referral Program: Earn Bonus Months
    • 🛑 Error Codes & Troubleshooting
  • Schemas
    • Server
    • InvoiceOrder
    • SubscriptionStatus
    • NodeLookup
    • ConnectivityResult
    • ApiError
    • ClaimResult
    • BandwidthResetResponse
    • PublicKeyStatusResponse
    • RenewalOrder
    • SubscriptionListItem
    • SyncResult
Tunnelsats Github
Tunnelsats Telegram
  1. ⚡ Purchase

Check Invoice Status & Polling by Payment Hash

GET
https://tunnelsats.com/api/public/v1/subscription/{paymentHash}
Poll this endpoint after payment to check invoice settlement status. Returns subscription details once paid. Rate limit: 60 requests/min per IP.

Request

Path Params

Header Params

Responses

🟢200OK
application/json
Subscription/Invoice status
Bodyapplication/json

🟠404Record Not Found
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://tunnelsats.com/api/public/v1/subscription/' \
--header 'Accept;'
Response Response Example
200 - Success Example
{
    "status": "paid",
    "subscriptionEnd": "2026-10-15T12:00:00Z",
    "bandwidthUsed": 0,
    "server": {
        "id": "eu-de",
        "domain": "de2.tunnelsats.com",
        "endpoint": "de2.tunnelsats.com:51820"
    }
}
Modified at 2026-09-02 07:41:45
Previous
Create a New WireGuard Subscription (Invoice Generation)
Next
Claim WireGuard Configuration After Payment Settlement
Built with