API Credits
Stackup uses an API credit system to provide fair usage-based pricing.
Stackup uses an API credit system to provide you the best prices for account abstraction services.
Not all API calls are created equal - some have much higher load on our systems than others. Most usage-based node providers have a similar API credit system, but we've always wondered how they chose them. Some seem to be arbitrary.
Open source pricing
We think everyone benefits most from transparency in our pricing, just like everyone benefits from our open source software. Any RPC methods not listed here are free. These prices are subject to change, but don't worry, we'll notify you.
How are API credits determined?
We run a standard suite of benchmark tests on each RPC method and rank the results based on their P95 latency. We then group them logarithmically to create a 5 tier credit system.
Credits per API Call | RPC Methods |
---|---|
1 | eth_getBalance eth_blockNumber eth_chainId eth_maxPriorityFeePerGas eth_gasPrice eth_getBlockByNumber eth_getBlockByHash eth_supportedEntryPoints |
2 | eth_getTransactionReceipt eth_getCode eth_call |
3 | eth_feeHistory eth_getLogs eth_getUserOperationByHash eth_getUserOperationReceipt eth_estimateGas |
4 | eth_sendUserOperation |
5 | eth_estimateUserOperationGas pm_sponsorUserOperation |
Example: UserOperation Price
Here is the RPC call stack from running yarn run simpleAccount transfer
in the Quickstart Example:
eth_call
: to get sender address (2 credits)eth_call
: to get sender nonce (2 credits)eth_maxPriorityFeePerGas
: to determine the fee tip for the current block (1 credit)eth_getBlockByNumber
: to derive maxFeePerGas using the currentbasefee
(1 credit)eth_estimateUserOperationGas
: to derive gas limits for a userOp (5 credits)eth_sendUserOperation
: to send to the bundler (4 credits)eth_getBlockByNumber
: to determine range for queryingUserOperationEvent
(1 credit)eth_getLogs
: to check for UserOperationEvent (3 credits)eth_getLogs
: to check for UserOperationEvent (3 credits)
Additionally there are 9 calls to eth_chainId
. That's approximately 31 credits for a transfer.
Credit Limits
Each month you are given free credits based on your plan. You aren't charged for usage until you hit the monthly credit limit.
Plan | Monthly Credit Limit | What happens when I hit the limit? |
---|---|---|
Free | 3,500 | Service stops until next monthly cycle |
Developer | 35,000 | Your service will continue, and you will be automatically charged for your next 35,000 credits. |
Startup | 350,000 | Your service will continue, and you will be automatically charged for the next 35,000 credits. |
So on a Startup plan, you can send ~10,000 UserOperations per month before usage-based pricing kicks in.
Updated 7 days ago