Training round
Pricing
Protocol
Bring dataOpen app

The GPU network that trains the AI you choose, and pays you for your data

Data owners

Bring data, get paid per use

Upload documents, datasets or notes. Every chunk keeps your address, and every paid answer that uses it pays you in USDG.

Bring data
AI agents

Query the index over x402

RAG context for 0.01 USDG a call, signed by your agent. No account, no API key, an MCP server and an SDK.

Read the API
215 chunks indexed·10 datasets·0 paid queries·0.00 USDG to data owners
Read the docs →
Hugging Face PyTorch NVIDIA Qwen Meta Llama Model Context Protocol Hugging Face PyTorch NVIDIA Qwen Meta Llama Model Context Protocol Hugging Face PyTorch NVIDIA Qwen Meta Llama Model Context Protocol Hugging Face PyTorch NVIDIA Qwen Meta Llama Model Context Protocol
Index 215 chunks x402 0.01 USDG
how does an agent pay for one API call with USDG?Search
1EIP-3009 Transfer With Authorization lets a holder sign a transfer that anyone can submit, so the payer never needs gas.owner0.6214
2x402 exact scheme The client retries the request with an X-PAYMENT header carrying the signed authorization for the asset and amount.owner0.5871
3Nodal protocol 70% of the price goes to the owners of the chunks in the answer, pro rata to score; 20% to the nodes that serve them.owner0.5412
4EIP-712 Typed structured data hashing and signing, the format of every authorization the facilitator settles.owner0.4987

An open index that pays
the people who built it

Open embedding model
256dims
Same vectors in the node and the browser
70%
To data owners
of every paid query, pro rata to score
Per answer
0.01USDG
signed once, settled in batches
10+
Datasets with an owner, earning per use
Browse the index ↗
215+
Chunks indexed
0
Paid queries
0.00 USDG
Accrued to data owners
Index upload

Bring data, keep ownership

Drop a document, a dataset or your notes. A GPU node chunks and embeds it into the shared index, and every chunk carries your address.

Formats
TXTMDCSVJSON
Drop a file or paste text
up to 300 KB per upload
Payout address USDG on chain 4663
0x7a1c…e04b
Chunks 256-dim vectors
142 chunks, owner set on each
Add to the index
Query x402

Agents pay per answer

An agent asks, the API answers 402 with the price. The agent signs a USDG authorization, sends it back and gets five chunks of context.

Works with
GET/api/x402/query?q=settlement+of+authorizationsagent
4020.01 USDG to the payouts contract, EIP-3009, chain 4663price
SIGNTransferWithAuthorization, no gas for the agentwallet
2005 chunks, full text, owners, scores, splitpaid
Payouts USDG

Every chunk used pays its owner

The price of a query is split the moment it is served. Owners of the chunks in the answer share 70%, the GPU nodes that serve them 20%, the stake pool 10%.

70% owners
20% nodes
10%
0x7a1c…e04bchunk 12, score 0.620.00315 USDG
0x91f0…2a7dchunk 3, score 0.550.00279 USDG
0x0c4e…77b1chunk 40, score 0.310.00106 USDG
Training LoRA

Vote on what the network trains

Holders pick a base model and a dataset mix. GPU nodes fine-tune the winner, and the owners of the data inside it earn from its usage.

Dataset mix
Vote round
GPU nodes
LoRA adapter

Keep track of what
your data earns

Every chunk keeps its owner

Each vector in the index points back to one dataset and one payout address. Nothing is pooled or anonymised.

chunk 12 · EIP-30090x7a1c…e04b
chunk 13 · EIP-30090x7a1c…e04b
chunk 4 · field notes0x91f0…2a7d
chunk 88 · support logs0x0c4e…77b1

Settled on chain in batches

Signed authorizations are queued and settled by the keeper in one transaction, straight into the payouts contract.

authorization 0x4be1…queued
authorization 0x19aa…queued
settleBatch(2)settled
postRoot(epoch 1)claimable

Claim with a proof

One Merkle root per epoch, cumulative per address. Claim when you want.

claim( 0x7a1c…e04b, cumulative: 4210, proof: [0x9c.., 0x31..] )

Signed votes

One signature per wallet per round. No gas to vote.

Qwen2.5 1.5B · standards mixleading
Llama 3.2 1B · full index2nd
SmolLM2 1.7B · docs3rd

Open node registry

GPU nodes register with a signature and show up for the next training job.

operator nodeactive
RTX 4090 · 24 GBstandby
A100 · 80 GBstandby

Here for the models, built for agents

Paid by retrieval score

One query, five chunks, three destinations. The split follows how much each chunk mattered.

Signed, nonced, provable

EIP-3009 nonces stop replays, a 24 hour timelock guards the keeper role, and claims check against the posted root.

EIP-3009EIP-712Merkle proofs24 h timelock

JSON your agent can use

Full text, the dataset, the owner, the license and the score of every chunk.

1{
2 "query": "settle x402 payments",
3 "paid": "0.01",
4 "settlement": "queued",
5 "chunks": [
6 {
7 "title": "EIP-3009",
8 "chunk": 12,
9 "score": 0.6214,
10 "owner": "0x7a1c…e04b",
11 "license": "CC0-1.0",
12 "text": "The transferWithAuthorization…"
13 },
14 {
15 "title": "x402 exact scheme",
16 "chunk": 3,
17 "score": 0.5871,
18 …
19 }
20 ],
21 "split": { … }
22}

Integrate in five minutes or less

1# 1. ask: the API answers 402 with the price and payTo
2curl -s "https://www.nodalnetwork.app/api/x402/query?q=how+does+eip-3009+work"
3
4# 2. sign a USDG TransferWithAuthorization for 0.01 USDG,
5#    base64 the x402 payload and send it back
6curl -s "https://www.nodalnetwork.app/api/x402/query?q=how+does+eip-3009+work" \
7  -H "X-PAYMENT: $PAYMENT"
8
9# 3. you get 5 chunks with full text, owners and scores.
10#    70% of what you paid goes to those owners.
1Upload
Your file, your address
notes.md · 18 KB
2Chunk
60 to 180 words each
42 chunks
3Embed
open model, same everywhere
256 dims
4Query
an agent pays 0.01 USDG
402 → 200
5Settle
USDG lands in the contract
settleBatch
6Claim
you withdraw what you earned
claim(proof)
From a file to a paid answer
A model is made of people's data. Nodal pays those people every time it is used.
The first rule of the protocol
Written into every split
Read the protocol

In the index
and earning per use

x402 protocol specification

HTTP 402 payments for APIs and agents: requirements, payloads, facilitators and settlement.

Open dataset
✓35 chunks indexed
✓0 paid uses so far
✓0 USDG to its owner 0x8E60…0291

Questions

Upload text with a payout address. When an agent pays for a query and one of your chunks is in the five it gets back, 70% of the price is shared between the owners of those chunks, weighted by retrieval score. Settled amounts go into a Merkle root you claim from the payouts contract in USDG.

0.01 USDG per query over x402. The agent signs an EIP-3009 TransferWithAuthorization to the payouts contract, so it needs USDG but no gas. The free preview endpoint returns snippets and scores so an agent can check relevance before it pays.

An open static embedding model with 256 dimensions, distilled from bge-base-en-v1.5. It runs in Node and in the browser with the same weights, so a vector computed by any node is identical and can be checked by recomputation.

Each round, wallets sign votes for a base model and a dataset mix from the index. When the round closes, the winning job goes to a registered GPU node, which fine-tunes a LoRA adapter. Round 1 closes on 9 November 2026, 00:00 UTC.

Yes. Register a GPU with a signature from your payout address and run the worker. Nodes serving the index earn 20% of every query that uses the chunks they serve; training nodes are assigned jobs when a round closes.

Previews show the first 160 characters of a chunk. Paid queries return full chunks to the paying agent. Do not upload anything you are not allowed to share; you can remove a dataset you own from the index at any time.