MeshKit
Providers

Providers

Storage, retrieval, persistence, and policy adapters for MeshKit.

Providers decide where encrypted bytes and MeshKit workflow metadata live. Choose them by workflow, not by infrastructure preference alone.

The SDK facade is enough for local development. Provider pages are for the moment you need production storage, retrieval, pinning, policy, persistence, failover, or validation evidence.

Provider Decision Table

NeedStart withNotes
Tutorial or deterministic testLocal devNot durable production storage
Kubo-compatible IPFS HTTP APIIPFS HTTP / KuboRequires MeshKit metadata service beside Kubo
App-owned in-process IPFSHeliaApp owns Helia/libp2p setup
Pin lifecyclePinning servicePinning does not replace backing storage and metadata
Gateway read pathGateway retrievalVerify bytes against CID before decrypting
Private operator clusterIPFS ClusterCluster REST is not Kubo RPC
Ordered failoverFallbackUseful only when metadata boundaries are compatible
Long-term retention proofFilecoinHTTP bridge abstraction, not direct Filecoin client
External access decisionsLit policyHTTP policy boundary; fail closed when unavailable

The Production Rule

Production MeshKit needs both:

encrypted byte storage
+ MeshKit metadata service

The metadata service stores proofs, capsules, revoked capsule state, mailbox records, sync jobs, vaults, capabilities, logs, and health checks. A stock IPFS node or gateway is not enough for workflows that need those records.

Configuration Shape

Most production deployments centralize provider config:

{
  "version": 1,
  "appId": "mk_production_app",
  "provider": {
    "type": "ipfs-http",
    "ipfsApiUrl": "https://ipfs-api.internal.example",
    "metadataApiUrl": "https://meshkit-metadata.internal.example",
    "tokenEnv": "MESHKIT_PROVIDER_TOKEN",
    "timeoutMs": 15000,
    "retries": 2
  }
}

Application code can load resolved secrets with meshkit.fromConfig; CLI config should prefer tokenEnv so credentials stay outside the file.

Validation Before Production

Run at least one end-to-end write/read/proof validation against the same provider boundary your app will use:

npx -p @meshkit/cli meshkit doctor --json
npx -p @meshkit/cli meshkit providers test --json

For repository live-provider validation, run the opt-in scripts only after setting the required environment variables.

Common Provider Mistakes

  • Calling local-dev production-ready because the SDK quickstart passed.
  • Pointing browser or mobile clients directly at unrestricted Kubo RPC.
  • Configuring a byte provider without a MeshKit metadata service.
  • Assuming gateway retrieval proves authorization.
  • Treating Filecoin deal state as a retrieval guarantee.
  • Reusing the same bearer token across storage, metadata, pinning, gateway, and policy services.

Next Steps

On this page