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:
- Get a free API key at blockfrost.io
- Add to environment:
BLOCKFROST_API_KEY=your_key - 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:
| Feature | Blockfrost | Kupmios |
|---|---|---|
| Setup Time | 5 minutes | 30+ minutes |
| Hosting | Hosted | Self-hosted |
| Cost | Free tier available | Infrastructure cost |
| Latency | Network dependent | Very low (local) |
| Privacy | Requests visible to provider | Fully private |
| Rate Limits | Yes (tier-based) | None |
| Maintenance | Zero | Node 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:1337Then 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
- Client Basics - Learn core client operations
- Getting Started - Quick start guide
- Querying - Query blockchain state