Skip to main content
The XOXNO Gateway is a drop-in replacement for the standard MultiversX Go proxy. If your application already uses the Go proxy, switching requires only a base URL change.

URL replacement

Change your base URL from your current Go proxy to the Rust Gateway:
https://rust-gateway.xoxno.com
All endpoint paths are identical. Endpoints are available under both /v1.0/ and / (root) for full compatibility, so existing tools that use the /v1.0/ prefix continue to work. Response JSON shapes match the Go proxy format, so you do not need to change client-side parsing. You can test by pointing a staging environment to the Rust Gateway while keeping production on the Go proxy, then switch once you have validated compatibility.

What stays the same

FeatureCompatibility
Endpoint pathsIdentical
Request/response formatJSON, same field names
Query parametersSame set (onFinalBlock, blockNonce, etc.)
HTTP methodsSame per endpoint
Error response formatSame {"error": "..."} structure
Version prefixBoth /v1.0/ and / work

New capabilities

The Rust Gateway adds features beyond the Go proxy:
FeatureEndpointDescription
Bulk account queriesPOST /address/bulkQuery multiple addresses in one request, grouped by shard
Storage key iterationPOST /address/iterate-keysPaginated iteration over smart contract storage
In-flight deduplicationAutomaticIdentical concurrent requests share a single observer call
Prometheus metricsGET /status/prometheus-metricsNative Prometheus scrape endpoint

Performance characteristics

  • Built in Rust with Axum/Tokio for async I/O
  • Near-zero heap allocations on the hot path
  • Round-robin load balancing across observers with automatic failover
  • TTL caching for block, hyperblock, heartbeat, validator stats, and economics endpoints
  • Request coalescing prevents thundering herd on high-traffic endpoints

Monitoring

EndpointFormatDescription
GET /status/metricsJSON (Go-proxy-compatible)Per-endpoint request count, error count, and response times
GET /status/prometheus-metricsPrometheus expositionNative scrape endpoint for Prometheus
GET /aboutJSONProxy version and commit ID
GET /about/nodes-versionsJSONObserver node software versions by shard
The /status/metrics endpoint returns the same JSON structure as the Go proxy, so existing monitoring dashboards work without changes.

Health checks

EndpointPurposeBehavior
GET /healthzLiveness probeReturns 200
GET /readyzReadiness probeReturns 503 until observers are synced
Use /readyz in your load balancer or Kubernetes health check configuration. The liveness probe confirms the process is running. The readiness probe confirms the Gateway can serve accurate data.