Rules and pricing
Let agents in, stop them, ask for human verification by DNA, or charge a price you set.
A rule says what happens to a visit on some of your pages. Write rules under Rules in the dashboard; what priced pages earn is under Earnings.
| You want to… | Asks for | Costs the visitor |
|---|---|---|
| Keep some agents off a page | Block | n/a |
| Make an exception to a broader rule | Let in | Nothing |
| Know a person stands behind every agent | Require a human | Nothing |
| Get paid when agents take a page | Charge | The price |
| Charge agents, and let verified people in free | Charge or require a human | The price, or nothing once verified |
Each site's rules apply top to bottom, and the first rule that matches a visit decides it. A visit no rule matches is let in.
Add a rule
-
Open Rules and click New rule.
-
Fill in the steps:
Step Value 1. What happens See What a rule asks for. 2. To whom See Who it applies to. 3. Where Site (only sites DNA has seen traffic for), Path such as /premium, and Match.4. Price In dollars per request, such as 0.001. Only when the rule charges.How to start Dry run or Turn on now. See Dry runs. Beside the form, If this rule had been on for the last 7 days counts the requests on that path the rule would have stopped, asked, or let in, split by Verified, Name only, Impersonator, No name and people. Narrow the rule until the figure looks right.
-
Click Start dry run or Turn on now. The rule goes to the bottom of the site's list.
-
Use the arrows beside a rule to move it up or down.
A saved change usually reaches your site straight away. If it doesn't, the dashboard says so, and it lands within 15 minutes.
What a rule asks for
| Asks for | What a matching visit gets | Charged |
|---|---|---|
| Let in | The page. No rule below it is checked. | No |
| Block | A 403. Your site never sees it. | No |
| Require a human | The page once DNA confirms a person is behind it; DNA's verification otherwise. No price, no wallet. | No |
| Charge | The page if it pays; a payment request otherwise. | The price |
| Charge or require a human | The page if it pays, or free once DNA confirms a person is behind it. | The price, unless verified |
Human verification is not an account on your site, and your site gets no personal details: the visitor, or the person an agent works for, confirms with their DNA account. A person's browser is sent back without a click once confirmed. An agent's request still waits for the person to approve it on DNA, where the page is marked free. A verification approved for a free page never pays for a priced one: that page asks again.
Dry runs
A new rule starts as a Dry run. It changes nothing for visitors: the Rules list shows what it would have done, such as Would have stopped 120 or what a price would have earned. Click Turn on beside the rule when the figure looks right, or edit it and set Status to On; setting it back to Dry run stops it at any time.
A dry run counts only the visits it would have decided: those no rule above it matches, whether that rule is on or a dry run. Order a dry run the way you would order it switched on.
Who it applies to
| Choice | Applies to |
|---|---|
| AI agents (default) | Every agent DNA can identify, search engines like Googlebot included. People browsing are left out. |
| Only some agents | Agents you pick by label (Verified, Name only, Impersonator), by what they're built for, or both |
| Everyone, including people | Every visit. Use it as a paywall, or human verification for everyone. |
To switch on a rule that stops everyone, tick Stop people too: nothing about a visit tells a person from an agent DNA can't name.
Every request a rule decided, or would have, is in Requests: click a rule's matched count, or read the Rule column.
How you get paid
| Paid | Where the money goes |
|---|---|
| By card | D3 charges the payer and pays you your share once the month closes |
| In crypto | The full price lands in your organization's wallet as each payment settles |
- Earnings shows what was paid, Available to withdraw (crypto) and your monthly card statements.
- Only owners withdraw. A transfer can't be undone, so the dashboard reads the amount, network, and address back before Send.
- DNA creates a wallet with your organization. If yours is missing, the checklist on Rules creates it. Charging needs a wallet; human verification doesn't.
Path matching
| Match | Covers |
|---|---|
| This path only | /premium, and nothing else |
| This path and everything under it | /premium and /premium/report. Whole segments only, so never /premiumfoo. |
The query string is ignored: /report?page=2 is priced as /report.
What counts as a request
- Each request that reaches DNA is charged. A page a browser serves from its
own cache is free, so your
Cache-Controldecides how often that happens. - Rules apply in order. A Block rule above a price wins, and nobody pays past it.
- A page is served to a paying request only once the payment settles.
Roles
| Role | Can |
|---|---|
| Owner | Add, edit, move, and switch on rules; withdraw |
| Admin | Add, edit, move, and switch on rules |
| Member | See rules and what they did |
Charge column
Requests shows one value per request on a page with a price.
Normal values
| Value | Meaning |
|---|---|
would have charged | A dry run. Nothing taken; the request reached your site. |
asked to pay | The caller was asked to pay and hasn't come back yet. |
paid | The payment cleared and the request reached your site. |
refused | A payment was presented and refused. Nothing was served. |
already spent | That payment had been used before. Nothing was served. |
Values that need action
Nothing is charged on any of these.
| Value | Meaning | Reached your site? |
|---|---|---|
no currency set | The rule charges but has no currency to accept payment in, or asks for human verification while DNA pay is off. | Yes, free |
path unclear | DNA couldn't tell which path was requested. | No, if the rule that applies was on |
provider down | DNA couldn't reach the payments provider. | No |
couldn't check | DNA couldn't check the payment for reuse, so didn't settle it. | No |
not set up | Payments aren't set up on DNA's side. | No |
prices unread | DNA couldn't read the rules for this site. | Yes, free |
error on our side | A DNA failure before the charge was decided. | No for paying requests, yes for the rest |
Limits
| Limit | Value |
|---|---|
| Rules per organization | 50 |
Building the agent side? See Pay with DNA and Pay with x402.