Skip to content

Getting tolled

The whole job: a credits endpoint, a wallet per author, your origin. Start here.

On this page

Tell naulon who wrote each article and where their cut goes, then point the toll at your origin. Your pages and your human readers are unaffected; agents start paying.

"Article" here means any page you gate: an essay, a whitepaper, a research report, a reference doc. If an agent can read it at a URL, the toll can price it.

What you provide

Only the first item below is required.

A payout wallet

One EVM address that receives USDC on your site's settlement network, set per site under Sites → Manage → Payouts → Settlement network. Set it and every page the toll covers earns into it, including pages with no author, such as documentation, a changelog, or a company blog. With no wallet set anywhere, pages read free once you charge.

A new site starts by observing, which needs no wallet: agent reads are priced and served free so you can see the demand first (observe mode). Add the wallet when you are ready to charge.

Before you have an account

Paste your address at /earn. We read your robots.txt and your sitemaps and show how many pages they list and which AI readers you let in or turn away, before you sign up. Say whether the site is yours or your company's, then sign up with the six-digit code we email you. You land on the Connect page with that address already being read; a company's site lands in a new organization named for it.

How we read your site when you connect it

On the Connect page, type your address and press Read my site. In a few seconds we read what your site says about itself:

  • the page you typed and your home page, for the feeds they announce and the platform they run on;
  • your feeds and your sitemap, including any robots.txt names;
  • one page from each section, to see whether it's marked up as an article or a research paper.

From that we suggest, section by section, what AI pays for:

What the section looks like What we suggest
The section you typed, or one your feed lists AI pays
Pages marked up as articles AI pays
Research papers (journal citation tags) Your call
Product docs, tag and author pages, pricing and legal pages Free
Anything we can't place Free

When your articles sit at the top level (a Ghost blog at /my-post/, or dated links like /2026/09/my-post), we suggest charging the whole site and leave the free sections out of it.

Only when none of your sections can be placed this way do we ask a model to read their names and titles. Every request names itself naulon-probe and is signed as naulon.app (see the naulon fetcher). If your firewall turns us away, we say which one and map what stayed open. Allowing the signed naulon.app identity lets us read the rest.

Nothing is charged until you switch the toll on, and you can flip any section then or later on the site page.

Your origin and what the toll covers

The toll needs to know where to proxy reads and which URLs are billable. There are two scopes:

  • Specific sections: list the URL prefixes that count as articles (e.g. /essays/, /posts/). Everything else passes through untouched. If you enter your address with a path, like your-site.example/blog, that path becomes the section, and its feed (/blog/rss.xml) is read before the root one.
  • Entire site: every page tolls, including the root and single-segment pages like /about. Feeds, sitemaps, robots.txt, favicons and static assets (CSS, JS, images, fonts) always stay free, and you can exclude sections you want open (say, /legal/). Non-page files (PDFs, datasets) follow a separate rule; see tolling files.

The toll reaches your origin one of two ways: point your domain's DNS at us and we proxy every read (see connect your own domain), or run enforcement inside your own app with no DNS change (see in-app enforcement).

With specific sections, also set the shape of your permalinks. One level means the article sits one step under the section, as in /blog/my-post. Nested means something sits in between, as dated permalinks do: /blog/2026/09/my-post. Get this wrong on a dated site and every post that month is identified as 2026, so one catalogue entry answers for all of them, or none matches and the whole month reads free.

Set it before you build your catalogue. It decides how an article is identified, and your catalogue, your free list and buyers' existing licences all use that identifier.

Pricing by section

One price for the whole site is the default. You can override it per section under Sites → Manage → Price → What each part costs. A rule is a path pattern plus a price, a citation multiplier, or both; anything a rule does not cover keeps the site price. Which pages AI pays for at all is set under Which pages, and the table lists your free sections beside the rules so you can read every price in one place. A path covers everything under it (/papers also matches /papers-annual); end a pattern with $ to price exactly one page instead of a whole section, as in /papers/the-river$. A query string does not make it another page: /papers/the-river?ref=feed costs the same, and your published licence says so by listing /papers/the-river?* beside it. If your own app enforces the toll with @naulon/enforce, a pattern that names a query, such as /search?q=*, needs @naulon/enforce 0.6.2 or later. Earlier versions match those patterns against the path alone.

Patterns use the robots.txt syntax (RFC 9309), the same dialect RSL documents and licence scopes use. /papers/* covers everything under /papers/. Rules may overlap, so "everything under /papers/ costs more, except the preview" is two rules. The most specific match wins, as in robots.txt, and the editor lists rules in that order. Two things are refused: the same pattern written twice with two different prices, and a rule on a path the toll never reaches, inside a free section or outside every section you toll. A price there would never charge.

A rule cannot price a section at zero, because nothing below the settlement floor can move on-chain. To open a section, set it to Free under Which pages.

A credits endpoint (optional)

For per-article control over who is paid. A read-only HTTP route on your domain that, given a slug, returns who gets paid and how the share splits. Serve it when some pages should read free, or when you pay named authors instead of the site. The toll calls it in place of your site wallet; without it, the site wallet answers for everything.

It sets no prices; those come from the base toll and the rules above either way. Full spec: the credits API.

Per-author wallets matter only here. Each author who wants their own share supplies one EVM address; see co-authors and splits for what happens to a share with no address.

Per-article overrides

Under Pages in your site's settings, per-article overrides let you make one article free, or charge it to a specific wallet, on top of whatever your source says. Free always wins.

A Charge override is a payee change, so the toll only honours one that pays a wallet your site has declared: its payout wallet, or a wallet your crawl settings map to an author. One that names any other wallet is stored but not charged, and the row says so with two ways out: pay a declared wallet, or declare that one. If your site has a credits API, that API decides who is paid for every article it prices, so a Charge override there is never used; change the payee in your API instead, or make the article free. Only honoured overrides count toward the articles your site tolls.

You do not run a wallet for the operator, hold buyer funds, or change how your site is built or hosted.

How a request flows

When something requests one of your articles, the toll decides in this order:

  1. Is it a human? Browser-shaped requests pass through free. When the classifier is unsure, it treats the request as human.

  2. Is it an agent, and is this article gated? The toll asks your credits API about the slug.

    • If your API returns 404, the article is free. Use it for anything you want open.
    • If your API returns credits, the toll quotes a price and answers the agent with 402 Payment Required.
  3. The agent pays. It signs a payment for the quoted amount. The fee settles on-chain, buyer → author, against the wallets your credits API named. The toll then serves the article and hands back a short-lived license so the agent can re-read the same piece without paying again.

What a fee is

A price per read, set per article, with a multiplier when the read is a citation: an agent using your text to ground an answer it will repeat elsewhere. All amounts are whole micro-USDC, so splits between co-authors are exact.

Co-authors and splits

An article can credit more than one author, each with a relative weight. The fee divides by weight, and each author's share settles to their own wallet. The first author is paid inside the read and the others within a minute; see settlement. This is Sites → Manage → Payouts → Co-author splits, on by default for new sites. With it off, the author with the largest share is paid the whole fee and the others nothing, so leave it on unless that is what you want.

An author's share goes to the first wallet that exists for them:

  1. the wallet they set in their own naulon account, if they have claimed your site;
  2. the wallet your site names for them (your WordPress author profile, your credits endpoint, or your catalogue);
  3. your site's payout wallet, when Unclaimed author shares is on, which it is by default for new sites.

With none of those, their weight is shared among the authors who can be paid, and if nobody on the article can be paid, it reads free. You cannot change the wallet of an author who has claimed your site; removing them from your site is what stops it.

To see exactly where one page's money goes, open Payouts on the site and check the page under Where a page's money goes. It runs the same check a real read does.

Authors the toll discovered for you

If naulon crawls your site instead of calling a credits endpoint, the bylines it finds become a roster under Catalogue → Authors, one per site. The roster is how a byline becomes a person who can be paid.

Each row moves forward through three states. Crawled is what the crawl found. Invited means you sent that byline an invite, with an email address you supply. Claimed means they accepted and set their own wallet; their share now settles to them directly, as if a credits endpoint named them.

You can set a fallback payout wallet for a byline that has not claimed yet, so its share goes there instead of to the primary author. Sites with their own credits endpoint name their authors there and have no roster.

What the person on the other end sees is for authors; send them that.

Going live

  1. Decide how the toll reaches your origin: connect your own domain and we proxy every read, or enforce in your own app with no DNS change.
  2. Stand up your credits endpoint and confirm it returns the right shape for a gated slug and a clean 404 for a free one. See the credits API.
  3. Add wallet addresses for the authors who want to earn.
  4. Watch a real agent read a gated article, get a 402, pay, and read. See settlement for what lands and where.

Where to go next