AutomationFlowsAI & RAG › Verify Property Ownership with Blockchain, Gpt-4 Fraud Detection, and…

Verify Property Ownership with Blockchain, Gpt-4 Fraud Detection, and…

Original n8n title: Verify Property Ownership with Blockchain, Gpt-4 Fraud Detection, and Compliance Tracking

ByCheng Siong Chin @cschin on n8n.io

This workflow automates property registration verification, fraud detection, and blockchain-based compliance tracking by systematically assessing fraud risk, validating transactions, ensuring data immutability through cryptographic hashing, and recording property records on the…

Event trigger★★★★☆ complexityAI-powered26 nodesForm TriggerHTTP RequestData TableGoogle SheetsAgentOpenAI ChatOutput Parser Structured
AI & RAG Trigger: Event Nodes: 26 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Datatable 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": "UpMPD0GeSxA4AMzI",
  "name": "Smart Blockchain Property Ledger and Proof-of-Ownership Verification",
  "tags": [],
  "nodes": [
    {
      "id": "3c75ffb5-6412-40ee-b7b7-7c09974ad2a1",
      "name": "Property Registration Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1696,
        128
      ],
      "parameters": {
        "options": {
          "appendAttribution": false,
          "respondWithOptions": {
            "values": {
              "formSubmittedText": "Your property has been successfully registered on the blockchain. You will receive a confirmation with the transaction hash."
            }
          }
        },
        "formTitle": "Blockchain Property Registration",
        "formFields": {
          "values": [
            {
              "fieldName": "transactionType",
              "fieldType": "dropdown",
              "fieldLabel": "Transaction Type",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Property Registration"
                  },
                  {
                    "option": "Lease Agreement"
                  },
                  {
                    "option": "Property Transfer"
                  }
                ]
              }
            },
            {
              "fieldName": "propertyId",
              "fieldLabel": "Property ID",
              "placeholder": "Unique identifier for the property"
            },
            {
              "fieldName": "ownerName",
              "fieldLabel": "Owner Name"
            },
            {
              "fieldName": "ownerAddress",
              "fieldLabel": "Owner Address"
            },
            {
              "fieldName": "propertyValue",
              "fieldType": "number",
              "fieldLabel": "Property Value (USD)"
            },
            {
              "fieldName": "location",
              "fieldLabel": "Property Location"
            },
            {
              "fieldName": "legalDescription",
              "fieldLabel": "Legal Description"
            },
            {
              "fieldName": "additionalDetails",
              "fieldType": "textarea",
              "fieldLabel": "Additional Details"
            }
          ]
        },
        "formDescription": "Register properties, leases, and transactions on the blockchain for immutable proof-of-ownership"
      },
      "typeVersion": 2.4
    },
    {
      "id": "334e8a19-0ed8-4721-b8c7-d05cdbc1249c",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -1472,
        128
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "blockchainApiUrl",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Blockchain API endpoint URL__>"
            },
            {
              "id": "id-2",
              "name": "blockchainApiKey",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Blockchain API key__>"
            },
            {
              "id": "id-3",
              "name": "dataTableName",
              "type": "string",
              "value": "PropertyLedger"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "ebc01306-d8c9-4b12-ac08-86bce98a90a1",
      "name": "Check Transaction Type",
      "type": "n8n-nodes-base.if",
      "position": [
        -208,
        144
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Workflow Configuration').item.json.transactionType }}",
              "rightValue": "Property Registration"
            },
            {
              "id": "id-2",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Workflow Configuration').item.json.transactionType }}",
              "rightValue": "Property Transfer"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "5fafb9dd-4ec1-4f42-a18e-38b5cb7586b6",
      "name": "Generate Property Hash",
      "type": "n8n-nodes-base.code",
      "position": [
        80,
        192
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "// Import crypto module for SHA-256 hashing\nconst crypto = require('crypto');\n\n// Get input data from the form\nconst propertyId = $input.item.json.propertyId;\nconst ownerName = $input.item.json.ownerName;\nconst ownerAddress = $input.item.json.ownerAddress;\nconst propertyValue = $input.item.json.propertyValue;\nconst location = $input.item.json.location;\nconst legalDescription = $input.item.json.legalDescription;\nconst transactionType = $input.item.json.transactionType;\n\n// Generate timestamp\nconst timestamp = new Date().toISOString();\n\n// Create data string for hashing\nconst dataToHash = JSON.stringify({\n  propertyId,\n  ownerName,\n  ownerAddress,\n  propertyValue,\n  location,\n  legalDescription,\n  transactionType,\n  timestamp\n});\n\n// Generate SHA-256 hash\nconst propertyHash = crypto.createHash('sha256').update(dataToHash).digest('hex');\n\n// Return original data plus hash and timestamp\nreturn {\n  ...($input.item.json),\n  propertyHash,\n  blockchainTimestamp: timestamp\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "15038bbc-c194-4ac6-9dcd-3e73fd0b5f5b",
      "name": "Generate Lease Hash",
      "type": "n8n-nodes-base.code",
      "position": [
        96,
        464
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "// Import crypto module for SHA-256 hashing\nconst crypto = require('crypto');\n\n// Get input data from the form\nconst propertyId = $input.item.json.propertyId || '';\nconst ownerName = $input.item.json.ownerName || '';\nconst ownerAddress = $input.item.json.ownerAddress || '';\nconst location = $input.item.json.location || '';\nconst additionalDetails = $input.item.json.additionalDetails || ''; // lease terms\nconst transactionType = $input.item.json.transactionType || '';\n\n// Generate timestamp\nconst timestamp = new Date().toISOString();\n\n// Create data string for hashing\nconst dataToHash = `${propertyId}|${ownerName}|${ownerAddress}|${location}|${additionalDetails}|${transactionType}|${timestamp}`;\n\n// Generate SHA-256 hash\nconst leaseHash = crypto.createHash('sha256').update(dataToHash).digest('hex');\n\n// Return original data plus generated hash and timestamp\nreturn {\n  ...($input.item.json),\n  leaseHash: leaseHash,\n  blockchainTimestamp: timestamp\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "dc99093c-637d-4697-a503-72cfca2e9c88",
      "name": "Register on Blockchain",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        272,
        192
      ],
      "parameters": {
        "url": "={{ $('Workflow Configuration').first().json.blockchainApiUrl }}",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "hash",
              "value": "={{ $json.propertyHash || $json.leaseHash }}"
            },
            {
              "name": "transactionType",
              "value": "={{ $json.transactionType }}"
            },
            {
              "name": "propertyId",
              "value": "={{ $json.propertyId }}"
            },
            {
              "name": "ownerName",
              "value": "={{ $json.ownerName }}"
            },
            {
              "name": "timestamp",
              "value": "={{ $json.timestamp }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "={{ 'Bearer ' + $('Workflow Configuration').first().json.blockchainApiKey }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "df9d3e66-8f68-4263-82a1-3333227bb3df",
      "name": "Store Property Records",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        496,
        192
      ],
      "parameters": {
        "columns": {
          "value": {
            "status": "={{ $json.status }}",
            "location": "={{ $json.location }}",
            "ownerName": "={{ $json.ownerName }}",
            "propertyId": "={{ $json.propertyId }}",
            "ownerAddress": "={{ $json.ownerAddress }}",
            "propertyHash": "={{ $json.propertyHash || $json.leaseHash }}",
            "propertyValue": "={{ $json.propertyValue }}",
            "transactionType": "={{ $json.transactionType }}",
            "legalDescription": "={{ $json.legalDescription }}",
            "additionalDetails": "={{ $json.additionalDetails }}",
            "blockchainTimestamp": "={{ $('Register on Blockchain').item.json.timestamp }}",
            "blockchainTransactionId": "={{ $('Register on Blockchain').item.json.transactionId }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "dataTableId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.dataTableName }}"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "4cbe8f2f-a52e-4616-9948-51d1afaa12e0",
      "name": "Log to Audit Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        720,
        192
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "={{ $json.status }}",
            "Timestamp": "={{ $now.toISO() }}",
            "Owner Name": "={{ $json.ownerName }}",
            "Property ID": "={{ $json.propertyId }}",
            "Transaction ID": "={{ $json.transactionId }}",
            "Blockchain Hash": "={{ $json.blockchainHash }}",
            "Transaction Type": "={{ $json.transactionType }}"
          },
          "schema": [
            {
              "id": "Timestamp",
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Transaction Type",
              "required": false,
              "displayName": "Transaction Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Property ID",
              "required": false,
              "displayName": "Property ID",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "Owner Name",
              "required": false,
              "displayName": "Owner Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Blockchain Hash",
              "required": false,
              "displayName": "Blockchain Hash",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Transaction ID",
              "required": false,
              "displayName": "Transaction ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Property ID"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "<__PLACEHOLDER_VALUE__Sheet name for audit log__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Google Sheets document ID__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "de7deb21-a915-4eda-87bd-9d82fd6a7b3d",
      "name": "Verification API Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -768,
        752
      ],
      "parameters": {
        "path": "verify-property",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "6c47e1a3-6e9a-4e60-8c7b-3cb4c9a3bc38",
      "name": "Query Property Records",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        -544,
        752
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "keyName": "propertyId",
              "keyValue": "={{ $json.body.propertyId }}"
            }
          ]
        },
        "operation": "get",
        "returnAll": true,
        "dataTableId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.dataTableName }}"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "555be0ec-e132-4d1a-888d-ff29b8e66a19",
      "name": "Verify on Blockchain",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -320,
        752
      ],
      "parameters": {
        "url": "={{ $('Workflow Configuration').first().json.blockchainApiUrl + '/verify/' + $json.blockchainTransactionId }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "={{ 'Bearer ' + $('Workflow Configuration').first().json.blockchainApiKey }}"
            }
          ]
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "c458ff93-53dc-46a3-aea3-06371c045910",
      "name": "Return Verification Result",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -144,
        752
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={\n  \"propertyId\": \"={{ $json.propertyId }}\",\n  \"ownerName\": \"={{ $json.ownerName }}\",\n  \"transactionType\": \"={{ $json.transactionType }}\",\n  \"blockchainVerified\": {{ $json.blockchainVerified }},\n  \"blockchainTransactionId\": \"={{ $json.blockchainTransactionId }}\",\n  \"blockchainTimestamp\": \"={{ $json.blockchainTimestamp }}\",\n  \"verificationTimestamp\": \"={{ $json.verificationTimestamp }}\",\n  \"status\": \"={{ $json.status }}\"\n}"
      },
      "typeVersion": 1.5
    },
    {
      "id": "838c1f4c-8bc9-4c8d-998b-a0911a4d7cef",
      "name": "AI Fraud Detection Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1248,
        256
      ],
      "parameters": {
        "text": "=Analyze this property transaction for fraud risk:\n\nProperty ID: {{ $json.propertyId }}\nOwner Name: {{ $json.ownerName }}\nOwner Address: {{ $json.ownerAddress }}\nProperty Value: ${{ $json.propertyValue }}\nLocation: {{ $json.location }}\nTransaction Type: {{ $json.transactionType }}\nLegal Description: {{ $json.legalDescription }}\nAdditional Details: {{ $json.additionalDetails }}",
        "options": {
          "systemMessage": "You are a fraud detection AI specialized in real estate transactions.\n\nYour task is to analyze property transactions and assess fraud risk based on:\n1. Property value anomalies (unusually high or low values for the location)\n2. Owner information completeness and consistency\n3. Transaction type patterns (frequent transfers may indicate flipping schemes)\n4. Legal description clarity and completeness\n5. Red flags in additional details\n\nProvide a structured risk assessment with:\n- riskLevel: \"low\", \"medium\", or \"high\"\n- riskScore: 0-100 (0 = no risk, 100 = maximum risk)\n- riskFactors: array of identified risk factors\n- recommendation: action recommendation\n- reasoning: brief explanation of the assessment"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "75d5cb75-6ab5-4b03-87f8-f75f51d43119",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1232,
        480
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "534c1798-4002-4f04-a3b5-01165d03c7fe",
      "name": "Fraud Risk Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -1104,
        480
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"riskLevel\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Risk level: low, medium, or high\"\n\t\t},\n\t\t\"riskScore\": {\n\t\t\t\"type\": \"number\",\n\t\t\t\"description\": \"Risk score from 0 to 100\"\n\t\t},\n\t\t\"riskFactors\": {\n\t\t\t\"type\": \"array\",\n\t\t\t\"items\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t},\n\t\t\t\"description\": \"List of identified risk factors\"\n\t\t},\n\t\t\"recommendation\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Recommended action\"\n\t\t},\n\t\t\"reasoning\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Explanation of the risk assessment\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "d56d9f28-6e8a-4401-82d3-fd05af48d592",
      "name": "Check Fraud Risk Level",
      "type": "n8n-nodes-base.if",
      "position": [
        -976,
        256
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('AI Fraud Detection Agent').item.json.riskLevel }}",
              "rightValue": "high"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "dbf4bae5-22c4-4da6-b2cf-52e04776ebb3",
      "name": "Flag High Risk Transaction",
      "type": "n8n-nodes-base.set",
      "position": [
        -512,
        144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "fraudRiskFlag",
              "type": "string",
              "value": "HIGH_RISK"
            },
            {
              "id": "id-2",
              "name": "requiresManualReview",
              "type": "boolean",
              "value": true
            },
            {
              "id": "id-3",
              "name": "fraudRiskScore",
              "type": "number",
              "value": "={{ $json.riskScore }}"
            },
            {
              "id": "id-4",
              "name": "fraudRiskFactors",
              "type": "string",
              "value": "={{ $json.riskFactors }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "65d72f40-ee60-44b6-b095-e780fe391bf2",
      "name": "AI Compliance Validator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -576,
        368
      ],
      "parameters": {
        "text": "=Validate this property transaction for regulatory compliance:\n\nProperty ID: {{ $json.propertyId }}\nOwner Name: {{ $json.ownerName }}\nOwner Address: {{ $json.ownerAddress }}\nProperty Value: ${{ $json.propertyValue }}\nLocation: {{ $json.location }}\nTransaction Type: {{ $json.transactionType }}\nLegal Description: {{ $json.legalDescription }}",
        "options": {
          "systemMessage": "You are a regulatory compliance AI specialized in real estate law and property transactions.\n\nYour task is to validate property transactions against regulatory requirements:\n1. Verify all required fields are present and properly formatted\n2. Check property value reporting thresholds\n3. Validate legal description completeness\n4. Identify missing documentation or information\n5. Flag potential regulatory violations\n\nProvide a structured compliance assessment with:\n- compliant: true or false\n- complianceScore: 0-100 (0 = non-compliant, 100 = fully compliant)\n- violations: array of identified compliance issues\n- missingFields: array of required fields that are missing or incomplete\n- recommendation: compliance action recommendation"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "de8da335-b0a7-4372-8634-115045dcd8b9",
      "name": "OpenAI Chat Model for Compliance",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -576,
        592
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "84dc7689-aeac-4ddf-966f-3e1fea10188c",
      "name": "Compliance Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -448,
        592
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"compliant\": true,\n\t\"complianceScore\": 95,\n\t\"violations\": [\"Missing property appraisal\", \"Incomplete owner verification\"],\n\t\"missingFields\": [\"taxId\", \"propertyAppraisal\"],\n\t\"recommendation\": \"Complete all required documentation before proceeding with registration\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "1c89a8ac-ceef-4986-b23b-5ab102d57ac8",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -288
      ],
      "parameters": {
        "color": 3,
        "width": 640,
        "height": 272,
        "content": "## Prerequisites\nProperty registration data source; OpenAI API key; blockchain network access \n## Use Cases\nReal estate firms automating fraud checks on property transactions; \n## Customization\nAdjust fraud detection criteria and risk thresholds, modify blockchain network selection.\n## Benefits\nEliminates manual fraud detection, prevents title fraud and forgery "
      },
      "typeVersion": 1
    },
    {
      "id": "ba33ef3f-622c-4936-9076-627107627d1f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1008,
        -256
      ],
      "parameters": {
        "width": 496,
        "height": 208,
        "content": "## Setup Steps\n1. Configure property data source and set up OpenAI GPT-4 for fraud detection and compliance.\n2. Connect blockchain network credentials and configure hash generation parameters.\n3. Set up Google Sheets for audit logging and configure blockchain verification queries.\n4. Define fraud risk thresholds, compliance criteria, and transaction  "
      },
      "typeVersion": 1
    },
    {
      "id": "38345d8d-1f04-4901-9cac-cc165eb8d047",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        -272
      ],
      "parameters": {
        "width": 672,
        "height": 272,
        "content": "## How It Works\nThis workflow automates property registration verification, fraud detection, and blockchain-based compliance tracking by systematically assessing fraud risk, validating transactions, ensuring data immutability through cryptographic hashing, and recording property records on the blockchain. It ingests property registration data, applies GPT-4\u2013driven fraud analysis with risk scoring, and verifies transaction legitimacy against regulatory and contractual criteria. The system generates cryptographic hashes for property and lease records, validates compliance requirements using AI-based analysis, queries the blockchain for verification, logs transactions on-chain, stores audit records in structured sheets, and securely archives all supporting documentation. Designed for real estate firms, legal practices, and property management companies, it enables transparent verification, fraud mitigation, and tamper-resistant compliance tracking across the property lifecycle."
      },
      "typeVersion": 1
    },
    {
      "id": "1bf1844d-275b-4b99-9c7b-84ecc727eef9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 848,
        "height": 768,
        "content": "## Generate Cryptographic Hashes & Log Compliance Results\nWhat: Creates property and lease hashes for blockchain registration and immutable records.\nWhy: Enables tamper-proof documentation and cryptographic verification of property details."
      },
      "typeVersion": 1
    },
    {
      "id": "21e49429-799a-4fa8-b604-0ce2271d193b",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 816,
        "height": 960,
        "content": "## Validate Transaction Type\nWhat: Checks property transactions against compliance rules and legitimacy criteria.\nWhy: Ensures transactions conform to legal requirements "
      },
      "typeVersion": 1
    },
    {
      "id": "341d5ea1-7a7c-4eb0-b84b-0f033e666d59",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1728,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 912,
        "height": 640,
        "content": "## Assess Fraud Risk\nWhat: Uses GPT-4 to analyze property registration data and assign fraud risk scores.\nWhy: Identifies suspicious transactions and high-risk activities before processing."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "8ba899d0-5e09-4e5b-8377-5dcea6d586b6",
  "connections": {
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Fraud Detection Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Lease Hash": {
      "main": [
        [
          {
            "node": "Register on Blockchain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify on Blockchain": {
      "main": [
        [
          {
            "node": "Return Verification Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Fraud Risk Level": {
      "main": [
        [
          {
            "node": "Flag High Risk Transaction",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Compliance Validator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Transaction Type": {
      "main": [
        [
          {
            "node": "Generate Property Hash",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Generate Lease Hash",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Property Hash": {
      "main": [
        [
          {
            "node": "Register on Blockchain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Query Property Records": {
      "main": [
        [
          {
            "node": "Verify on Blockchain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Register on Blockchain": {
      "main": [
        [
          {
            "node": "Store Property Records",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Property Records": {
      "main": [
        [
          {
            "node": "Log to Audit Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Check Transaction Type",
            "type": "main",
            "index": 0
          },
          {
            "node": "AI Fraud Detection Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Compliance Validator": {
      "main": [
        [
          {
            "node": "Check Transaction Type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Fraud Detection Agent": {
      "main": [
        [
          {
            "node": "Check Fraud Risk Level",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compliance Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Compliance Validator",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Fraud Risk Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Fraud Detection Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Verification API Webhook": {
      "main": [
        [
          {
            "node": "Query Property Records",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Flag High Risk Transaction": {
      "main": [
        [
          {
            "node": "Check Transaction Type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Property Registration Form": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model for Compliance": {
      "ai_languageModel": [
        [
          {
            "node": "AI Compliance Validator",
            "type": "ai_languageModel",
            "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

This workflow automates property registration verification, fraud detection, and blockchain-based compliance tracking by systematically assessing fraud risk, validating transactions, ensuring data immutability through cryptographic hashing, and recording property records on the…

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.

OpenAI, HTTP Request, Form Trigger +7
AI & RAG

Digistars - Scrape & Crawl. Uses httpRequest, n8n-nodes-firecrawl-scraper, googleSheets, lmChatOpenAi. Event-driven trigger; 63 nodes.

HTTP Request, N8N Nodes Firecrawl Scraper, Google Sheets +5
AI & RAG

🧠 Automate end-to-end SEO blog creation and WordPress publishing using a GPT-5 multi-agent workflow with real-time research, metadata generation, and optional featured images.

Output Parser Structured, HTTP Request, OpenAI +10
AI & RAG

This is an automated blog post generation system that: Researches topics using AI agents and web search tools Writes complete blog posts with proper SEO structure Generates custom images for each post

Output Parser Structured, Google Gemini Chat, HTTP Request Tool +11
AI & RAG

This workflow automates end-to-end contract and invoice management using AI intelligence. It processes proposals through intelligent contract generation, approval workflows, and automated invoicing. O

Form Trigger, Data Table, Agent +4