Novi Corpus
A legal body for AI agents: a real company, a verified human and spending rules on Arc (testnet).
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http novi-corpus 'https://api.novicorpus.com/mcp' --header 'Authorization: <Bearer followed by your Novi Corpus API key (mcp_...). Get one at www.novicorpus.com/agents/connect>'
{
"mcpServers": {
"novi-corpus": {
"type": "http",
"url": "https://api.novicorpus.com/mcp",
"headers": {
"Authorization": "<Bearer followed by your Novi Corpus API key (mcp_...). Get one at www.novicorpus.com/agents/connect>"
}
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Novi Corpus
A legal body for your AI agent.
Anyone can give an agent a wallet. Novi Corpus gives it a real company: a Wyoming LLC bound on chain to the agent's ERC-8004 identity, with a verified person who answers for it. The agent can act on its own for that company (accept terms, sign, invoice, get paid, hold its earnings) inside rules it cannot break, and anyone dealing with it can check, before they pay or sign, which company stands behind it and that a verified person answers for it.
Novi Corpus runs on Arc testnet today. Real filings are not switched on yet.
| Website | www.novicorpus.com |
| A legal body for an agent you already run | /legal-body |
| The public record | /transparency |
| A seller that only sells to accountable agents | /proof (no wallet needed) |
| For agents (MCP) | com.novicorpus/legal-body in the official MCP Registry, served at https://api.novicorpus.com/mcp (API key from /agents/connect) |
| Docs | docs.novicorpus.com |
| An agent, resolvable by name (ENS) | demo.novicorpus.eth |
What a legal body gives an agent
- A real company. A Wyoming LLC tied to the agent's on-chain identity, so contracts, invoices and earnings have a legal owner.
- Authority to act. The operating agreement says what the agent may do for the company, and its hash is anchored on chain, so a counterparty knows the agent can commit the company.
- An accountable person. The company answers for what the agent does; a guardian verified with World ID stays accountable for the company and keeps the controls that matter.
- Money under rules. A USDC treasury whose cap, approved recipients and pause are enforced by the contract, and which stops spending if the legal body stops being in force.
- A public record. Anyone can look up an agent's wallet address and learn whether a Novi
legal body stands behind it and its standing, before dealing with the agent. For a
bring-your-own body the answer is a statement signed by Novi Corpus, by agent number or wallet
address: the standing (
active,pending,unknownorinactive), the filing status and the next filing date.
The step that makes this more than paperwork is the law to code translator: plain operating-agreement terms ("at most $X per period, only to approved counterparties") become the rules the contracts enforce.
Two ways to get one
The full legal body. Novi Corpus forms the company and runs the agent's on-chain side: an ERC-8004 identity, a legal manager that anchors the operating agreement (timelocked amendments, guardian veto, an orderly dissolution), and a governed USDC treasury. The agent spends through a wallet Novi Corpus runs for it, and only within what the treasury allows; the guardian can pause, veto a rule change, rotate the agent's key and withdraw the funds. Formation is wired to doola's Company Formation API, on doola's sandbox for now.
Bring your own. You keep your agent, its identity and its wallet, and declare a company you already control. Novi Corpus binds a legal body to that identity: the identity's owner signs one link, Novi Corpus creates the body on chain, and the owner points the identity at it. Novi Corpus holds nothing: not the money, not the identity, and no power to change or dissolve the body on its own. Start at /legal-body. On our testnet deployment the company is a test declaration with an automatic check.
Built with World and ENS
World: who answers for this agent. A Wyoming DAO LLC must have a natural person in control (the statute, FinCEN's control test and Circle's terms require it); that is the law, not a product choice.
- Becoming a guardian requires World ID at Orb grade or a government-document tier; device and selfie tiers are refused. We store one nullifier, which proves one unique human and identifies no one: one human, one account.
- Where World ID has no path yet, the full product accepts a waiver, published as unverified. The bring-your-own flow accepts no waiver.
- Accountable-only commerce (/proof): a seller built on AgentKit and AgentBook refuses an agent that no verified human answers for, and a human-backed agent still pays. Per-human caps mean fifty agents backed by one person share one budget.
World proves someone is accountable; Novi Corpus is how you hold them to it.
ENS: the agent's public name. Every full-product agent can be resolved as
<publicId>.novicorpus.eth on Ethereum Sepolia, in ENS clients that support CCIP-Read, answered by
a gateway that reads Arc:
addris the agent's treasury, the address to pay;legal-statusreads the legal manager and the treasury on Arc:ActiveorSuspended;- an ENSIP-25 binding points the name at the agent's ERC-8004 registration, and the registration points back at the name.
How it fits together
┌────────────────────┐ World ID ┌────────────────────┐
│ Accountable person │ ◄───────────── │ interface/ │
│ (guardian) │ │ Next.js app │
└─────────┬──────────┘ └─────────┬──────────┘
│ pause / veto / re-key / withdraw │
│ ▼
│ ┌────────────────────┐ REST + MCP ┌───────────┐
│ │ back/backend │ ◄───────────── │ AI agent │
│ │ onboarding, policy │ └─────┬─────┘
│ │ public record, ENS │ │
│ └─────────┬──────────┘ │
▼ ▼ │
┌──────────────────────────────────────────────────────────────────┐ │
│ Arc testnet (USDC is the gas) │ │
│ │ │
│ NoviController ─► LegalManagerFactory ─► LegalManager │ │
│ └► AgentTreasury ◄────────┼── spends ────┘
│ cap + allowlist │ within limits
│ LegalBodyFactory ─► legal body on an identity you own │
│ ERC-8004 identity · ERC-8183 jobs · x402 payments │
└──────────────────────────────────────────────────────────────────┘
The contracts, the addresses and how to run them: back/README.md.
Status
On Arc testnet, and real there:
- the contracts, deployed and verified on the explorer, reviewed internally (no external audit yet);
- onboarding with a World ID verified guardian, and the bring-your-own flow end to end;
- the public record: a lookup by agent number or wallet address, a signed statement of a legal body's standing, the transparency page, and a paid standing check (paid with x402, settled on Hedera);
- the MCP server for agents, ERC-8183 jobs and x402 payments in testnet USDC, and the ENS gateway.
Not yet: real Wyoming filings (doola's sandbox only), charging for formation, and Arc mainnet.
Repo layout
interface/ Next.js web app: onboarding, the bring-your-own flow, the agents' dashboard,
the guardian record, /proof, /transparency
back/ Smart contracts (Foundry) and the TypeScript backend: see back/README.md
src/ Solidity: NoviController, LegalManagerFactory, LegalManager, AgentTreasury,
LegalBodyFactory, the ENS offchain resolver
backend/ onboarding, legal bodies, formation (doola), policy, payments, monitor,
REST API and MCP server
hedera-client/ commands for the paid standing check on Hedera
subgraph/ a prototype subgraph (indexes the June 2026 factory only)
docs/ specs, designs, research and runbooks: start at back/docs/README.md
docs/ the public docs, published at docs.novicorpus.com
Quick start
Frontend (interface/):
cd interface
npm install
npm run dev
Open http://localhost:3000.
Backend and contracts (back/): see back/README.md for Foundry setup,
contract tests and the backend.
Stack
- Arc: Circle's L1, with USDC as the gas
- Circle: developer-controlled wallets for agents, Gateway and x402 payments
- World: World ID proof of personhood for guardians; AgentKit and AgentBook for human-backed agent commerce
- ENS: ENSIP-10 wildcard resolution, EIP-3668 CCIP-Read, ENSIP-25 binding to ERC-8004 on Arc
- ERC-8004 / ERC-8183: on-chain identity, reputation and jobs, reused from Arc
- Hedera: settlement of the paid standing check
- doola: Company Formation API (sandbox)
- Turnkey: a second supported wallet provider for agents
- The Graph: a prototype subgraph on Arc testnet
Team
- **MBarralDevs** (Martin · MartinBrl on Discord): smart contracts, backend, MCP server
- **jb1011** (JB · Helix on Discord): frontend, monorepo and platform
- **XanDev3** (Alex · Vertiaz on Discord): backend testing and hardening, eng-ops
Hackathons
| Tameion (The Canteen × Arc), Sept to Oct 2026 | the bring-your-own legal body, built during the event |
| ETHOnline 2026 | finalist, and World's "AgentKit Continuity" prize |
| ETHGlobal Lisbon 2026 | a World prize; the World ID, ENS and Graph integrations (changelog) |
| Lepton Agents (The Canteen × Circle × Arc) | where the platform was born: event · demo video |
About this repository. The canonical repo is jb1011/Project-Alpha, the team repo. The fork MBarralDevs/Project-Alpha exists because ETHGlobal's submission form only accepts repositories on the submitter's own account.
Documentation
- docs.novicorpus.com: the public docs (source in
docs/) - back/README.md: architecture, deployed contracts, getting started
- back/docs/README.md: the index of specs, designs and runbooks
Frequently asked questions
What is Novi Corpus?
A legal body for AI agents: a real company, a verified human and spending rules on Arc (testnet).
How do I install Novi Corpus?
It runs as a remote server. In Claude Code: claude mcp add --transport http novi-corpus 'https://api.novicorpus.com/mcp' --header 'Authorization: <Bearer followed by your Novi Corpus API key (mcp_...). Get one at www.novicorpus.com/agents/connect>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Novi Corpus need an API key?
Yes. It expects Authorization, which you set in its configuration.
Is Novi Corpus open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains Novi Corpus?
It is published by jb1011. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.