We make it simple to power your blockchain applications and scale up as you grow. From elastic APIs & dedicated nodes, to powerful tools & analytics, all at your command through a simple control panel.
We currently support the following chains:
Get started developing immediately with a globally available, cache accelerated service with QuikNode API or when you have custom needs, spin up a dedicated node with unmetered requests in your preferred location using a dedicated QuikNode endpoint. Want better insights or a particular tools? Enable an add-on for your endpoint.
Compare us →The best choice for developers, hobbyists & web-scale blockchain apps.
Launch
300 Thousand calls / month
Pro
20 Million calls / month
Scale
60 Million calls / month
Enterprise
Unlimited calls / month
We took our experience handling heavy load for our dedicated customers, and made it free to try. We provision access on-demand without a rate-limit and seven day free trial for base service.
We use intelligent routing to hit the node closest to your user every time so it’s like your DApp is sitting on top of a CDN. We’re faster than competitors in 65% of locations globally.
Get maximum pending transaction pool visibility for Ethereum in milliseconds - we listen for incoming transactions across 8+ locations and pool them into a central queue. Never miss a transaction again.
Mats Julian Olsen
Cofounder of DuneAnalytics
The clear choice for DApps that need custom set ups.
Boot a dedicated node using your client of choice, such as Parity, OpenEthereum, Geth or Bitcoind. On whatever chain you'd like, i.e. Ropsten, Rinkeby or Kovan.
Our team is able to tune your node settings as needed. We can boot private ethereum, or bitcoin clouds to suit your enterprise needs.
Get your dedicated node fully sync'd in minutes when you boot a Full node. Save weeks of syncing time, by choosing Archive mode which is ready in hours.
Thibauld Favre
CEO of Fairmint
The best way to understand how your dApp is being used.
With our Analytics, you get immediate and robust insight into which of your node's smart contract methods are called the most often and when.
Detect trends in the traffic streaming into your node with hourly, daily, weekly and monthly trend lines.
Our analytics also unlock powerful tools to debug your DApp or endpoint in production; understand when your Web3 calls are failing, your websockets are dropping and why.
Building apps is even easier with our add ons.
Trace mode allows you to request the node to reexecute the desired transaction with varying degrees of data collection.
Get notified of up to 100k Smart Contract events per month + $1 for every additional thousand events we send.
Archive mode means that all historical states of values in smart contracts as well as all balances of an account are accessible.
We support third party integrations with MyCrypto, Metamask, MyEtherWallet, Augur, Chainlink and so many more...
Every QuikNode endpoint is compatible with the major Web3 development SDKs
const Web3 = require('web3'); const web3 = new Web3( 'https://<your-node-name>.quiknode.io/<your-token>/' ); web3.eth.getBlock('latest').then( answer => console.log(answer) ); web3.eth.getBlockNumber().then( blockNum => console.log(blockNum) );
const Web3 = require('web3'); const web3 = new Web3( 'https://<your-node-name>.quiknode.io/<your-token>/' ); web3.eth.getBlock('latest').then( answer => console.log(answer) ); web3.eth.getBlockNumber().then( blockNum => console.log(blockNum) );
import { Drizzle } from 'drizzle'; const options = { web3: { fallback: { url: 'wss://<your-node-name>.quiknode.io/<your-token>/' } } }; const drizzle = new Drizzle(options);
require 'ethereum.rb' client = Ethereum::HttpClient.new( 'https://<your-node-name>.quiknode.io/<your-token>/' ) # get latest block details client.eth_get_block_by_number('latest', false) # get latest block number client.eth_block_number
from web3 import Web3 w3 = Web3( Web3.HTTPProvider( "https://<your-node-name>.quiknode.io/<your-token>/" ) ) # get latest block details w3.eth.getBlock('latest') # get latest block number w3.eth.blockNumber
const HDWalletProvider = require('@truffle/hdwallet-provider'); const mnemonic = "orange apple banana ..."; module.exports = { networks: { mainnet: { provider: function() { return new HDWalletProvider(mnemonic, "https://<your-node-name>.quiknode.io/<your-token>/") }, gas: 5000000, gasPrice: 5e9, network_id: 1 } } };