{
  "nodes": [
    {
      "id": "f43de1da-85c9-4e07-87b2-e3d54aba8cfd",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -704,
        -16
      ],
      "parameters": {
        "path": "crypto-fx",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 1
    },
    {
      "id": "53645dd6-4117-4e41-b958-5d3bfc022f6a",
      "name": "Get Fiat Exchange Rates",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -496,
        -80
      ],
      "parameters": {
        "url": "https://api.exchangerate-api.com/v4/latest/USD",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "9d0c77d1-67bc-4030-93d2-75ca981bb504",
      "name": "Get Crypto Prices",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -496,
        80
      ],
      "parameters": {
        "url": "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd&include_24hr_change=true",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "9bd74632-a79c-4076-b75d-2a7550325356",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -304,
        0
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "89163b24-4f91-4a12-b260-d00b47849a73",
      "name": "Build JSON",
      "type": "n8n-nodes-base.code",
      "position": [
        -96,
        0
      ],
      "parameters": {
        "jsCode": "let fx,cg;for(const it of $input.all()){ if(it.json?.rates) fx=it.json; if(it.json?.bitcoin) cg=it.json; }\nconst payload={\n  btc:{ price: cg?.bitcoin?.usd ?? null, change_24h: cg?.bitcoin?.usd_24h_change ?? null },\n  eth:{ price: cg?.ethereum?.usd ?? null, change_24h: cg?.ethereum?.usd_24h_change ?? null },\n  usd_eur: fx?.rates?.EUR ?? null,\n  usd_ngn: fx?.rates?.NGN ?? null,\n  ts: new Date().toISOString()\n};\nreturn [{json: payload}];"
      },
      "typeVersion": 2
    },
    {
      "id": "70a8ddb0-b644-4344-a17f-1cadbb8074e6",
      "name": "Respond",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        128,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "28ab2e99-d2cc-420c-9e5f-c73fd14639c0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -208
      ],
      "parameters": {
        "width": 544,
        "height": 640,
        "content": "## \ud83c\udf10 Crypto + FX Micro-API (Webhook JSON)\n\n**What it does:**  \nExposes a lightweight **GET** endpoint that returns **BTC/ETH price + 24h %** and **USD\u2192EUR / USD\u2192NGN** in clean JSON.\n\n**Route:**  \n`/webhook/crypto-fx` (use n8n\u2019s Test or Production URL)\n\n**Flow:**  \n**Webhook (GET)** \u2192 ExchangeRate-API \u2192 CoinGecko \u2192 **Merge** \u2192 **Code (build JSON)** \u2192 **Respond**\n\n**Example Response:**  \n```json\n{\n  \"btc\": { \"price\": 112417, \"change_24h\": 1.22 },\n  \"eth\": { \"price\": 4334.57, \"change_24h\": 1.33 },\n  \"usd_eur\": 0.854,\n  \"usd_ngn\": 1524.54,\n  \"ts\": \"2025-09-08T08:00:00.000Z\"\n}\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Build JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Get Fiat Exchange Rates",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Crypto Prices",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build JSON": {
      "main": [
        [
          {
            "node": "Respond",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Crypto Prices": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Fiat Exchange Rates": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}