AutomationFlowsData & Sheets › Generate Ethereum & Solana Blockchain Audit Reports with PDF Export to Drive…

Generate Ethereum & Solana Blockchain Audit Reports with PDF Export to Drive…

Original n8n title: Generate Ethereum & Solana Blockchain Audit Reports with PDF Export to Drive & Notion

ByTegar karunia ilham @tegarkaruniailham on n8n.io

Transform your blockchain compliance workflow with this enterprise-grade automation that monitors transactions across Ethereum and Solana networks, automatically generates professional audit reports, and maintains complete documentation trails.

Webhook trigger★★★★☆ complexity20 nodesHTTP RequestGoogle DriveNotionEmail Send
Data & Sheets Trigger: Webhook Nodes: 20 Complexity: ★★★★☆ Added:
Generate Ethereum & Solana Blockchain Audit Reports with PDF Export to Drive… — n8n workflow card showing HTTP Request, Google Drive, Notion integration

This workflow corresponds to n8n.io template #8547 — we link there as the canonical source.

This workflow follows the Emailsend → Google Drive recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "qJ787oClYEkl9Kz1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Enterprise Blockchain Document Automation: Multi-Chain Transaction Audit Reports with Google Drive & Notion Integration",
  "tags": [
    {
      "id": "6Bd5Rth2OTf9nq38",
      "name": "blockchain",
      "createdAt": "2025-09-13T02:05:07.482Z",
      "updatedAt": "2025-09-13T02:05:07.482Z"
    },
    {
      "id": "QOxbZB87U6rb2Fqo",
      "name": "solana",
      "createdAt": "2025-09-13T02:05:15.567Z",
      "updatedAt": "2025-09-13T02:05:15.567Z"
    },
    {
      "id": "IskMuxAEm0XglOir",
      "name": "eth",
      "createdAt": "2025-09-13T02:05:18.129Z",
      "updatedAt": "2025-09-13T02:05:18.129Z"
    },
    {
      "id": "4fhXioaB07FYjgDU",
      "name": "audit",
      "createdAt": "2025-09-13T02:05:29.474Z",
      "updatedAt": "2025-09-13T02:05:29.474Z"
    }
  ],
  "nodes": [
    {
      "id": "b9741788-3c54-4060-85f3-e227c7ed0f9c",
      "name": "Blockchain Event Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -448,
        240
      ],
      "parameters": {
        "path": "blockchain-transaction",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 1
    },
    {
      "id": "dfcaa9a6-8eee-432f-ac39-28ca989d1233",
      "name": "Ethereum Transaction Monitor",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -16,
        208
      ],
      "parameters": {
        "url": "https://api.alchemy.com/v2/{{ $credentials.alchemy.apiKey }}/",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": []
        },
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "7e3fa61b-7293-493b-87ac-6d334af4a917",
      "name": "Solana Transaction Monitor",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -16,
        608
      ],
      "parameters": {
        "url": "https://api.mainnet-beta.solana.com",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {}
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 3
    },
    {
      "id": "fed4d819-3ad5-4c7e-ab53-30bfafa78064",
      "name": "Transaction Data Processor",
      "type": "n8n-nodes-base.code",
      "position": [
        320,
        464
      ],
      "parameters": {
        "jsCode": "\n// Process blockchain transaction data\nconst processTransactionData = (items) => {\n  const processedData = items.map(item => {\n    const data = item.json;\n\n    // Extract key transaction details\n    const transactionData = {\n      transactionHash: data.transactionHash || data.signature,\n      blockNumber: data.blockNumber || data.slot,\n      from: data.from || data.feePayer,\n      to: data.to || data.accounts?.[0],\n      value: data.value || data.amount,\n      gasUsed: data.gasUsed || data.computeUnitsConsumed,\n      timestamp: new Date().toISOString(),\n      blockchain: data.blockchain || (data.signature ? 'solana' : 'ethereum'),\n      contractAddress: data.logs?.[0]?.address || data.programId,\n      eventData: data.logs || data.instructions,\n      auditTrail: {\n        verified: true,\n        riskScore: calculateRiskScore(data),\n        complianceStatus: checkCompliance(data)\n      }\n    };\n\n    return { json: transactionData };\n  });\n\n  return processedData;\n};\n\n// Risk scoring algorithm\nconst calculateRiskScore = (data) => {\n  let score = 0;\n\n  // High value transactions increase risk\n  if (parseFloat(data.value || 0) > 1000000) score += 30;\n\n  // Unknown addresses increase risk\n  if (!data.from || !data.to) score += 20;\n\n  // Failed transactions increase risk\n  if (data.status === 'failed') score += 40;\n\n  // Multiple contract interactions increase risk\n  if ((data.logs?.length || 0) > 5) score += 15;\n\n  return Math.min(score, 100);\n};\n\n// Compliance check\nconst checkCompliance = (data) => {\n  const checks = {\n    kycVerified: true, // Placeholder - integrate with KYC service\n    sanctionsCheck: true, // Placeholder - integrate with sanctions list\n    jurisdictionCompliant: true,\n    reportingRequired: parseFloat(data.value || 0) > 10000\n  };\n\n  return checks;\n};\n\nreturn processTransactionData($input.all());\n"
      },
      "typeVersion": 2
    },
    {
      "id": "bb5c89d6-a39b-4e31-90be-5116dda92fc9",
      "name": "Audit Report PDF Generator",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        576,
        80
      ],
      "parameters": {
        "url": "https://api.apitemplate.io/v2/create",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {}
          ]
        },
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "c7929f10-68b8-4a9c-b8fd-b1c0431151be",
      "name": "Upload to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        880,
        160
      ],
      "parameters": {
        "name": "Blockchain_Audit_Report_{{ $json.transactionHash }}_{{ new Date().toISOString().split('T')[0] }}.pdf",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultName": "/ (Root folder)"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "3745e197-e37b-40d8-80c0-17044fc62ebf",
      "name": "Create Notion Audit Entry",
      "type": "n8n-nodes-base.notion",
      "position": [
        640,
        528
      ],
      "parameters": {
        "options": {},
        "resource": "databasePage",
        "databaseId": "{{ $credentials.notion.auditDatabaseId }}"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6f2845e7-f7de-41dc-b735-f03e21844bd1",
      "name": "Finance Team Notification",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        976,
        512
      ],
      "parameters": {
        "options": {
          "ccEmail": "user@example.com",
          "bccEmail": "user@example.com",
          "allowUnauthorizedCerts": false
        },
        "subject": "\ud83d\udd17 New Blockchain Transaction Audit Report - {{ $json.blockchain }} {{ $json.transactionHash }}",
        "toEmail": "user@example.com",
        "fromEmail": "user@example.com"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "ac0c6ef3-9a21-4d49-bbcf-810f49311d5c",
      "name": "Smart Contract Audit Trail",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        816,
        896
      ],
      "parameters": {
        "url": "{{ $json.blockchain === 'ethereum' ? 'https://api.etherscan.io/api' : 'https://api.solscan.io/transaction' }}",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "module",
              "value": "contract"
            },
            {
              "name": "action",
              "value": "getabi"
            },
            {
              "name": "address",
              "value": "{{ $json.contractAddress }}"
            },
            {
              "name": "apikey",
              "value": "{{ $credentials.etherscan.apiKey }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 3
    },
    {
      "id": "ac1c6c14-0e7f-4141-90be-024e252cd3be",
      "name": "Webhook Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1328,
        528
      ],
      "parameters": {
        "options": {
          "responseCode": 200
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d8780878-0d1c-4b43-9301-80d3365eeba7",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        144
      ],
      "parameters": {
        "width": 400,
        "height": 224,
        "content": "## Blockchain Event Webhook \n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nCatatan: Entry point sistem, bisa dipanggil external service"
      },
      "typeVersion": 1
    },
    {
      "id": "c83c59dc-71cb-442a-938a-ca4596a5c102",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        80
      ],
      "parameters": {
        "width": 336,
        "height": 288,
        "content": "## Ethereum Transaction Monitor \n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nPakai API key Alchemy, ambil data dari eth_getLogs"
      },
      "typeVersion": 1
    },
    {
      "id": "c308f341-bdde-4676-b2d4-b0e76f002de9",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        496
      ],
      "parameters": {
        "width": 352,
        "height": 272,
        "content": "## Solana Transaction Monitor\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nDirect ke api.mainnet-beta.solana.com"
      },
      "typeVersion": 1
    },
    {
      "id": "5e4e9000-a0b8-479f-afa9-11f18713823d",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        336
      ],
      "parameters": {
        "width": 272,
        "height": 272,
        "content": "## Transaction Data Processor\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nAI logic untuk calculate risk (0-100), compliance check"
      },
      "typeVersion": 1
    },
    {
      "id": "32923617-6012-4339-9608-7061febff7e4",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        -48
      ],
      "parameters": {
        "width": 272,
        "height": 288,
        "content": "##  Audit Report PDF Generator\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nPakai APITemplate.io, butuh template ID"
      },
      "typeVersion": 1
    },
    {
      "id": "c5513557-0cb7-4531-bb4d-59defc2fc013",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        352
      ],
      "parameters": {
        "width": 256,
        "height": 336,
        "content": "## Create Notion Audit Entry\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\n\nStruktur: Hash, Blockchain, Risk Score, Date, Link, Compliance"
      },
      "typeVersion": 1
    },
    {
      "id": "0ebe6e0d-b48f-469b-906b-66d2443c5f0d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        16
      ],
      "parameters": {
        "height": 288,
        "content": "## Upload to Google Drive\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nBlockchain_Audit_Report_{hash}_{date}.pdf"
      },
      "typeVersion": 1
    },
    {
      "id": "b30de4ca-a9cc-436b-a3d9-cbab8583a06a",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        352
      ],
      "parameters": {
        "height": 320,
        "content": "## Finance Team Notification\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\n\nCC compliance, BCC audit-logs, format lengkap"
      },
      "typeVersion": 1
    },
    {
      "id": "ceddccac-d4af-410f-a8e9-8606496b9f77",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        720
      ],
      "parameters": {
        "height": 320,
        "content": "## Smart Contract Audit Trail\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\n Untuk audit trail blockchain-native\nFungsi: Verify contract ABI via Etherscan/Solscan"
      },
      "typeVersion": 1
    },
    {
      "id": "e679f575-0e94-4ba8-b4a0-b09ed6c83c93",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1216,
        400
      ],
      "parameters": {
        "height": 256,
        "content": "## Webhook Response \n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)\nKonfirmasi bahwa semua proses berhasil"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1",
    "executionTimeout": -1
  },
  "versionId": "36ce51c7-7d40-459c-b3a6-90ca9c2fbe1a",
  "connections": {
    "Upload to Google Drive": {
      "main": [
        [
          {
            "node": "Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Blockchain Event Webhook": {
      "main": [
        [
          {
            "node": "Ethereum Transaction Monitor",
            "type": "main",
            "index": 0
          },
          {
            "node": "Solana Transaction Monitor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Notion Audit Entry": {
      "main": [
        [
          {
            "node": "Finance Team Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Finance Team Notification": {
      "main": [
        [
          {
            "node": "Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Audit Report PDF Generator": {
      "main": [
        [
          {
            "node": "Upload to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Smart Contract Audit Trail": {
      "main": [
        [
          {
            "node": "Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Solana Transaction Monitor": {
      "main": [
        [
          {
            "node": "Transaction Data Processor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transaction Data Processor": {
      "main": [
        [
          {
            "node": "Audit Report PDF Generator",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create Notion Audit Entry",
            "type": "main",
            "index": 0
          },
          {
            "node": "Smart Contract Audit Trail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ethereum Transaction Monitor": {
      "main": [
        [
          {
            "node": "Transaction Data Processor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Transform your blockchain compliance workflow with this enterprise-grade automation that monitors transactions across Ethereum and Solana networks, automatically generates professional audit reports, and maintains complete documentation trails.

Source: https://n8n.io/workflows/8547/ — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Convalidaciones Académicas - Estructura Base. Uses googleSheets, emailSend, googleDrive, httpRequest. Webhook trigger; 35 nodes.

Google Sheets, Email Send, Google Drive +2
Data & Sheets

This workflow automates invoice generation from form submissions, ensuring unique order IDs, creating PDF invoices, storing files, emailing customers, and logging invoice data — all seamlessly integra

Google Sheets, HTTP Request, Google Drive +1
Data & Sheets

Transform your n8n instance management with this advanced automation system featuring artificial intelligence-driven workflow selection. This template provides comprehensive maintenance operations wit

n8n, HTTP Request, Google Sheets +1
Data & Sheets

Are you tired of manually entering open house visitor information into your CRM? Losing hot leads because you didn't follow up fast enough? This powerful n8n workflow automatically syncs every SignSna

Email Send, Google Sheets, HubSpot +3
Data & Sheets

TrackCollect. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, moveBinaryData. Webhook trigger; 31 nodes.

Google Sheets, HTTP Request, @N Octo N/N8N Nodes Json Database +2