Skip to content
§ 00 · prologue the control plane for blockchain RPC live · production telemetry

The control plane between your app and every RPC provider.

Adaptive routing, declarative budgets, real-time telemetry — all governed from one console so your team stops paging when an upstream wobbles.

— free while in preview.

facts
provider chains, multiplexed
12+
config rollout cadence
~30s
key hashing · AES-256-GCM at rest
SHA-256
what it does
§ 01 responsibilities

Three responsibilities. Zero of them is “be your RPC provider.”

  1. 01

    Real-time observability

    Per-operation latency, success rate, p95/p99, rate-limit hits, score history, and the full per-attempt failover trace — the answers your oncall needs before they reach for ssh.

  2. 02

    Remote configuration

    Flip selection strategy, retune retry policy, adjust scoring weights, push provider weights — all without a redeploy. The cloud agent applies your change within 30 seconds.

  3. 03

    Out of the request path

    Your app talks to RPC providers directly. We never see your blockchain traffic — only the telemetry your SDK chooses to send. No vendor lock-in by design.

how it fits
§ 02 architecture
try it
§ 03 playground

Break a provider. Watch the routing adapt.

A client-side simulation of the SDK's selection engine + the cloud's telemetry stream. Toggle the strategy, inject a fault, watch the lanes reroute. No login, no API calls — everything happens in your browser.

five-line wire-in
§ 04 integration

Drop two callbacks into the builder you already wrote.

No proxy, no sidecar, no DSL. The cloud agent wires into the existing MixedProviders builder via the MetricsRecorder and ConfigUpdater hooks the SDK already exposes.

main.go five lines · §A5 / cloudagent
import (
  "github.com/exapsy/chainkit"
  "github.com/exapsy/chainkit/cloudagent"
)

agent := cloudagent.New(cloudagent.Options{
  Endpoint: "https://api.chainkit.cloud",
  APIKey:   os.Getenv("CHAINKIT_KEY"),
})

providers := chainkit.NewMixedProviders(
  chainkit.WithBalanceFetchers( /* … */ ),
  chainkit.WithMetricsRecorder(agent.MetricsRecorder()),
  chainkit.WithConfigUpdater(agent.Updater()),
)
agent.Start(ctx)
wire it in today
§ 05 enlist

Five lines. You'll know before lunch.

Free while in preview. No credit card, no commitment, no provider lock-in. You can rip it out as easily as you wire it in.