Demos › GraphQL

GraphQL — Live Demo

Write a GraphQL query in the editor below and run it against a NASA exoplanet dataset, routed through the Sertone Global Network. The owner registered a GraphQL endpoint and earns per query.

GraphQL Over the Sertone Global Network

Consumer Premises
Your App
Your Sertone
Control Center
On your premises
▼ Request ▲ Response
Sertone Global Network
🔒 Encrypted 🔗 Automatic Payment 🌐 5 Delivery Methods
Proprietary fully encrypted protocol with automatic payment settlement
▼ Request ▲ Response
Owner Premises
Their Sertone
Control Center
GraphQL Exoplanets
Service
On their premises

What is the Sertone control center? A single Docker container you run on your own machine — a laptop, a Raspberry Pi, a cloud server. It connects you to the Sertone Global Network. Through its built-in web console, you browse services, register your own, manage your wallet, and monitor your earnings. Installation takes minutes. It is completely free, forever.

docker run -d --name my-sertone -p 3000:3000 -p 3002:3002 sertone/wrapper:latest

The Sertone Global Network uses a proprietary fully encrypted protocol. All traffic is end-to-end encrypted. Settlement is automatic.

What the owner did: installed their Sertone control center, registered a service on the Sertone network through the web console, set their price, and started earning USDC on every call. The Sertone Global Network handles the rest.

Run a GraphQL Query

POST /api/nasa-exoplanets-v1/graphql — routed through the Sertone Global Network
Waiting
Write a query above and click Run Query
Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.

How to use this service

Any developer worldwide can consume this service from their own Sertone control center. Here is the complete flow from installation to first call:

1

Install your Sertone control center

One Docker command on any machine -- your laptop, a Raspberry Pi, a cloud VM.

$ docker run -d --name my-sertone -p 3000:3000 -p 3002:3002 sertone/wrapper:latest
2

Browse the catalog

Open your web console at https://localhost:3002/panel. Go to the Catalog tab. Search for the service you need -- use keywords, tags, or browse by category.

3

Preview with demo samples

Click on any service to see its full description, available endpoints, and sample data. Try it in the Swagger sandbox -- demo samples are free, no payment needed. See exactly what the data looks like before you spend a cent.

4

Fund your wallet

Go to the Finance tab. Deposit USDC and a small amount of ETH for gas. Your control center shows both balances and alerts you when they are low.

5

Call it from your code

Copy your consumer secret from Settings. Use the service UUID from the catalog. Make your first real call:

$ curl -X POST https://localhost:3000/internal/call \ -H "Authorization: Bearer YOUR_CONSUMER_SECRET" \ -H "Content-Type: application/json" \ -d '{"api_id_public": "SERVICE_UUID", "path": "/graphql", "method": "POST", "body": "{\"query\": \"{ exoplanets(limit:3) { pl_name disc_method } }\"}"}'

Or generate an SDK in your preferred language (Python, TypeScript, Go, Rust, Kotlin, and more) -- the web console generates ready-to-use client code with the UUID pre-filled.

6

You are in business

Every call settles automatically in USDC. You pay the service owner's price. No invoices, no payment terms, no chargebacks. Your Finance tab shows every transaction.

Call It From Your Code

# GraphQL query via Sertone — POST to /internal/call with GraphQL body # SERVICE_UUID: copy from your catalog. YOUR_CONSUMER_SECRET: from Settings tab. $ curl -X POST https://localhost:3000/internal/call \ -H "Authorization: Bearer YOUR_CONSUMER_SECRET" \ -H "Content-Type: application/json" \ -d '{"api_id_public": "SERVICE_UUID", "path": "/graphql", "method": "POST", "body": {"query": "{ exoplanets(limit:3) { pl_name pl_orbper disc_method hostname } }"}}' \ | jq '.data.exoplanets[]' # Billing: 1 GraphQL call = 1 settlement. Introspection is free.
// JavaScript — no GraphQL client needed, plain fetch // SERVICE_UUID: copy from your catalog. YOUR_CONSUMER_SECRET: from Settings tab. const QUERY = ` query ExoplanetSearch { exoplanets( where: { disc_method: { _eq: "Transit" } } limit: 5 order_by: { pl_orbper: asc } ) { pl_name pl_orbper pl_rade disc_method hostname star { st_spectype st_teff st_dist } } } `; const res = await fetch('https://localhost:3000/internal/call', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_CONSUMER_SECRET', 'Content-Type': 'application/json', }, body: JSON.stringify({ api_id_public: 'SERVICE_UUID', path: '/graphql', method: 'POST', body: { query: QUERY }, }), }); const { data } = await res.json(); data.exoplanets.forEach(p => console.log(p.pl_name, p.disc_method));
# Python — plain requests, no gql library needed # SERVICE_UUID: copy from your catalog. YOUR_CONSUMER_SECRET: from Settings tab. import requests QUERY = """ query ExoplanetSearch { exoplanets( where: { disc_method: { _eq: "Transit" } } limit: 5 order_by: { pl_orbper: asc } ) { pl_name pl_orbper disc_method hostname star { st_spectype st_teff } } } """ r = requests.post( "https://localhost:3000/internal/call", headers={"Authorization": "Bearer YOUR_CONSUMER_SECRET"}, json={ "api_id_public": "SERVICE_UUID", "path": "/graphql", "method": "POST", "body": {"query": QUERY}, }, ) r.raise_for_status() for planet in r.json()["data"]["exoplanets"]: print(planet["pl_name"], "-", planet["disc_method"])

Replicate This on Your Raspberry Pi

Any GraphQL endpoint — yours, a public one, or one you built — can be registered in Sertone. The node handles billing per query automatically.

1

Start your Sertone (same as REST demo)

$ docker run -d --name sertone -p 3000:3000 -p 3001:3001 \ -v sertone-data:/data sertone/wrapper:latest
2

Register a GraphQL endpoint

Set protocol: "graphql" and point at your GraphQL server.

$ curl -X POST http://localhost:3001/api/register \ -H "Content-Type: application/json" \ -d '{ "name": "My GraphQL API", "endpoint": "http://localhost:4000/graphql", "protocol": "graphql", "price_usdc": "0.0005", "description": "GraphQL API for my dataset" }'
3

Run queries against your Sertone

Any GraphQL client that can POST to an HTTP endpoint works. Variables, fragments, and subscriptions are all supported.

$ curl -X POST https://localhost:3000/internal/call \ -H "Authorization: Bearer YOUR_CONSUMER_SECRET" \ -H "Content-Type: application/json" \ -d '{"api_id_public": "SERVICE_UUID", "path": "/graphql", "method": "POST", "body": {"query": "{ __schema { types { name } } }"}}'