- Add Event resource with get and getAll operations - Implement event tracking for Strike API events - Update node icon from strike.svg to strike.png - Add comprehensive README.md with disclaimer about AI-assisted development - Update CLAUDE.MD documentation with Event resource details - Build dist files with new Event operations Changes include: - New EventDescription.ts with event operations - Updated Strike.node.ts to handle event resource - Icon changed to PNG format for better compatibility - Production-ready README with usage examples and warnings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
6.3 KiB
6.3 KiB
n8n-nodes-strike
n8n community node for Strike API - Bitcoin payments and Lightning Network integration.
Project Overview
This is an n8n community node package that provides integration with the Strike API, enabling Bitcoin and Lightning Network payment operations within n8n workflows.
Key Features
- Bitcoin & Lightning Network Payments: Send and receive Bitcoin payments via Lightning Network
- Invoice Management: Create and manage Strike invoices
- Account Operations: Query account profiles, balances, and limits
- Currency Exchange: Convert between different currencies using Strike's exchange service
- Deposit & Payout Management: Handle deposits and payouts with fee estimation
- Payment Methods: Manage bank account payment methods
- Rate Information: Access real-time exchange rates and ticker data
- Event Tracking: Monitor and retrieve Strike events for your account
Project Structure
n8n-nodes-strike/
├── credentials/
│ └── StrikeApi.credentials.ts # Strike API authentication
├── nodes/
│ └── Strike/
│ ├── Strike.node.ts # Main node implementation
│ ├── StrikeApi.ts # API request handlers
│ └── descriptions/ # Resource operation descriptions
│ ├── AccountDescription.ts
│ ├── BalanceDescription.ts
│ ├── CurrencyExchangeDescription.ts
│ ├── DepositDescription.ts
│ ├── EventDescription.ts
│ ├── InvoiceDescription.ts
│ ├── PaymentDescription.ts
│ ├── PaymentMethodDescription.ts
│ ├── PayoutDescription.ts
│ ├── RatesDescription.ts
│ └── index.ts
├── dist/ # Built files (generated)
├── package.json
├── tsconfig.json
├── gulpfile.js
└── .eslintrc.js
Resources & Operations
Account
getProfile: Get account profile by account IDgetProfileByHandle: Get account profile by Strike handlegetLimits: Get account limits
Balance
get: Get current account balances
Currency Exchange
createQuote: Create a currency exchange quotegetQuote: Get a currency exchange quote by IDexecuteQuote: Execute a currency exchange quote
Deposit
create: Create a depositget: Get deposit by IDgetAll: Get all deposits with optional filtersestimateFee: Estimate deposit fee
Event
get: Get event by IDgetAll: Get all events with optional filters
Invoice
create: Create a new invoiceget: Get invoice by IDgetAll: Get all invoices with optional filterscreateQuote: Create a quote for an invoicecancel: Cancel an invoice
Payment
get: Get payment by IDcreateLightningQuote: Create a Lightning Network payment quotecreateOnchainQuote: Create an on-chain Bitcoin payment quotecreateLnurlQuote: Create a LNURL payment quotegetLnurlDetails: Get LNURL detailsexecuteQuote: Execute a payment quote
Payment Method
createBank: Add a bank account payment methodget: Get payment method by IDgetAll: Get all payment methodsdelete: Delete a payment method
Payout
create: Create a payoutget: Get payout by IDgetAll: Get all payouts with optional filtersinitiate: Initiate a payout
Rates
getTicker: Get exchange rate ticker for a currency pair
Technical Details
Authentication
The node uses Bearer token authentication with the Strike API. Users configure:
- API Key: Strike API key from the Strike Dashboard
- Environment: Production or Sandbox
Base URL: https://api.strike.me/v1
API Request Implementation
Located in nodes/Strike/StrikeApi.ts:
strikeApiRequest: Standard API request handlerstrikeApiRequestAllItems: Pagination handler for list endpoints
Node Implementation Pattern
The main node (Strike.node.ts) follows n8n's standard patterns:
- User selects a Resource (e.g., invoice, payment)
- User selects an Operation for that resource (e.g., create, get)
- Operation-specific parameters are displayed
- Node executes the operation via the Strike API
Error handling includes:
- Try/catch blocks for each operation
- Support for "continue on fail" mode
- Proper execution metadata construction
Development
Build Commands
npm run build # Build TypeScript and icons
npm run dev # Watch mode for development
npm run format # Format code with Prettier
npm run lint # Lint with ESLint
npm run lintfix # Auto-fix linting issues
Dependencies
- n8n-workflow: ^1.22.0 (peer dependency)
- TypeScript: ^5.3.0
- ESLint: ^8.56.0
- Prettier: ^3.1.0
- Gulp: ^4.0.2
Build Output
The build process:
- Compiles TypeScript files from
nodes/andcredentials/todist/ - Processes icons with Gulp
- Outputs to
dist/directory which is published to npm
Package Configuration
n8n Integration
"n8n": {
"n8nNodesApiVersion": 1,
"credentials": ["dist/credentials/StrikeApi.credentials.js"],
"nodes": ["dist/nodes/Strike/Strike.node.js"]
}
Keywords
- n8n-community-node-package
- strike
- bitcoin
- lightning
- payments
Installation
npm install n8n-nodes-strike
Or install directly in n8n via the Community Nodes menu.
Usage Notes
- All monetary amounts are handled as strings in the API to maintain precision
- Currency codes follow ISO standards (USD, BTC, etc.)
- Lightning Network operations support both invoices and LNURL
- Pagination is supported for list operations (deposits, invoices, payouts, payment methods)
- OData query parameters are used for filtering and sorting list operations
API Documentation
Strike API Documentation: https://docs.strike.me/api/
Repository
- Homepage: https://github.com/yourusername/n8n-nodes-strike
- Repository: https://github.com/yourusername/n8n-nodes-strike.git
License
MIT
Current Status
- Version: 0.1.0
- Node API Version: 1
- Status: Development
Future Enhancements
Potential areas for expansion:
- Webhook support for payment notifications
- Subscription/recurring payment support
- Additional Strike API endpoints as they become available
- Enhanced error messages and validation
- Test coverage