{"id":"token-due-diligence","title":"Token Due Diligence Pack","description":"Honeypot / rug screening from live Base bytecode plus a Solidity audit of the token's verified source. Source is fetched from Sourcify (following EIP-1967/zeppelinos proxies to the implementation) when not supplied; unverified tokens are refused before any charge. Runs token-trap-detector ($0.25) + contract-auditor ($1.00) in one paid call for 20% less than buying them separately. Charged only when every member succeeds.","roi":"Screens tradability and admin control, then audits the code those controls live in, before a treasury or bot buys the token.","audience":"crypto","channels":["x402","mcp","rapidapi"],"endpoint":{"method":"POST","url":"https://agents.writerslogic.com/api/v1/bundles/token-due-diligence","path":"/api/v1/bundles/token-due-diligence","contentType":"application/json"},"price":{"amount":"1.00","currency":"USDC","network":"base","perCall":true,"failedCallsCharged":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["tokenAddress"],"properties":{"tokenAddress":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Token contract address on Base."},"sourceCode":{"type":"string","minLength":1,"maxLength":100000,"description":"Solidity source; fetched from Sourcify when omitted."},"contractName":{"type":"string","maxLength":200,"description":"Contract to focus on when several are present."}}},"resultSchema":{"type":"object","properties":{"results":{"type":"object","description":"Each member agent's full result, keyed by agent id.","properties":{"token-trap-detector":{"type":"object","additionalProperties":false,"required":["honeypotProbability","proxyRisk","maxSafeSlippage","verdict","confidence","risk_factors","mitigating_factors","summary","verdict_floor_applied","decidedBy","evidenceBasis","llmCalls","source_review","oracles","privilegedSelectorsFound","telemetry"],"properties":{"honeypotProbability":{"type":"integer","description":"0-100 rule score: 100 simulated sell failure, 95 tax of 50% or more, lower from taxes and live control."},"proxyRisk":{"type":"string","enum":["none","low","medium","high","critical"]},"maxSafeSlippage":{"type":"number","description":"Slippage tolerance in percent that covers the worst measured tax plus a 1 point margin, at most 49."},"verdict":{"type":"string","enum":["SAFE","CAUTION","HONEYPOT_RUG","INSUFFICIENT_EVIDENCE"],"description":"INSUFFICIENT_EVIDENCE: sellability could not be established."},"confidence":{"type":"string","enum":["low","medium","high"]},"risk_factors":{"type":"array","items":{"type":"string"}},"mitigating_factors":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"},"verdict_floor_applied":{"type":"boolean"},"decidedBy":{"type":"string","enum":["rules:simulation","rules:bytecode_only"],"description":"Every score and the verdict are decided by code rules. rules:simulation rests on a honeypot.is buy/sell simulation; rules:bytecode_only on GoPlus flags and on-chain telemetry with lowered confidence."},"evidenceBasis":{"type":"string","enum":["simulation","oracle_flags","bytecode_only"]},"llmCalls":{"type":"integer","description":"1 only when sourceCode was supplied (fast-tier source review); the model never sets a score or verdict."},"source_review":{"type":"object","description":"Model observations about the supplied sourceCode; advisory and never affects the score.","properties":{"status":{"type":"string","enum":["not_requested","ok","failed"]},"observations":{"type":"array","items":{"type":"string"}}}},"oracles":{"type":"object","description":"Third-party readings (taxes in percent), any errors, and per-oracle sources: honeypot.is and GoPlus with request URL, status (ok | no_simulation | no_data | unavailable) and detail."},"privilegedSelectorsFound":{"type":"array","items":{"type":"object","properties":{"selector":{"type":"string"},"signature":{"type":"string"},"category":{"type":"string"}}}},"telemetry":{"type":"object"}}},"contract-auditor":{"type":"object","additionalProperties":false,"required":["summary","overall_risk","findings","verdict","verdict_reason","risk_score","status","next_step","top_findings","source","sarif","contract_names","compiler_version","not_checked","severity_counts","lines_of_code"],"properties":{"summary":{"type":"string"},"overall_risk":{"type":"string","enum":["critical","high","medium","low","informational","none"]},"findings":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","title","severity","category","location","code_snippet","description","exploit_scenario","recommendation","confidence","source","verification","line_start","line_end","file","line","end_line"],"properties":{"id":{"type":"string","description":"Sequential id such as F-01."},"title":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","informational"]},"category":{"type":"string","enum":["reentrancy","integer_overflow_underflow","access_control","logic_error","unchecked_external_call","oracle_price_manipulation","front_running_mev","denial_of_service","timestamp_dependence","tx_origin_auth","delegatecall_proxy","storage_collision_uninitialized","signature_replay","erc_standard_violation","centralization_risk","gas_optimization","other"]},"location":{"type":"string","description":"Contract.function and line number(s) from the numbered source."},"code_snippet":{"type":"string","description":"The exact source text of the vulnerable statement, copied verbatim without the line-number prefix."},"description":{"type":"string"},"exploit_scenario":{"type":"string","description":"Concrete attacker steps, or \"n/a\" for non-exploitable issues."},"recommendation":{"type":"string","description":"Specific fix, with a short code snippet when useful."},"confidence":{"type":"string","enum":["high","medium","low"]},"source":{"type":"string","enum":["model","static"],"description":"static = raised by the deterministic detector pass."},"verification":{"type":"string","enum":["verified","line_corrected","snippet_not_found","static_detector"],"description":"snippet_not_found lowers confidence to low."},"line_start":{"type":"integer","description":"True 1-based line of the snippet in the combined source the model read; 0 when it could not be located."},"line_end":{"type":"integer"},"file":{"type":"string","description":"File holding the finding; contract.sol for code input, the Sourcify or uploaded path otherwise."},"line":{"type":"integer","description":"1-based line within file (1 when the snippet could not be located)."},"end_line":{"type":"integer"}}}},"verdict":{"type":"string","enum":["fail","warn","pass","inconclusive"],"description":"fail: a critical or high finding of medium or high confidence. warn: other findings. pass: only informational notes or none (not proof of safety). inconclusive: no findings but part of the source was not reviewed."},"verdict_reason":{"type":"string"},"risk_score":{"type":"integer","description":"0-100, computed in code from finding severity and confidence."},"status":{"type":"string","enum":["complete","partial"],"description":"partial when files were left out of the review; the result is still signed and not_checked says what is missing."},"next_step":{"type":"string"},"top_findings":{"type":"array","items":{"type":"object","description":"Up to 5 non-informational findings: id, title, severity, confidence, file, line, fix."}},"source":{"type":"object","description":"Where the source came from: kind (code, files, sourcify), file paths reviewed, and for Sourcify the address, chainId, match type, compiler and verification time."},"sarif":{"type":"object","description":"SARIF 2.1.0 log, one result per finding at its file and line; uploads to GitHub code scanning as-is."},"contract_names":{"type":"array","items":{"type":"string"},"description":"Parsed from the source, not model-generated."},"compiler_version":{"type":"string","description":"Parsed pragma expression, or \"unspecified\"."},"not_checked":{"type":"array","items":{"type":"string"},"description":"What this review could not see; an empty findings list does not cover these."},"severity_counts":{"type":"object","additionalProperties":false,"required":["critical","high","medium","low","informational"],"properties":{"critical":{"type":"integer"},"high":{"type":"integer"},"medium":{"type":"integer"},"low":{"type":"integer"},"informational":{"type":"integer"}}},"lines_of_code":{"type":"integer"}}}},"required":["token-trap-detector","contract-auditor"]},"deterministic":{"type":"boolean","description":"True only when every member answered without a model."},"source":{"type":"object","description":"Where the audited source came from (caller or Sourcify) and whether a proxy was followed."}},"required":["results","deterministic"]},"outputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"results":{"type":"object","description":"Each member agent's full result, keyed by agent id.","properties":{"token-trap-detector":{"type":"object","additionalProperties":false,"required":["honeypotProbability","proxyRisk","maxSafeSlippage","verdict","confidence","risk_factors","mitigating_factors","summary","verdict_floor_applied","decidedBy","evidenceBasis","llmCalls","source_review","oracles","privilegedSelectorsFound","telemetry"],"properties":{"honeypotProbability":{"type":"integer","description":"0-100 rule score: 100 simulated sell failure, 95 tax of 50% or more, lower from taxes and live control."},"proxyRisk":{"type":"string","enum":["none","low","medium","high","critical"]},"maxSafeSlippage":{"type":"number","description":"Slippage tolerance in percent that covers the worst measured tax plus a 1 point margin, at most 49."},"verdict":{"type":"string","enum":["SAFE","CAUTION","HONEYPOT_RUG","INSUFFICIENT_EVIDENCE"],"description":"INSUFFICIENT_EVIDENCE: sellability could not be established."},"confidence":{"type":"string","enum":["low","medium","high"]},"risk_factors":{"type":"array","items":{"type":"string"}},"mitigating_factors":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"},"verdict_floor_applied":{"type":"boolean"},"decidedBy":{"type":"string","enum":["rules:simulation","rules:bytecode_only"],"description":"Every score and the verdict are decided by code rules. rules:simulation rests on a honeypot.is buy/sell simulation; rules:bytecode_only on GoPlus flags and on-chain telemetry with lowered confidence."},"evidenceBasis":{"type":"string","enum":["simulation","oracle_flags","bytecode_only"]},"llmCalls":{"type":"integer","description":"1 only when sourceCode was supplied (fast-tier source review); the model never sets a score or verdict."},"source_review":{"type":"object","description":"Model observations about the supplied sourceCode; advisory and never affects the score.","properties":{"status":{"type":"string","enum":["not_requested","ok","failed"]},"observations":{"type":"array","items":{"type":"string"}}}},"oracles":{"type":"object","description":"Third-party readings (taxes in percent), any errors, and per-oracle sources: honeypot.is and GoPlus with request URL, status (ok | no_simulation | no_data | unavailable) and detail."},"privilegedSelectorsFound":{"type":"array","items":{"type":"object","properties":{"selector":{"type":"string"},"signature":{"type":"string"},"category":{"type":"string"}}}},"telemetry":{"type":"object"}}},"contract-auditor":{"type":"object","additionalProperties":false,"required":["summary","overall_risk","findings","verdict","verdict_reason","risk_score","status","next_step","top_findings","source","sarif","contract_names","compiler_version","not_checked","severity_counts","lines_of_code"],"properties":{"summary":{"type":"string"},"overall_risk":{"type":"string","enum":["critical","high","medium","low","informational","none"]},"findings":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","title","severity","category","location","code_snippet","description","exploit_scenario","recommendation","confidence","source","verification","line_start","line_end","file","line","end_line"],"properties":{"id":{"type":"string","description":"Sequential id such as F-01."},"title":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","informational"]},"category":{"type":"string","enum":["reentrancy","integer_overflow_underflow","access_control","logic_error","unchecked_external_call","oracle_price_manipulation","front_running_mev","denial_of_service","timestamp_dependence","tx_origin_auth","delegatecall_proxy","storage_collision_uninitialized","signature_replay","erc_standard_violation","centralization_risk","gas_optimization","other"]},"location":{"type":"string","description":"Contract.function and line number(s) from the numbered source."},"code_snippet":{"type":"string","description":"The exact source text of the vulnerable statement, copied verbatim without the line-number prefix."},"description":{"type":"string"},"exploit_scenario":{"type":"string","description":"Concrete attacker steps, or \"n/a\" for non-exploitable issues."},"recommendation":{"type":"string","description":"Specific fix, with a short code snippet when useful."},"confidence":{"type":"string","enum":["high","medium","low"]},"source":{"type":"string","enum":["model","static"],"description":"static = raised by the deterministic detector pass."},"verification":{"type":"string","enum":["verified","line_corrected","snippet_not_found","static_detector"],"description":"snippet_not_found lowers confidence to low."},"line_start":{"type":"integer","description":"True 1-based line of the snippet in the combined source the model read; 0 when it could not be located."},"line_end":{"type":"integer"},"file":{"type":"string","description":"File holding the finding; contract.sol for code input, the Sourcify or uploaded path otherwise."},"line":{"type":"integer","description":"1-based line within file (1 when the snippet could not be located)."},"end_line":{"type":"integer"}}}},"verdict":{"type":"string","enum":["fail","warn","pass","inconclusive"],"description":"fail: a critical or high finding of medium or high confidence. warn: other findings. pass: only informational notes or none (not proof of safety). inconclusive: no findings but part of the source was not reviewed."},"verdict_reason":{"type":"string"},"risk_score":{"type":"integer","description":"0-100, computed in code from finding severity and confidence."},"status":{"type":"string","enum":["complete","partial"],"description":"partial when files were left out of the review; the result is still signed and not_checked says what is missing."},"next_step":{"type":"string"},"top_findings":{"type":"array","items":{"type":"object","description":"Up to 5 non-informational findings: id, title, severity, confidence, file, line, fix."}},"source":{"type":"object","description":"Where the source came from: kind (code, files, sourcify), file paths reviewed, and for Sourcify the address, chainId, match type, compiler and verification time."},"sarif":{"type":"object","description":"SARIF 2.1.0 log, one result per finding at its file and line; uploads to GitHub code scanning as-is."},"contract_names":{"type":"array","items":{"type":"string"},"description":"Parsed from the source, not model-generated."},"compiler_version":{"type":"string","description":"Parsed pragma expression, or \"unspecified\"."},"not_checked":{"type":"array","items":{"type":"string"},"description":"What this review could not see; an empty findings list does not cover these."},"severity_counts":{"type":"object","additionalProperties":false,"required":["critical","high","medium","low","informational"],"properties":{"critical":{"type":"integer"},"high":{"type":"integer"},"medium":{"type":"integer"},"low":{"type":"integer"},"informational":{"type":"integer"}}},"lines_of_code":{"type":"integer"}}}},"required":["token-trap-detector","contract-auditor"]},"deterministic":{"type":"boolean","description":"True only when every member answered without a model."},"source":{"type":"object","description":"Where the audited source came from (caller or Sourcify) and whether a proxy was followed."}},"required":["results","deterministic"]},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]},"example":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"openapiOperation":{"operationId":"token_due_diligence","summary":"Token Due Diligence Pack","description":"Honeypot / rug screening from live Base bytecode plus a Solidity audit of the token's verified source. Source is fetched from Sourcify (following EIP-1967/zeppelinos proxies to the implementation) when not supplied; unverified tokens are refused before any charge. Runs token-trap-detector ($0.25) + contract-auditor ($1.00) in one paid call for 20% less than buying them separately. Charged only when every member succeeds.\n\nPrice: 1.00 USDC on Base (x402).","x-x402-price-usdc":"1.00","x-x402-amount":"1000000","x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"1.00"}},"x-audience":"crypto","x-sample-url":"https://agents.writerslogic.com/api/v1/samples/token-due-diligence","security":[{"x402":[]},{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["tokenAddress"],"properties":{"tokenAddress":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Token contract address on Base."},"sourceCode":{"type":"string","minLength":1,"maxLength":100000,"description":"Solidity source; fetched from Sourcify when omitted."},"contractName":{"type":"string","maxLength":200,"description":"Contract to focus on when several are present."}}},"example":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}}},"responses":{"200":{"description":"Paid result with provenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"results":{"type":"object","description":"Each member agent's full result, keyed by agent id.","properties":{"token-trap-detector":{"type":"object","additionalProperties":false,"required":["honeypotProbability","proxyRisk","maxSafeSlippage","verdict","confidence","risk_factors","mitigating_factors","summary","verdict_floor_applied","decidedBy","evidenceBasis","llmCalls","source_review","oracles","privilegedSelectorsFound","telemetry"],"properties":{"honeypotProbability":{"type":"integer","description":"0-100 rule score: 100 simulated sell failure, 95 tax of 50% or more, lower from taxes and live control."},"proxyRisk":{"type":"string","enum":["none","low","medium","high","critical"]},"maxSafeSlippage":{"type":"number","description":"Slippage tolerance in percent that covers the worst measured tax plus a 1 point margin, at most 49."},"verdict":{"type":"string","enum":["SAFE","CAUTION","HONEYPOT_RUG","INSUFFICIENT_EVIDENCE"],"description":"INSUFFICIENT_EVIDENCE: sellability could not be established."},"confidence":{"type":"string","enum":["low","medium","high"]},"risk_factors":{"type":"array","items":{"type":"string"}},"mitigating_factors":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"},"verdict_floor_applied":{"type":"boolean"},"decidedBy":{"type":"string","enum":["rules:simulation","rules:bytecode_only"],"description":"Every score and the verdict are decided by code rules. rules:simulation rests on a honeypot.is buy/sell simulation; rules:bytecode_only on GoPlus flags and on-chain telemetry with lowered confidence."},"evidenceBasis":{"type":"string","enum":["simulation","oracle_flags","bytecode_only"]},"llmCalls":{"type":"integer","description":"1 only when sourceCode was supplied (fast-tier source review); the model never sets a score or verdict."},"source_review":{"type":"object","description":"Model observations about the supplied sourceCode; advisory and never affects the score.","properties":{"status":{"type":"string","enum":["not_requested","ok","failed"]},"observations":{"type":"array","items":{"type":"string"}}}},"oracles":{"type":"object","description":"Third-party readings (taxes in percent), any errors, and per-oracle sources: honeypot.is and GoPlus with request URL, status (ok | no_simulation | no_data | unavailable) and detail."},"privilegedSelectorsFound":{"type":"array","items":{"type":"object","properties":{"selector":{"type":"string"},"signature":{"type":"string"},"category":{"type":"string"}}}},"telemetry":{"type":"object"}}},"contract-auditor":{"type":"object","additionalProperties":false,"required":["summary","overall_risk","findings","verdict","verdict_reason","risk_score","status","next_step","top_findings","source","sarif","contract_names","compiler_version","not_checked","severity_counts","lines_of_code"],"properties":{"summary":{"type":"string"},"overall_risk":{"type":"string","enum":["critical","high","medium","low","informational","none"]},"findings":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","title","severity","category","location","code_snippet","description","exploit_scenario","recommendation","confidence","source","verification","line_start","line_end","file","line","end_line"],"properties":{"id":{"type":"string","description":"Sequential id such as F-01."},"title":{"type":"string"},"severity":{"type":"string","enum":["critical","high","medium","low","informational"]},"category":{"type":"string","enum":["reentrancy","integer_overflow_underflow","access_control","logic_error","unchecked_external_call","oracle_price_manipulation","front_running_mev","denial_of_service","timestamp_dependence","tx_origin_auth","delegatecall_proxy","storage_collision_uninitialized","signature_replay","erc_standard_violation","centralization_risk","gas_optimization","other"]},"location":{"type":"string","description":"Contract.function and line number(s) from the numbered source."},"code_snippet":{"type":"string","description":"The exact source text of the vulnerable statement, copied verbatim without the line-number prefix."},"description":{"type":"string"},"exploit_scenario":{"type":"string","description":"Concrete attacker steps, or \"n/a\" for non-exploitable issues."},"recommendation":{"type":"string","description":"Specific fix, with a short code snippet when useful."},"confidence":{"type":"string","enum":["high","medium","low"]},"source":{"type":"string","enum":["model","static"],"description":"static = raised by the deterministic detector pass."},"verification":{"type":"string","enum":["verified","line_corrected","snippet_not_found","static_detector"],"description":"snippet_not_found lowers confidence to low."},"line_start":{"type":"integer","description":"True 1-based line of the snippet in the combined source the model read; 0 when it could not be located."},"line_end":{"type":"integer"},"file":{"type":"string","description":"File holding the finding; contract.sol for code input, the Sourcify or uploaded path otherwise."},"line":{"type":"integer","description":"1-based line within file (1 when the snippet could not be located)."},"end_line":{"type":"integer"}}}},"verdict":{"type":"string","enum":["fail","warn","pass","inconclusive"],"description":"fail: a critical or high finding of medium or high confidence. warn: other findings. pass: only informational notes or none (not proof of safety). inconclusive: no findings but part of the source was not reviewed."},"verdict_reason":{"type":"string"},"risk_score":{"type":"integer","description":"0-100, computed in code from finding severity and confidence."},"status":{"type":"string","enum":["complete","partial"],"description":"partial when files were left out of the review; the result is still signed and not_checked says what is missing."},"next_step":{"type":"string"},"top_findings":{"type":"array","items":{"type":"object","description":"Up to 5 non-informational findings: id, title, severity, confidence, file, line, fix."}},"source":{"type":"object","description":"Where the source came from: kind (code, files, sourcify), file paths reviewed, and for Sourcify the address, chainId, match type, compiler and verification time."},"sarif":{"type":"object","description":"SARIF 2.1.0 log, one result per finding at its file and line; uploads to GitHub code scanning as-is."},"contract_names":{"type":"array","items":{"type":"string"},"description":"Parsed from the source, not model-generated."},"compiler_version":{"type":"string","description":"Parsed pragma expression, or \"unspecified\"."},"not_checked":{"type":"array","items":{"type":"string"},"description":"What this review could not see; an empty findings list does not cover these."},"severity_counts":{"type":"object","additionalProperties":false,"required":["critical","high","medium","low","informational"],"properties":{"critical":{"type":"integer"},"high":{"type":"integer"},"medium":{"type":"integer"},"low":{"type":"integer"},"informational":{"type":"integer"}}},"lines_of_code":{"type":"integer"}}}},"required":["token-trap-detector","contract-auditor"]},"deterministic":{"type":"boolean","description":"True only when every member answered without a model."},"source":{"type":"object","description":"Where the audited source came from (caller or Sourcify) and whether a proxy was followed."}},"required":["results","deterministic"]},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]}}}},"400":{"description":"Invalid request (no payment consumed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"401":{"description":"Invalid X-API-KEY","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"402":{"description":"Payment required or invalid","content":{"application/json":{"schema":{"type":"object","description":"x402 v2 PaymentRequired (also base64 in the PAYMENT-REQUIRED header)","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"code":{"type":"string"},"resource":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}},"extensions":{"type":"object"}}}}}},"502":{"description":"Upstream failure; the payment is released or not settled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}}}},"links":{"docs":"https://agents.writerslogic.com/docs/token-due-diligence/","docsJson":"https://agents.writerslogic.com/docs/token-due-diligence.json","sample":"https://agents.writerslogic.com/api/v1/samples/token-due-diligence","openapi":"https://agents.writerslogic.com/openapi.json","catalog":"https://agents.writerslogic.com/api/v1/catalog","verifyProvenance":"https://agents.writerslogic.com/api/v1/verify-provenance","index":"https://agents.writerslogic.com/docs/index.json"}}