@n8n-dev/n8n-nodes-zapper 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # @n8n-dev/n8n-nodes-zapper
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@n8n-dev/n8n-nodes-zapper.svg)](https://www.npmjs.com/package/@n8n-dev/n8n-nodes-zapper)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ ---
7
+
8
+ **Stop writing zapper API integrations by hand.**
9
+
10
+ Every time you connect n8n to zapper, you waste hours mapping endpoints, defining parameters, and debugging schemas. You copy-paste from docs, fix edge cases, and pray nothing breaks.
11
+
12
+ **What if connecting n8n to zapper took 5 minutes, not half a day?**
13
+
14
+ This node gives you **1+ resources** out of the box: **Zapper Tools**: with full CRUD operations, typed parameters, and zero manual configuration.
15
+
16
+ ---
17
+
18
+ ## What You Get
19
+
20
+ - **Zero boilerplate**: Resources, operations, and fields are pre-configured and ready to use
21
+ - **Full CRUD**: Create, read, update, and delete support where the API allows it
22
+ - **Typed parameters**: No more guessing field types
23
+ - **Built-in auth**: API key authentication, ready to go
24
+ - **Declarative**: Native n8n performance, no custom execute() overhead
25
+
26
+ ---
27
+
28
+ ## Install
29
+
30
+ ```bash
31
+ npm install @n8n-dev/n8n-nodes-zapper
32
+ ```
33
+
34
+ **Or in n8n:**
35
+ 1. **Settings → Community Nodes → Install**
36
+ 2. Search: `@n8n-dev/n8n-nodes-zapper`
37
+ 3. Click **Install**
38
+
39
+ ---
40
+
41
+ ## Quick Start
42
+
43
+ 1. Install the node (above)
44
+ 2. Add credentials: **zapper API** → paste your API key
45
+ 3. Drag the **zapper** node into your workflow
46
+ 4. Pick a resource → pick an operation → done.
47
+
48
+ That's it. No configuration files. No code. It just works.
49
+
50
+ ---
51
+
52
+ ## Resources
53
+
54
+ | Resource | Operations |
55
+ |----------|------------|
56
+ | Zapper Tools | POST Get real-time token price and market cap, POST Search for ERC20 tokens, NFTs, Users, Apps, or Gas Tokens., POST Get detailed metadata, traits, media, and holder info for a specific NFT, POST Get NFT collection data including market stats, holders, events, and a sample of NFTs., POST Get aggregated portfolio totals (Tokens, Apps, NFTs) broken down by network for a single address, or a list of addresses., POST Get detailed token balances for a single address, or a list of addresses, optionally filtering by chain., POST Get DeFi balances (Liquidity Pools, Yield Farming, Lending, etc.) for a single address, or a list of addresses., POST Get individual NFT balances and estimated values for a single address, or a list of addresses., POST Get the price of a token at a specific point in time., POST Get human-readable interpretation, metadata, and balance changes for a specific transaction., POST Get transaction history with interpretations and metadata for a single address, or a list of addresses., POST Get token holders with balances and identity information for a specific token., POST Get a ranked list of tokens based on swap activity and velocity of adoption, optionally tailored for a farcaster user., POST Get a ranked list of NFT collections based on rading activity and collection popularity, optionally tailored for a farcaster user., POST Get social identity (ENS, Farcaster, Lens, Basenames) for a specific address., POST Get a real-time feed of swap activity across Farcaster, including token trades, volume, and social context., POST Get a combined activity feed for a specific token, including swaps and top Farcaster casts, personalized for a given user. |
57
+
58
+ ---
59
+
60
+ ## Why This Node?
61
+
62
+ **Without this node:**
63
+ - Hours of manual API integration
64
+ - Copy-pasting from zapper docs
65
+ - Debugging auth, pagination, error handling
66
+ - Maintaining your own client code
67
+
68
+ **With this node:**
69
+ - Install → configure → use. 5 minutes.
70
+ - Auto-generated from the official zapper OpenAPI spec
71
+ - Always up to date when the API changes
72
+ - Native n8n performance
73
+
74
+ ---
75
+
76
+ ## Auto-Generated
77
+ This node was auto-generated from the official **zapper** OpenAPI specification using
78
+ [@n8n-dev/n8n-openapi-node-ultimate](https://github.com/kelvinzer0/n8n-openapi-node-ultimate),
79
+ then validated against the live API so you get accurate types and real parameters, not guesswork.
80
+
81
+ When the zapper API updates, this node updates too.
82
+
83
+ ---
84
+
85
+ ## Support This Project
86
+
87
+ If this node saved you hours of work, consider supporting continued development, new APIs, better error handling, and faster updates.
88
+
89
+ [![Keep It Moving.](https://crypto-donate.insidexofficial.workers.dev/eyJ0aXRsZSI6IktlZXAgSXQgTW92aW5nIiwiZGVzYyI6Ik9uZSBkZXZlbG9wZXIgYnVpbHQgYSB0b29sIHRoYXQgYXV0by1nZW5lcmF0ZXNcbm44biBub2RlcyBmcm9tIGFueSBPcGVuQVBJIHNwZWMuXG5cbllvdXIgZG9uYXRpb24gZnVuZHMgbmV3IGZlYXR1cmVzLCBtb3JlIEFQSSBzdXBwb3J0LFxuYW5kIGJldHRlciB0b29saW5nIGZvciBldmVyeSBkZXZlbG9wZXIgYWZ0ZXIgeW91LiIsInRhcmdldCI6NTAwMCwiYWRkcmVzc2VzIjp7ImV0aGVyZXVtIjoiMHhmMDU1NWQ0MGRiRkI0ZTNCZjA3MDQ0MjgyQjc4RjJmRTFmNTFFZjcyIiwic29sYW5hIjoiNlpEVk5BYmpZZExEcXo4cGt3VUNHYllaNVV3QlFranB0QzU1Wk5vTFcybVUifSwiZGlzY29yZCI6Imh0dHBzOi8vZGlzY29yZC5nZy9wdERaOGU0aDkzIn0/badge)](https://n8n-code.github.io/membership/#/eyJ0aXRsZSI6IktlZXAgSXQgTW92aW5nIiwiZGVzYyI6Ik9uZSBkZXZlbG9wZXIgYnVpbHQgYSB0b29sIHRoYXQgYXV0by1nZW5lcmF0ZXNcbm44biBub2RlcyBmcm9tIGFueSBPcGVuQVBJIHNwZWMuXG5cbllvdXIgZG9uYXRpb24gZnVuZHMgbmV3IGZlYXR1cmVzLCBtb3JlIEFQSSBzdXBwb3J0LFxuYW5kIGJldHRlciB0b29saW5nIGZvciBldmVyeSBkZXZlbG9wZXIgYWZ0ZXIgeW91LiIsInRhcmdldCI6NTAwMCwiYWRkcmVzc2VzIjp7ImV0aGVyZXVtIjoiMHhmMDU1NWQ0MGRiRkI0ZTNCZjA3MDQ0MjgyQjc4RjJmRTFmNTFFZjcyIiwic29sYW5hIjoiNlpEVk5BYmpZZExEcXo4cGt3VUNHYllaNVV3QlFranB0QzU1Wk5vTFcybVUifSwiZGlzY29yZCI6Imh0dHBzOi8vZGlzY29yZC5nZy9wdERaOGU0aDkzIn0)
90
+
91
+ ---
92
+
93
+ ## License
94
+
95
+ MIT © [kelvinzer0](https://github.com/n8n-code)
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class ZapperApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZapperApi = void 0;
4
+ class ZapperApi {
5
+ constructor() {
6
+ this.name = 'N8nDevZapperApi';
7
+ this.displayName = 'zapper API';
8
+ this.icon = { light: 'file:../nodes/Zapper/zapper.svg', dark: 'file:../nodes/Zapper/zapper.dark.svg' };
9
+ this.documentationUrl = '';
10
+ this.properties = [
11
+ {
12
+ displayName: 'Base URL',
13
+ name: 'url',
14
+ type: 'string',
15
+ default: '',
16
+ required: true,
17
+ placeholder: 'https://api.example.com',
18
+ description: 'The base URL of your zapper API server',
19
+ },
20
+ {
21
+ displayName: 'API Key',
22
+ name: 'apiKey',
23
+ type: 'string',
24
+ typeOptions: { password: true },
25
+ default: '',
26
+ required: true,
27
+ },
28
+ {
29
+ "displayName": "❤️ Keep It Moving: One developer built a tool that auto-generates n8n nodes from any OpenAPI spec. Your donation funds new features, more API support, and better tooling for every developer after you. <a href=\"https://n8n-code.github.io/membership/#/eyJ0aXRsZSI6IktlZXAgSXQgTW92aW5nIiwiZGVzYyI6Ik9uZSBkZXZlbG9wZXIgYnVpbHQgYSB0b29sIHRoYXQgYXV0by1nZW5lcmF0ZXNcbm44biBub2RlcyBmcm9tIGFueSBPcGVuQVBJIHNwZWMuXG5cbllvdXIgZG9uYXRpb24gZnVuZHMgbmV3IGZlYXR1cmVzLCBtb3JlIEFQSSBzdXBwb3J0LFxuYW5kIGJldHRlciB0b29saW5nIGZvciBldmVyeSBkZXZlbG9wZXIgYWZ0ZXIgeW91LiIsInRhcmdldCI6NTAwMCwiYWRkcmVzc2VzIjp7ImV0aGVyZXVtIjoiMHhmMDU1NWQ0MGRiRkI0ZTNCZjA3MDQ0MjgyQjc4RjJmRTFmNTFFZjcyIiwic29sYW5hIjoiNlpEVk5BYmpZZExEcXo4cGt3VUNHYllaNVV3QlFranB0QzU1Wk5vTFcybVUifSwiZGlzY29yZCI6Imh0dHBzOi8vZGlzY29yZC5nZy9wdERaOGU0aDkzIn0\" target=\"_blank\">☕ Buy me a coffee</a>",
30
+ "name": "n8nCodeNotice",
31
+ "type": "notice",
32
+ "default": "",
33
+ "displayOptions": {
34
+ "show": {}
35
+ }
36
+ }
37
+ ];
38
+ this.authenticate = {
39
+ type: 'generic',
40
+ properties: {
41
+ headers: {
42
+ Authorization: '=Bearer {{$credentials.apiKey}}',
43
+ },
44
+ },
45
+ };
46
+ this.test = {
47
+ request: {
48
+ baseURL: '={{$credentials.url}}',
49
+ url: '/',
50
+ method: 'GET',
51
+ },
52
+ };
53
+ }
54
+ }
55
+ exports.ZapperApi = ZapperApi;
56
+ //# sourceMappingURL=ZapperApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZapperApi.credentials.js","sourceRoot":"","sources":["../../credentials/ZapperApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,SAAS;IAAtB;QACC,SAAI,GAAG,iBAAiB,CAAC;QAEzB,gBAAW,GAAG,YAAY,CAAC;QAE3B,SAAI,GAAS,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC;QAExG,qBAAgB,GAAG,EAAE,CAAC;QAEtB,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EAAE,wCAAwC;aACrD;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,aAAa,EAAE,k0BAAk0B;gBACj1B,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,EAAE;gBACb,gBAAgB,EAAE;oBACjB,MAAM,EAAE,EAAE;iBACV;aACD;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAtDD,8BAsDC"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" fill="none">
2
+ <rect width="60" height="60" rx="8" fill="#2D2D2D"/>
3
+ <text x="30" y="36" text-anchor="middle" fill="#FF6D5A" font-family="Arial,sans-serif" font-size="24" font-weight="bold">Z</text>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" fill="none">
2
+ <rect width="60" height="60" rx="8" fill="#FF6D5A"/>
3
+ <text x="30" y="36" text-anchor="middle" fill="white" font-family="Arial,sans-serif" font-size="24" font-weight="bold">Z</text>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Zapper implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Zapper = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const zapper_tools_1 = require("./resources/zapper-tools");
6
+ class Zapper {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'zapper',
10
+ name: 'N8nDevZapper',
11
+ icon: { light: 'file:./zapper.svg', dark: 'file:./zapper.dark.svg' },
12
+ group: ['input'],
13
+ version: 1,
14
+ subtitle: '={{\$parameter["operation"] + ": " + \$parameter["resource"]}}',
15
+ description: 'Zapper blockchain portfolio tracker and DeFi dashboard for managing assets across 60+ chains with real-time prices',
16
+ defaults: { name: 'zapper' },
17
+ usableAsTool: true,
18
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
19
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
+ credentials: [
21
+ {
22
+ name: 'N8nDevZapperApi',
23
+ required: true,
24
+ },
25
+ ],
26
+ requestDefaults: {
27
+ baseURL: '={{\$credentials.url}}',
28
+ headers: {
29
+ Accept: 'application/json',
30
+ 'Content-Type': 'application/json',
31
+ },
32
+ },
33
+ properties: [
34
+ {
35
+ "displayName": "Resource",
36
+ "name": "resource",
37
+ "type": "options",
38
+ "noDataExpression": true,
39
+ "options": [
40
+ {
41
+ "name": "Zapper Tools",
42
+ "value": "Zapper Tools",
43
+ "description": ""
44
+ }
45
+ ],
46
+ "default": ""
47
+ },
48
+ ...zapper_tools_1.zapperToolsDescription
49
+ ],
50
+ };
51
+ }
52
+ }
53
+ exports.Zapper = Zapper;
54
+ //# sourceMappingURL=Zapper.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Zapper.node.js","sourceRoot":"","sources":["../../../nodes/Zapper/Zapper.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAC9F,2DAAkE;AAElE,MAAa,MAAM;IAAnB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACpE,KAAK,EAAE,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,gEAAgE;YAC1E,WAAW,EAAE,oHAAoH;YACjI,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,wBAAwB;gBACjC,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACZ;oBACC,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,SAAS;oBACjB,kBAAkB,EAAE,IAAI;oBACxB,SAAS,EAAE;wBACV;4BACC,MAAM,EAAE,cAAc;4BACtB,OAAO,EAAE,cAAc;4BACvB,aAAa,EAAE,EAAE;yBACjB;qBACD;oBACD,SAAS,EAAE,EAAE;iBACb;gBACD,GAAG,qCAAsB;aACxB;SACD,CAAC;IACH,CAAC;CAAA;AA5CD,wBA4CC"}
@@ -0,0 +1,20 @@
1
+ {
2
+ "node": "N8nDevZapper",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": [
6
+ "Development"
7
+ ],
8
+ "resources": {
9
+ "primaryDocumentation": [
10
+ {
11
+ "url": "https://github.com/n8n-code/n8n-nodes-zapper"
12
+ }
13
+ ],
14
+ "credentialDocumentation": [
15
+ {
16
+ "url": "https://github.com/n8n-code/n8n-nodes-zapper?tab=readme-ov-file#credentials"
17
+ }
18
+ ]
19
+ }
20
+ }
@@ -0,0 +1 @@
1
+ export { zapperToolsDescription } from './zapper-tools';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zapperToolsDescription = void 0;
4
+ var zapper_tools_1 = require("./zapper-tools");
5
+ Object.defineProperty(exports, "zapperToolsDescription", { enumerable: true, get: function () { return zapper_tools_1.zapperToolsDescription; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/Zapper/resources/index.ts"],"names":[],"mappings":";;;AAAA,+CAAwD;AAA/C,sHAAA,sBAAsB,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const zapperToolsDescription: INodeProperties[];