Evolution SDK
Clients

Provider Setup Comparison

Compare how to set up different providers. Choose the provider that best fits your needs.

Provider Setup Comparison

Providers are your bridge to the Cardano blockchain—they handle querying UTxOs, submitting transactions, and fetching protocol parameters. Evolution SDK supports multiple providers with different trade-offs in setup complexity, hosting requirements, and performance characteristics.

Choose Blockfrost for quick setup with hosted infrastructure, or Kupmios for self-hosted control with lower latency. Both provide the same API interface, so switching later is just a configuration change.

Blockfrost

Blockfrost offers hosted infrastructure with a free tier, perfect for development and small-scale applications. Setup takes minutes—just get an API key and connect.

import {  } from "@evolution-sdk/evolution";

const  = ({
  : "preprod",
  : {
    : "blockfrost",
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  },
  : {
    : "seed",
    : ..!,
    : 0
  }
});

Setup:

  1. Get a free API key at blockfrost.io
  2. Add to environment: BLOCKFROST_API_KEY=your_key
  3. Use the endpoint URL above

Kupmios

Run your own Cardano node infrastructure for complete control and privacy. Kupmios combines Kupo (UTxO indexing) and Ogmios (node queries) for a fully local setup. Ideal for production applications that need guaranteed uptime and don't want external dependencies.

import {  } from "@evolution-sdk/evolution";

const  = ({
  : "preprod",
  : {
    : "kupmios",
    : "http://localhost:1442",
    : "http://localhost:1337"
  },
  : {
    : "seed",
    : ..!,
    : 0
  }
});

Choosing a Provider

Here's how the providers compare across key dimensions:

FeatureBlockfrostKupmios
Setup Time5 minutes30+ minutes
HostingHostedSelf-hosted
CostFree tier availableInfrastructure cost
LatencyNetwork dependentVery low (local)
PrivacyRequests visible to providerFully private
Rate LimitsYes (tier-based)None
MaintenanceZeroNode sync & updates

Use Blockfrost for rapid prototyping and development. Switch to Kupmios when you need production-level control, privacy, or performance.

Switching Between Providers

The beauty of Evolution SDK's provider abstraction: your transaction code doesn't change. Only the configuration does:

import {  } from "@evolution-sdk/evolution";

// Start with Blockfrost
const  = ({
  : "preprod",
  : {
    : "blockfrost",
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : "key1"
  },
  : {
    : "seed",
    : "",
    : 0
  }
});

// Switch to Kupmios
const  = ({
  : "preprod",
  : {
    : "kupmios",
    : "http://localhost:1442",
    : "http://localhost:1337"
  },
  : {
    : "seed",
    : "",
    : 0
  }
});

Environment Configuration

Use environment variables to manage provider credentials:

# .env.local
BLOCKFROST_API_KEY=your_key_here
KUPO_URL=http://localhost:1442
OGMIOS_URL=http://localhost:1337

Then in your code:

import {  } from "@evolution-sdk/evolution";

const  = ..
  ? {
      : "blockfrost" as ,
      : "https://cardano-preprod.blockfrost.io/api/v0",
      : ..
    }
  : {
      : "kupmios" as ,
      : ..!,
      : ..!
    };

const  = ({
  : "preprod",
  ,
  : {
    : "seed",
    : ..!,
    : 0
  }
});

Next Steps