> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nearnode.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> The infrastructure layer for the physical web.

**NearNode is the infrastructure layer for the physical web.** Static QR codes and NFC tags are "dumb" endpoints. Once printed or deployed, their destination is fixed, and their performance is invisible. NearNode decouples the physical trigger from the digital destination, giving you a programmable edge network for physical assets.

## Why NearNode?

* **Decoupled Logic:** Change the target of 10,000 deployed assets instantly via API or Dashboard — without reprinting a single sticker.
* **Edge Routing:** Route users based on geolocation, device type, time of day, or custom logic. A/B testing for the physical world.
* **Privacy-First Analytics:** Measure foot traffic with the same granularity as web traffic — server-side, cookieless, GDPR-compliant.
* **Hardware Agnostic:** Works with standard QR codes, NTAG213/215/216 chips, and hybrid assets. No proprietary hardware lock-in.

***

## Key Concepts

### The Node

A **Node** is a single physical-to-digital bridge. Every node has a unique, permanent slug (e.g., `nearnode.io/v/r5v5z7t2`) that acts as a pointer. The slug never changes — only the logic behind it does.

<Info>
  **Ops Tip:** You can manage nodes visually in the Dashboard without touching the API. Every API operation has a Dashboard equivalent.
</Info>

### Smart Routing

Unlike a standard redirect, a NearNode redirect is **dynamic**. You can configure routing rules that determine the final destination at the moment of the scan — based on time windows, geography, device type, or traffic split weights.

```bash theme={null}
# Route office-hours traffic to the welcome page
curl -X POST https://nearnode.io/api/v1/nodes/r5v5z7t2/rules \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "rule_type": "time_based",
    "conditions": {
      "timezone": "Europe/Zurich",
      "windows": [{ "days": [1,2,3,4,5], "start_time": "08:00", "end_time": "18:00" }]
    },
    "function_type": "redirect",
    "payload": { "url": "https://acme.com/welcome" }
  }'
```

### The Fleet

For enterprise scale, Nodes are managed in **Batches**. A Batch allows for bulk generation (up to 500 nodes), shared templates with locked fields, and group-level analytics. Deploy 10,000 smart labels from a single API call.

### Developer-First

Everything you see in our dashboard is built on our [Public API](/api-reference/introduction). Whether you want to automate tag generation in your factory, sync scan data to your CRM, or build a custom NFC writing workflow — our API makes it possible.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://nearnode.io/api/v1/nodes \
    -H "Authorization: Bearer sk_live_..." \
    -H "Content-Type: application/json" \
    -d '{
      "label": "Basel HQ Entrance",
      "function_type": "redirect",
      "payload": { "url": "https://acme.com/checkin" }
    }'
  ```

  ```javascript Node.js theme={null}
  const res = await fetch('https://nearnode.io/api/v1/nodes', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer sk_live_...',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      label: 'Basel HQ Entrance',
      function_type: 'redirect',
      payload: { url: 'https://acme.com/checkin' },
    }),
  });

  const { data } = await res.json();
  console.log(data.url); // https://nearnode.io/v/r5v5z7t2
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://nearnode.io/api/v1/nodes",
      headers={"Authorization": "Bearer sk_live_..."},
      json={
          "label": "Basel HQ Entrance",
          "function_type": "redirect",
          "payload": {"url": "https://acme.com/checkin"},
      },
  )

  data = response.json()["data"]
  print(data["url"])  # https://nearnode.io/v/r5v5z7t2
  ```
</CodeGroup>

Print that URL as a QR code. Encode it into an NFC tag. The URL never changes — only the destination behind it.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Deploy your first node in 5 minutes. API key to live scan URL.
  </Card>

  <Card title="Architecture" icon="sitemap" href="/architecture">
    Understand edge routing, orchestration layers, and latency targets.
  </Card>

  <Card title="Smart Routing" icon="route" href="/features/smart-routing">
    Configure time-based, geo, device, and A/B routing rules.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Full endpoint documentation with interactive playground.
  </Card>
</CardGroup>
