Give your agent a wallet you control.
에이전트가 일회용 카드나 기계 결제 프로토콜로 온라인 결제하고, 모든 요청을 직접 승인
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Smart contracts for Conductors — invest in AI agents that run real businesses. Fair-launch bonding curves, AMM graduation and a one-way, KYC-gated conversion into revenue pools. Solidity · Base · Arbitrum.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗[!WARNING] Pre-audit. These contracts run on testnet and have not been professionally audited. Do not deploy them to mainnet with real funds.
On Conductors, an AI agent operates a real business (EV chargers, data centers or an API behind an x402 paywall), and its revenue flows into a DobProtocol pool. Each agent offers two separate products:
| A — agent token | B — revenue participation | |
|---|---|---|
| Nature | Perpetual market token | Finite, amortizing claim on future revenue |
| Access | Permissionless trading | KYC required |
| Issued by | This repo (AgentShareToken) | DobProtocol pool |
| Pays out | Nothing directly. Its value is the right to convert | 100% of the revenue that reaches the pool |
| Market | Bonding curve → locked-liquidity AMM, quoted in DOBX | DobProtocol |
Holders can convert A → B once, and the conversion can't be reversed. It burns the A, releases the curve reserve that backed it to fund the business's capex, and hands back B at a pro-rata ratio fixed at activation. B can never be turned back into A.
flowchart LR
L["AgentLaunchpad<br/><code>launch()</code>"] --> T["AgentShareToken (A)<br/>fixed supply"]
L --> C["AgentBondingCurve<br/>buy / sell in DOBX"]
C -- "raised ≥ graduationRaise" --> M["AgentAMM<br/>x·y = k, LP locked"]
C -- "trading fees" --> F["AgentFeeSplitter<br/>65% agent · 35% platform"]
L -- "<code>deployController()</code>" --> K["AgentController<br/>immutable, ownerless"]
H(("Holder")) -- "convert(A)" --> K
K -- "burn A + release reserve" --> C
K -- "DOBX" --> X["capexSink"]
K -- "B" --> H
K -. "KYC check" .-> R["KycRegistry"]
P[("DobProtocol pool<br/>revenue → B holders")] -. "B tokens" .-> K
AgentLaunchpad deploys the agent's A token and its bonding curve. The full supply sits in the curve.base + sold · slope.AgentAMM at its terminal price and locks the LP forever.AgentController lets KYC'd holders convert A into B.| Contract | Responsibility |
|---|---|
DOBX | Platform token and quote asset of every curve. Fixed 1e9 supply minted to the treasury, no mint function, burnable. |
AgentLaunchpad | Factory and registry. launch() deploys an agent's A token and curve; deployController() attaches the A→B crossing. Gated and pausable. |
AgentShareToken | Fixed-supply ERC-20 for one agent's A. No owner, no mint after launch; holder-burnable. |
AgentBondingCurve | Linear curve priced per whole share in DOBX. Graduates into the AMM at graduationRaise; redeemForConversion() is callable only by the bound controller. |
AgentAMM | Constant-product AMM for A ↔ DOBX with explicit reserves (donation-proof). |
AgentController | The crossing. Immutable and ownerless: snapshots supply at activate(), enforces a grace period and KYC, converts A → B, routes released reserve to the capex sink, vests the creator's retained B. |
AgentControllerFactory | Holds the controller's creation code so the launchpad stays under the 24 KB limit. Stateless. |
AgentController has no owner, proxy, setter or sweep. bindController can only be called once, so a live crossing can't be redirected.balanceOf, which also rules out a first-depositor attack. addLiquidity only takes a matched pair, and every state-changing trade has a deadline.The key and role model, the threat analysis and the plan to separate keys before mainnet are in docs/OPERATIONS.md. To report a vulnerability, see SECURITY.md.
| Contract | Address |
|---|---|
| DOBX | 0x7E18D1DE113C7F0D02998f61F2715bA5acE5E3c5 |
| AgentLaunchpad | 0xA16C303E28F5220196f84fEAa7A1E376f29bd6CA |
| AgentControllerFactory | 0x8aA347f079B34fD189bD72B5AfeF604F59dDcC3b |
| KycRegistry | 0x8c75969aF053a4b4203685b441EDCe9372B077d2 |
Configured networks: Base (base, 8453) · Base Sepolia (baseSepolia, 84532) ·
Arbitrum One (arbitrumOne, 42161) · Arbitrum Sepolia (arbitrumSepolia, 421614) ·
Robinhood Chain (robinhood, 4663)
You need Node.js 20+. The fuzz suite also needs Foundry.
git clone --recurse-submodules https://github.com/opcastil11/conductors-contracts.git
cd conductors-contracts
npm install
npm run compile
npm test # Hardhat: lifecycle, graduation, AMM, fee split and the full A→B crossing
forge test # Foundry: curve fuzzing, AMM and stake invariants
The scripts in scripts/e2e-*.js run end to end against a live testnet deployment. They are
described in docs/STATUS.md.
cp .env.example .env # PRIVATE_KEY, PLATFORM_TREASURY, RPC URLs, explorer API keys
npm run deploy:baseSepolia # or deploy:arbitrumSepolia, deploy:base, deploy:arbitrum
The first deploy on a network mints DOBX. On every later deploy, set DOBX_ADDRESS so all
curves share one quote token. Addresses are written to deployments/<network>.json, which is
gitignored. The full runbook is in docs/DEPLOY.md.
| Document | Contents |
|---|---|
| TOKENOMICS-V2 | Current economic model: the two products, one-way conversion, price floor and creator parameters |
| STATUS | What is deployed and verified on-chain, and what is not built yet |
| OPERATIONS | Roles and keys, threat model, key-separation plan, operational runbook |
| DEPLOY | Deployment runbook and per-agent wiring |
| TOKENOMICS (v1) | Superseded 2026-07-05 model, kept for history |
graduationRaiseOscar Castillo and Fernando Castillo, the founding team of DobProtocol. DobProtocol is backed by the Stellar Development Foundation and DraperU Ventures.
MIT © 2026 Conductors
AgentFeeSplitter| Fee recipient of a curve. Splits trading fees between the agent's wallet, which pays for its own compute, and the platform. Default 65 / 35; the agent's share is never below 50%. |
KycRegistry | On-chain mirror of DobProtocol's KYC. Consulted only at the crossing; trading A stays permissionless. |
OperatorStake | Operator bond with cooldown-delayed withdrawals, slashable on proven under-reporting of revenue. |