Skip to content

Install: Netlify edge ​

The Netlify edge wall runs as a Netlify Edge Function (Deno runtime), in front of any site on Netlify.

When to use

Your site is on Netlify. The wall runs on the edge before your origin, with context.next() pass-through.

1. Download the package ​

From the dashboard, choose Netlify and download mothershy-wall-netlify-0.1.0.tgz.

2. Install ​

bash
npm install ./mothershy-wall-netlify-0.1.0.tgz

Copy the included template to your project:

bash
cp node_modules/@mothershy/wall-netlify/edge-function.ts netlify/edge-functions/mothershy.ts

The template:

ts
import { mothershyEdge } from '@mothershy/wall-netlify'

const wall = mothershyEdge({
  siteId: Netlify.env.get('MOTHERSHY_SITE_ID') || 'example.com',
  rootPub: Netlify.env.get('MOTHERSHY_ROOT_PUB') || '',
})

export default async function (request: Request, context: NetlifyContext) {
  const block = await wall(request)
  return block ?? context.next()   // pass through to the origin
}

export const config = { path: '/*', excludedPath: ['/_next/static/*', '/*.css', '/*.js', '/*.png', /* … */] }

3. Set env vars ​

In Netlify → Site → Environment variables:

  • MOTHERSHY_SITE_ID — your verified domain
  • MOTHERSHY_ROOT_PUB — the pinned Mother public root

4. Deploy and verify ​

bash
netlify deploy --prod
# human → 200, agent → 402, Googlebot → 200

Notes ​

  • The Netlify wall is offline (verify-only), like Vercel. The online/ledger path is Cloudflare-only today.
  • Static assets are excluded via config.excludedPath — they're never gated.

Next ​

MotherShy — the economic operating layer for AI agents and publishers.