{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-solidity-smart-contract-engineer",
 "type": "agent",
 "name": "Solidity smart contract developer",
 "summary": "Plan a safer Solidity smart contract, with a threat list, contract layout, gas notes, a test plan and a checklist to run before an audit.",
 "headline": "Solidity smart contract developer",
 "subhead": "Give it what your contract must do, who holds power over it and which chain it runs on. It lists the ways it could be attacked, then plans the contract, the tests and the checks. You get a plan to bring to a professional audit, not a replacement for one.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  }
 ],
 "you_give": [
  "What the contract must do, in plain words",
  "Which chain or network it will run on, such as Ethereum or an L2",
  "The token standard, if any, such as ERC-20 or ERC-721",
  "Who holds admin power, and any outside contracts or price feeds you trust",
  "Your threat worries, such as theft, rug pulls or price manipulation (optional)",
  "Your existing contract code, if you have any (optional)"
 ],
 "you_get": [
  "A list of ways the contract could be attacked, ranked by what is at stake",
  "A rule list of what must always be true, such as balances adding up",
  "A contract layout with interfaces, access roles and the upgrade pattern",
  "Gas notes naming the changes worth making",
  "A test plan with unit, random-input and upgrade tests, and the static checks to run",
  "A deployment checklist and audit-prep notes"
 ],
 "use_when": [
  "You are planning an ERC-20 token, an NFT, a vault or a staking contract and want the risks listed first.",
  "You must choose between upgrade patterns, such as UUPS or transparent proxy.",
  "Your gas costs are high and you want to know which storage and call patterns to change.",
  "You are about to hire an auditor and want your tests and notes ready, so the audit is faster."
 ],
 "skip_when": [
  "You have a deployed contract and need it reviewed for flaws. Use the Blockchain security reviewer.",
  "You want to know whether to buy, sell or launch a token as an investment. This agent plans code, not money decisions.",
  "You need a general web or backend design. Use the Backend Architect agent or the Software architect.",
  "You need a threat review of a non-blockchain app. Use the Application security reviewer."
 ],
 "output_sample": {
  "input": [
   "What the contract must do",
   "The chain and token standard",
   "Who holds admin power and what outside contracts you trust",
   "Your existing Solidity code (optional)"
  ],
  "prerequisites": [
   "Tools to run the checks yourself, such as Foundry, Slither and Mythril",
   "A professional audit before any real money is at risk"
  ],
  "output": [
   {
    "name": "Threat list",
    "contains": "Each way the contract could be attacked, what is at stake and the planned defence."
   },
   {
    "name": "Rules that must always hold",
    "contains": "Plain statements that must stay true after every action, each with how to test it."
   },
   {
    "name": "Contract layout",
    "contains": "The parts, their jobs, who can call them and the upgrade pattern."
   },
   {
    "name": "Gas notes",
    "contains": "Storage and call changes that cut cost, with the trade-off for each."
   },
   {
    "name": "Test plan",
    "contains": "Unit, random-input, rule and upgrade tests, plus the static checks to run."
   },
   {
    "name": "Deployment checklist",
    "contains": "The steps, who does each and what to verify, from testnet to launch."
   },
   {
    "name": "Audit prep and open questions",
    "contains": "Trust assumptions, known risks and what you still need to decide."
   }
  ]
 },
 "output_shape": "CONTRACT PLAN: <contract or protocol name>\n\nTHREAT LIST\n  <threat> | <how it happens> | <what is at stake> | <planned defence>\n\nRULES THAT MUST ALWAYS HOLD\n  <rule in plain words> | <how to test it>\n\nCONTRACT LAYOUT\n  <contract or part> | <job> | <roles that can call it> | <upgrade pattern note>\n\nGAS NOTES\n  <change> | <why it saves gas> | <trade-off>\n\nTEST PLAN\n  <test kind> | <what it covers> | <tool to run it>\n\nDEPLOYMENT CHECKLIST\n  <step> | <who does it> | <what to verify>\n\nAUDIT PREP AND OPEN QUESTIONS\n  <item> | <how to settle it>\n\nNOT AUDITED: This plan is not a security audit.",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. If you cannot, paste SKILL.md into a new chat, then references/source-agent.md.",
  "Describe what the contract does, the chain, the token standard and who holds admin power. Paste any existing Solidity code.",
  "Say \"Write the contract plan. Ask me once if anything is missing. Do not tell me it is safe.\"",
  "Read the threat list first. Add any risk it missed, then check the must-always-be-true rules against your own design.",
  "Run the compile, test and static checks it lists on your own computer, with tools such as Foundry, Slither and Mythril. The agent cannot run them.",
  "Test on a testnet first. Before real money, get a professional security audit."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Software developer from specifications",
   "url": "https://useaiblocks.com/skills/spec-builder",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-solidity-smart-contract-engineer.md",
  "licence": "MIT",
  "original_name": "Solidity Smart Contract Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Solidity Smart Contract Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-solidity-smart-contract-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-solidity-smart-contract-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-solidity-smart-contract-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-solidity-smart-contract-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-solidity-smart-contract-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-solidity-smart-contract-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-solidity-smart-contract-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-solidity-smart-contract-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
