"QuickNode core workflow a \u2014 blockchain RPC and Web3 infrastructure\
Scanned 9/2/2026
Install to Claude Code
npx -y skills add jeremylongshore/tons-of-skills-marketplace --skill quicknode-core-workflow-a --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Quicknode Core Workflow A?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jeremylongshore-quicknode-core-workflow-a-aed04c49)More formats (shields.io, HTML) on the badges page.
---
name: quicknode-core-workflow-a
description: "QuickNode core workflow a \u2014 blockchain RPC and Web3 infrastructure\
\ integration.\nUse when working with QuickNode for blockchain development.\nTrigger\
\ with phrases like \"quicknode core workflow a\", \"quicknode-core-workflow-a\"\
, \"blockchain RPC\".\n"
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep
version: 1.5.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- quicknode
- blockchain
- web3
- rpc
- ethereum
compatibility: Designed for Claude Code
---
# QuickNode Core Workflow A
## Overview
Build EVM transaction workflows: send ETH, interact with contracts, listen for events, and handle gas estimation.
## Prerequisites
- Completed `quicknode-hello-world`
- A funded wallet (use testnet for development)
## Instructions
### Step 1: Send ETH Transaction
```typescript
import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider(process.env.QUICKNODE_ENDPOINT);
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
const tx = await wallet.sendTransaction({
to: '0xRecipientAddress',
value: ethers.parseEther('0.01'),
});
console.log(`TX sent: ${tx.hash}`);
const receipt = await tx.wait();
console.log(`Confirmed in block ${receipt!.blockNumber}, gas used: ${receipt!.gasUsed}`);
```
### Step 2: Call Contract Write Function
```typescript
const contractAddress = '0xYourContract';
const abi = ['function transfer(address to, uint256 amount) returns (bool)'];
const contract = new ethers.Contract(contractAddress, abi, wallet);
const tx = await contract.transfer('0xRecipient', ethers.parseUnits('100', 18));
const receipt = await tx.wait();
console.log(`Transfer confirmed: ${receipt!.hash}`);
```
### Step 3: Listen for Events (WebSocket)
```typescript
const wsProvider = new ethers.WebSocketProvider(process.env.QUICKNODE_WSS);
const contract = new ethers.Contract(contractAddress, ['event Transfer(address indexed from, address indexed to, uint256 value)'], wsProvider);
contract.on('Transfer', (from, to, value, event) => {
console.log(`Transfer: ${from} -> ${to}: ${ethers.formatUnits(value, 18)}`);
});
```
### Step 4: Gas Estimation
```typescript
const gasEstimate = await contract.transfer.estimateGas('0xRecipient', ethers.parseUnits('100', 18));
const feeData = await provider.getFeeData();
const totalCost = gasEstimate * (feeData.gasPrice || 0n);
console.log(`Estimated gas: ${gasEstimate}, cost: ${ethers.formatEther(totalCost)} ETH`);
```
## Output
- ETH transfer with receipt confirmation
- Smart contract interaction
- Real-time event listening via WebSocket
- Gas estimation before transactions
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| `insufficient funds` | Wallet balance too low | Fund wallet or reduce amount |
| `nonce too low` | Nonce conflict | Get latest nonce: `provider.getTransactionCount(address)` |
| `gas required exceeds allowance` | Contract revert | Check contract requirements |
## Resources
- [QuickNode Ethereum API](https://www.quicknode.com/docs/ethereum)
- [ethers.js Documentation](https://docs.ethers.org/)
## Next Steps
NFT and token APIs: `quicknode-core-workflow-b`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!