6 Protocols, One Marketplace

REST, GraphQL, SOAP, gRPC, JSON-RPC, XML-RPC — whatever protocol your API uses, Sertone handles it. Run all 6 in parallel and compare latencies.

Live Demo — This demo runs on a testnet using test USDC. When you install your own Sertone, it connects to the production blockchain with real USDC.

How It Works

Consumer Premises
Your App
Your Sertone
Control Center
On your premises — any protocol
▼ Request ▲ Response
Sertone Global Network
🔒 Encrypted 🔗 Automatic Payment 💰 USDC & USDT
Proprietary fully encrypted protocol with automatic settlement in USDC or USDT
▼ Request ▲ Response
Owner Premises
Their Sertone
Control Center
On their premises — REST, GraphQL, SOAP, gRPC, JSON-RPC, XML-RPC

All 6 API protocols are supported. Services registered on the Sertone network are accessible regardless of the protocol they speak.

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

Why Multi-Protocol Support?

APIs aren't monolithic. A single organization might run REST for public endpoints, GraphQL for mobile clients, SOAP for legacy integrations, and gRPC for internal microservices. Forcing everything into one protocol means rewriting code that already works.

Sertone handles every protocol natively. Register your API regardless of what protocol it speaks — the wrapper detects the protocol, routes the request correctly, and handles any necessary conversion. Consumers and owners both use whatever protocol they prefer.

This demo runs all 6 supported protocols in parallel against the same test infrastructure. Compare latencies side by side and see that protocol choice doesn't impact performance — the Sertone network handles them all equally.

Live Demo — Run All 6 Protocols

REST API Call

Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
Click "Run REST" to call the REST API.

GraphQL Query

Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
Click "Run GraphQL" to send a GraphQL query.

SOAP Operation

Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
Click "Run SOAP" to call the SOAP service.

gRPC Call

Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
Click "Run gRPC" to call the gRPC service.

JSON-RPC Call

Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
Click "Run JSON-RPC" to call the JSON-RPC endpoint.

XML-RPC Call

Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
Click "Run XML-RPC" to call the XML-RPC endpoint.
Live call through the Sertone Global Network. Install your own Sertone to make unlimited calls.
REST
Waiting...
GraphQL
Waiting...
SOAP
Waiting...
gRPC
Waiting...
JSON-RPC
Waiting...
XML-RPC
Waiting...

Code Samples

# Call the API through YOUR local Sertone control center
$ curl -X POST https://localhost:3000/internal/call \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_CONSUMER_SECRET" \
  -d '{"api_id_public": "API_UUID_FROM_CATALOG", "method": "GET", "path": "/", "params": {}}'
// Call the API through YOUR local Sertone control center
// Consumer secret is in Settings > Security
const headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer YOUR_CONSUMER_SECRET'
};

// Run multiple protocols in parallel
const [rest, graphql, soap] = await Promise.all([
  fetch('https://localhost:3000/internal/call', {
    method: 'POST', headers,
    body: JSON.stringify({ api_id_public: 'REST_API_UUID', method: 'GET', path: '/quote/AAPL', params: {} })
  }),
  fetch('https://localhost:3000/internal/call', {
    method: 'POST', headers,
    body: JSON.stringify({ api_id_public: 'GRAPHQL_API_UUID', method: 'POST', path: '/', params: { query: '{ users { id name } }' } })
  }),
  fetch('https://localhost:3000/internal/call', {
    method: 'POST', headers,
    body: JSON.stringify({ api_id_public: 'SOAP_API_UUID', method: 'POST', path: '/', params: { operation: 'getBalance', accountId: 'ACC-001' } })
  })
]);
const results = await Promise.all([rest, graphql, soap].map(r => r.json()));
console.log('Results:', results.map(r => r.result));
# Call the API through YOUR local Sertone control center
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_CONSUMER_SECRET'
}

response = requests.post(
    'https://localhost:3000/internal/call',
    headers=headers,
    json={
        'api_id_public': 'API_UUID_FROM_CATALOG',
        'method': 'GET',
        'path': '/',
        'params': {}
    }
)
print(response.json()['result'])

Self-Host: Register APIs of Any Protocol

1

Install the Control Center

Run the free Sertone Docker container. No cloud account needed.

$ docker run -d --name sertone \
  -p 3000-3003:3000-3003 -p 3005-3006:3005-3006 \
  -v sertone-data:/app/data \
  sertone/wrapper:latest
2

Open the Web Console

Go to https://localhost:3002/panel in your browser. Create your account, accept terms, and your wallet is generated automatically.

# In the Sertone web console:
# 1. Go to APIs → Register New API
# 2. Set endpoint URL (any protocol)
# 3. Wrapper auto-detects: REST, GraphQL, SOAP, gRPC, JSON-RPC, XML-RPC
# 4. Set pricing and go live
3

Browse the Catalog

Click Catalog & SDKs in the sidebar. Search for APIs, try them in demo mode (free), then switch to production when ready.

4

Make Your First Call

Copy your consumer secret from Settings > Security, then use the code samples above to call any API from your own code.