# Priors lab > The ten draft ERCs Priors posted on ethereum/ERCs (ERC-8458 to ERC-8467), each with its text pinned at its pull request's head commit, its discussion thread and its reference implementation, to use on Robinhood Chain testnet. Robinhood Chain testnet (46630). Test tokens, no value. Reference contracts not audited. These are drafts under review, not standards. The lab never signs, never asks for a key and never posts for anyone. Agents sign with their own testnet key, on chain 46630 only. Every page is also plain Markdown. ## Drafts - [ERC-8458: Agent Income Statements](https://lab.priors.trade/erc/8458.md): Public, chained statements of what an agent's ERC-8004 agentWallet received, one leaf per transfer, rebuildable from token logs. Status: Testnet only. - [ERC-8459: Creator Fee Rights](https://lab.priors.trade/erc/8459.md): A launched token's creator fee stream, with its history and a recipient that only the recipient can change, so it can be pledged. Status: Testnet only. - [ERC-8460: Agent Credit Lines](https://lab.priors.trade/erc/8460.md): One interface to quote, borrow, repay and default against any lender to agent identities. Status: Priors runs the model, not the interface. - [ERC-8461: Agent Default Registry](https://lab.priors.trade/erc/8461.md): Lenders record defaults of loans to agent identities, and anyone counts them against the reporters it trusts. Status: Testnet only. - [ERC-8462: Token Launch Declarations](https://lab.priors.trade/erc/8462.md): What a launchpad declares at launch (creator identity, allocations, liquidity lock, financing, fee recipient), on top of ERC-8376. Status: Testnet only. - [ERC-8463: Pool Liquidity Locks](https://lab.priors.trade/erc/8463.md): One interface for any contract that locks pool liquidity (v2 pool tokens, v3 and v4 positions). Status: Testnet only. - [ERC-8464: Agent Repay-First Payees](https://lab.priors.trade/erc/8464.md): A revenue address for an agent identity that pays its creditors before its owner, and token holders after them. Status: Being built. - [ERC-8465: Credit-Matched Liquidity](https://lab.priors.trade/erc/8465.md): A lender funds the quote side of a holder's pool position in an escrow, repaid from fees first, unwound on an oracle price. Status: Testnet only. - [ERC-8466: Agent Credit History](https://lab.priors.trade/erc/8466.md): Loan outcomes as ERC-8004 feedback (credit.statement, credit.defaulted) that any reader rebuilds from the lender's own logs. Status: Live at Priors, read-only here. - [ERC-8467: Agent Credit Backers](https://lab.priors.trade/erc/8467.md): Third parties stand behind a lender's line to an agent identity and take its loss, through lender hooks. Status: Priors runs the model, not the interface. ## What you can do (the app's flows) Each is a page a person follows with their wallet, and the same calls for an agent, in order (the page shows them with the run's own values). Sign each prepared transaction with your own testnet key on chain 46630; sign each typed data (EIP-712) the same way. - [Launch a token](https://lab.priors.trade/app/launch) (ERC-8462 · ERC-8463 · ERC-8459): One transaction makes your agent's test token, seeds its pool, locks the liquidity and opens its creator fee stream. Calls: lab_read(8462, launch_authorization), lab_prepare(8462, launch). - [Create a pool and lock its liquidity](https://lab.priors.trade/app/pool) (ERC-8463): A pool of your token against the Lab Test Dollar, its pool tokens yours, then locked until the time you choose. Calls: lab_prepare(8463, create_pool_token), lab_prepare(8463, approve_pool_tokens), lab_prepare(8463, lock_pool_tokens). - [Claim the creator fees](https://lab.priors.trade/app/fees) (ERC-8459): The fees your token's trades pay stream to you as its creator: pay some test fees in, then claim them. Calls: lab_prepare(8459, approve_launchpad_fee), lab_prepare(8459, pay_fee), lab_prepare(8459, claim). - [Open a credit line](https://lab.priors.trade/app/credit) (ERC-8460): Your agent's line of 100 test dollars on the lab's credit line: borrow on it, then repay. Calls: lab_prepare(8460, claim_line), lab_prepare(8460, borrow), lab_prepare(8460, approve_repay), lab_prepare(8460, repay). - [Back an agent](https://lab.priors.trade/app/back) (ERC-8467): Stand behind an agent's line with a stake of your own, with its owner's signed consent. Calls: lab_deploy_prepare(8467, stake_backer), lab_prepare(8467, stake), lab_read(8467, consent), lab_prepare(8467, back). - [Repay-first payee](https://lab.priors.trade/app/payee) (ERC-8464): Your agent is paid at a payee that repays its creditors first, then forwards the rest to you. Calls: lab_prepare(8464, deploy_payee), lab_prepare(8464, set_agent_wallet), lab_prepare(8460, claim_line), lab_prepare(8460, borrow), lab_prepare(8464, track_loan), lab_prepare(8464, add_creditor), lab_prepare(8464, pay), lab_prepare(8464, sweep). - [Report and cure a default](https://lab.priors.trade/app/default) (ERC-8461): A default recorded in the shared registry, then cured: what any lender reads before lending to an agent. Calls: lab_prepare(8461, record_default), lab_prepare(8461, record_cure). - [Post a credit entry and read the mainnet history](https://lab.priors.trade/app/history) (ERC-8466): As a lender's writer, post another agent's credit statement to the ERC-8004 reputation registry; read Priors' live statements on mainnet. Calls: build the file, lab_prepare(8466, post_credit_entry). - [Post an income statement and prove a payment](https://lab.priors.trade/app/income) (ERC-8458): Write an income statement of what an agent earned, post it on chain, then prove one of its payments as a lender checks. Calls: lab_prepare(8459, approve_launchpad_fee), lab_prepare(8459, pay_fee), lab_prepare(8459, claim), build the file, lab_prepare(8458, post_statement), lab_read(8458, payments), lab_prepare(8458, prove_payment). - [Credit-matched liquidity](https://lab.priors.trade/app/cml) (ERC-8465): A lender of your own matches your base token with test dollars in a pool position, which you open and close. Calls: lab_deploy_prepare(8465, base_token), lab_deploy_prepare(8465, price_feed), lab_deploy_prepare(8465, position_manager), lab_deploy_prepare(8465, escrow), lab_prepare(8465, set_mock_pool), lab_prepare(8465, list_pool), lab_prepare(8465, fund), lab_prepare(8465, mint_base), lab_prepare(8465, approve_base), lab_prepare(8465, open), lab_prepare(8465, approve_repay), lab_prepare(8465, close). ## Agent tools - MCP (Streamable HTTP): https://lab.priors.trade/mcp. Tools: lab_list, lab_erc(n), lab_setup(address), lab_read(n, read, params), lab_prepare(n, action, params), lab_deploy_prepare(n, deploy, params), lab_check_contract(n, chain, address), lab_feedback_draft(n, note, txHash?). Every prepare returns an unsigned { chainId: 46630, to, data, value } and refuses any other chain. - HTTP: https://lab.priors.trade/openapi.json (OpenAPI 3.1) describes the same reads and prepares as GETs under https://lab.priors.trade/api/lab/. - Test ETH: POST https://lab.priors.trade/drip with {"address": "0x..."} sends a little test ETH, within a daily cap per address and in all. ## Chain - Robinhood Chain testnet, chain id 46630 (0xb626). Public RPC: https://rpc.testnet.chain.robinhood.com. Explorer: https://explorer.testnet.chain.robinhood.com. - Test ETH: the lab's drip above, or the official faucet at https://faucet.testnet.chain.robinhood.com (it refuses scripts). - Read-only JSON-RPC on this origin: POST https://lab.priors.trade/rpc/46630 (testnet) and POST https://lab.priors.trade/rpc/4663 (Robinhood Chain mainnet, read-only). They answer read methods only (eth_call, eth_getLogs, eth_getBalance and the like); anything that sends or signs is refused. ## Signing on testnet, with your own key Each prepared transaction comes as { chainId: 46630, to, data, value }, and you send it yourself: ```js import { createWalletClient, http, defineChain } from "viem"; import { privateKeyToAccount } from "viem/accounts"; const testnet = defineChain({ id: 46630, name: "Robinhood Chain testnet", nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 }, rpcUrls: { default: { http: ["https://rpc.testnet.chain.robinhood.com"] } } }); const wallet = createWalletClient({ account: privateKeyToAccount(process.env.TESTNET_KEY), chain: testnet, transport: http() }); await wallet.sendTransaction({ to, data, value }); ``` ```sh cast send --rpc-url https://rpc.testnet.chain.robinhood.com --chain 46630 "$TO" "$DATA" --value "$VALUE" --private-key "$TESTNET_KEY" ```