Synchronous endpointAnalyze an EIP-712 typed-data signing request before the user signs it. The response is a risk assessment with an actionable recommendation.Typical findings: unlimited permits, a login message that actually approves transfers, a blacklisted spender, or a suspicious marketplace order.
The HashDit wrapper uses chain_id and eip712_message. The embedded EIP-712 payload keeps protocol and application casing such as primaryType, verifyingContract, chainId, and application-defined message field names.
EIP-3009 gasless transfer — moves funds outright, no allowance.
"ORDER_SIGNATURE"
Marketplace order (Seaport, OpenSea listings).
"DELEGATION"
Delegating control to another address.
"STAKING"
Staking-related signature.
"LOGIN"
Sign-in / authentication message. Typically low risk.
"UNKNOWN"
Could not classify.
Show Risk detail fields
Each item is a checkpoint that fired. The array is empty when nothing fired.Branch on name, not on description. Identifiers are stable; wording is not.
Human-readable explanation. Display it, but do not parse it for application logic.
Which time-window checkpoint applies depends on intent (approval vs marketplace order vs login). You do not need to pick one — the response names the checkpoint that fired.
Show Entity risk fields
Risk enrichment for addresses extracted from the message, plus the URL and verifying contract when those apply.
A missing entities.url means either no url was supplied, or enrichment was unavailable. Threat-intelligence timeouts do not turn the call into a 500 — the response is still served from structural analysis.
Invalid typed-data structure, chain, address, or value
Correct the request; do not retry unchanged.
401
Missing or invalid API key
Fix authentication.
422
Wrapper request schema validation failed
Correct HashDit wrapper fields; preserve protocol payload field names.
429
Rate limit exceeded
Retry with exponential backoff and jitter.
500
Transient service failure
Retry a bounded number of times with backoff.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"HashDit API Documentation","colors":{"primary":"#000000","light":"#7B93FF","dark":"#4063FF"},"logo":{"light":"https://mintcdn.com/hashdit/e2aqOz3kgheFaA6s/images/HashDitLogo.svg?fit=max\u0026auto=format\u0026n=e2aqOz3kgheFaA6s\u0026q=85\u0026s=7a9dd78fd2333ba181ff121df47e1fc1","dark":"https://mintcdn.com/hashdit/e2aqOz3kgheFaA6s/images/HashDitLogo.svg?fit=max\u0026auto=format\u0026n=e2aqOz3kgheFaA6s\u0026q=85\u0026s=7a9dd78fd2333ba181ff121df47e1fc1"},"favicon":"https://mintcdn.com/hashdit/X1tf79Epn6gAycQ4/favicon.svg?fit=max\u0026auto=format\u0026n=X1tf79Epn6gAycQ4\u0026q=85\u0026s=61edaedec3378b17c771d60c971ceebd","api":{"examples":{"prefill":true},"mdx":{"auth":{"method":"key","name":"X-API-KEY"},"server":"https://service.hashdit.io"}},"navbar":{"links":[{"href":"mailto:support@hashdit.io","label":"Support"}],"primary":{"type":"button","label":"HashDit.io","href":"https://www.hashdit.io"}},"footer":{"socials":{"website":"https://www.hashdit.io","x":"https://x.com/hashdit","github":"https://github.com/hashdit"}},"seo":{"metatags":{"canonical":"https://docs.hashdit.io/"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hashdit","hasAudioNarration":false,"actualSubdomain":"hashdit","customDomains":["docs.hashdit.io"],"gitSource":{"type":"github","owner":"matrix-devs","repo":"hashdit-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad308e855791369b484ddd6","collectionId":"7fdcca7b-37a0-4ec4-979f-6171e5105c85","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad308e855791369b484ddd6"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6ad308e855791369b484ddd6","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Blog","count":44},{"language":"default","tag":"Latest Posts","count":44},{"language":"default","tag":"HashDit APIs","count":15},{"language":"default","tag":"Endpoints","count":13},{"language":"default","tag":"Address Poisoning Detection","count":3},{"language":"default","tag":"Address Classification","count":2},{"language":"default","tag":"Transaction Security","count":2},{"language":"default","tag":"API Documentation","count":2},{"language":"default","tag":"Address Security v2","count":1},{"language":"default","tag":"Domain Security","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"[data-tron-only-styled=true]{text-transform:uppercase}[data-new-field-styled=true],[data-tron-only-styled=true]{display:inline-flex!important;align-items:center;justify-content:center;padding:.125rem .5rem!important;border-radius:.375rem!important;font-size:.6875rem!important;font-weight:600!important;line-height:1rem!important;letter-spacing:.025em;white-space:nowrap}[data-tron-only-styled=true]{background-color:rgb(124 58 237/.12)!important;color:#7c3aed!important}.dark [data-tron-only-styled=true]{background-color:rgb(167 139 250/.18)!important;color:#c4b5fd!important}[data-new-field-styled=true]{background-color:rgb(22 163 74/.12)!important;color:#15803d!important;text-transform:lowercase}.dark [data-new-field-styled=true]{background-color:rgb(34 197 94/.18)!important;color:#86efac!important}[data-not-simulated-styled=true]{background-color:rgb(234 88 12/.12)!important;color:#ea580c!important}.dark [data-not-simulated-styled=true]{background-color:rgb(234 88 12/.18)!important;color:#fdba74!important}@media (min-width:1024px){:root{--sidebar-width:18rem;--toc-width:0rem;--column-gap:3.5rem;--edge-min:1.5rem;--cluster-left:var(--edge-min);--cluster-right:var(--edge-min);--article-width:calc(\n\t\t\t100vw - var(--sidebar-width) - var(--column-gap) - 2 * var(--edge-min)\n\t\t);--toc-left:calc(100% - var(--toc-width) - var(--edge-min))}#navbar{width:100vw!important;max-width:none!important;left:0!important;right:0!important}#navbar [class*=max-w-],#navbar [class*=px-12]{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}#navbar,#navbar [class*=h-16],#navbar [class*=max-w-]{padding-left:0!important;padding-right:0!important}#navbar [class*=h-12],#navbar [class*=h-16]>[class*=border-b]{padding-left:var(--cluster-left)!important;padding-right:var(--cluster-right)!important}:has(>#content-container){padding-left:0!important;padding-right:0!important;max-width:none!important;width:100%!important;gap:0!important}#content-container{width:100%!important;max-width:none!important}#sidebar{position:fixed!important;top:7rem;left:var(--cluster-left);z-index:20;box-sizing:border-box;width:var(--sidebar-width);height:calc(100vh - 7rem);padding-left:0;padding-right:0;overflow:auto}#content-area{margin-left:0!important;padding-left:0!important;padding-right:0!important;width:100%!important;max-width:none!important}#content-area>#content,#content-area>#footer,#content-area>#header,#content-area>#pagination,#content-area>.feedback-toolbar,#content-area>.mdx-content,#content-area>[id*=api-playground]{max-width:var(--article-width);width:100%;margin-left:calc(var(--cluster-left) + var(--sidebar-width) + var(--column-gap))!important;margin-right:var(--cluster-right)!important}}@media (min-width:1024px) and (max-width:1279px){:root{--edge-min:2.5rem}}@media (max-width:1023px){:root{--edge-min:2.5rem}#navbar [class*=mx-4]{margin-left:0!important;margin-right:0!important}#navbar [class*=h-16]>[class*=border-b]{padding-left:var(--edge-min)!important;padding-right:var(--edge-min)!important}:has(>#content-container){padding-left:var(--edge-min)!important;padding-right:var(--edge-min)!important}}#wide-page-toc-layout{display:none}@media (min-width:1280px){:root{--toc-width:19rem;--side-space:max(\n\t\t\tvar(--sidebar-width) + var(--column-gap),\n\t\t\tvar(--toc-width) + var(--column-gap)\n\t\t);--article-width:min(\n\t\t\t52rem,\n\t\t\tcalc(100vw - 2 * var(--side-space) - 2 * var(--edge-min))\n\t\t);--cluster-left:max(\n\t\t\tvar(--edge-min),\n\t\t\tcalc(50% - (var(--article-width) / 2) - var(--column-gap) - var(--sidebar-width))\n\t\t);--cluster-right:max(\n\t\t\tvar(--edge-min),\n\t\t\tcalc(50% - (var(--article-width) / 2) - var(--column-gap) - var(--toc-width))\n\t\t);--toc-left:min(\n\t\t\tcalc(50% + (var(--article-width) / 2) + var(--column-gap)),\n\t\t\tcalc(100% - var(--toc-width) - var(--edge-min))\n\t\t)}#wide-page-toc-layout{display:flex;flex:0 0 0;flex-direction:column;position:fixed;top:9.5rem;left:var(--toc-left);right:auto;z-index:21;box-sizing:border-box;width:15rem;min-width:15rem;max-width:15rem;height:calc(100vh - 10.25rem);padding:0;overflow:auto}:has(>#content-side-layout),:has(>#wide-page-toc-layout){gap:0!important}:has(>#content-area):not(:has(>#content-side-layout))>#content-area{min-width:0!important;width:100%!important;max-width:none!important;flex:1 1 auto!important;padding-left:0!important;padding-right:0!important}#content-container:not(:has(#content-side-layout)){max-width:none!important}#content-side-layout{position:fixed!important;top:9.5rem;left:var(--toc-left);right:auto!important;z-index:21;box-sizing:border-box;width:var(--toc-width);min-width:var(--toc-width);max-width:var(--toc-width);height:calc(100vh - 10.25rem);margin-right:0!important;overflow:auto}}.wide-page-toc-title{margin:0 0 .5rem;font-size:.875rem;font-weight:500;line-height:1.5rem;color:#374151}.dark #wide-page-toc-list [data-wide-toc-item] a:hover,.dark .wide-page-toc-title{color:#d1d5db}#wide-page-toc-list{margin:0;padding:0;list-style:none}#wide-page-toc-list [data-wide-toc-item] a{display:block;padding:.25rem 0;font-size:.875rem;line-height:1.5rem;color:#4b5563;text-decoration:none;word-break:break-word}.dark #wide-page-toc-list [data-wide-toc-item] a{color:#9ca3af}#wide-page-toc-list [data-wide-toc-item][data-depth='1'] a{padding-left:.75rem}#wide-page-toc-list [data-wide-toc-item][data-depth='2'] a{padding-left:1.5rem}#wide-page-toc-list [data-wide-toc-item] a:hover{color:#111827}#wide-page-toc-list [data-wide-toc-item][data-active] a{color:#4063ff;text-shadow:-.15px 0 0 currentColor,.15px 0 0 currentColor}.dark #wide-page-toc-list [data-wide-toc-item][data-active] a{color:#7b93ff}.api-lifecycle-source{display:none}.api-lifecycle-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 auto;width:3.5rem;min-width:3.5rem;height:1.375rem;margin-left:.75rem;padding:0 .25rem;border:1px solid currentColor;border-radius:.4375rem;text-align:center;font-size:.65rem;font-weight:700;line-height:1;letter-spacing:.04em;vertical-align:.25em;white-space:nowrap}.api-lifecycle-badge[data-lifecycle=sync]{color:#15803d}.api-lifecycle-badge[data-lifecycle=async]{color:#a16207}.dark .api-lifecycle-badge[data-lifecycle=sync]{color:#86efac}.dark .api-lifecycle-badge[data-lifecycle=async]{color:#fde047}@media (max-width:640px){#page-title{white-space:normal;overflow-wrap:anywhere}}"}],"page":{"pagePath":"api-reference/endpoint/eip712-security","slug":"/api-reference/endpoint/eip712-security","pageMetadata":{"title":"EIP-712 Signature Security","api":"POST /v2/hashdit/eip712-security","mode":"wide","description":null,"href":"/api-reference/endpoint/eip712-security"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,Note,ParamField,ResponseField,Table}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(`span`,{className:`api-lifecycle-source`,\"data-lifecycle\":`sync`,children:`Synchronous endpoint`}),`\n`,_jsxs(_components.p,{children:[`Analyze an EIP-712 typed-data signing request `,_jsx(_components.strong,{children:`before the user signs it`}),`. The response is a risk assessment with an actionable recommendation.`]}),`\n`,_jsx(_components.p,{children:`Typical findings: unlimited permits, a login message that actually approves transfers, a blacklisted spender, or a suspicious marketplace order.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The HashDit wrapper uses `,_jsx(_components.code,{children:`chain_id`}),` and `,_jsx(_components.code,{children:`eip712_message`}),`. The embedded EIP-712 payload keeps protocol and application casing such as `,_jsx(_components.code,{children:`primaryType`}),`, `,_jsx(_components.code,{children:`verifyingContract`}),`, `,_jsx(_components.code,{children:`chainId`}),`, and application-defined message field names.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start`,children:`Quick Start`}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`request-fields`,children:`Request Fields`}),`\n`,_jsx(ParamField,{header:`X-API-KEY`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your HashDit API key. Missing or invalid keys return HTTP `,_jsx(_components.code,{children:`401`}),`. Keep the key on a trusted server.`]})}),`\n`,_jsx(ParamField,{body:`address`,type:`string`,required:true,id:`param-address`,children:_jsx(_components.p,{children:`Address of the account being asked to sign.`})}),`\n`,_jsx(ParamField,{body:`chain_id`,type:`integer`,required:true,id:`param-chain-id`,children:_jsxs(_components.p,{children:[`EVM chain identifier. See `,_jsx(_components.a,{href:`/api-reference/supported-chains`,children:`Supported Chains`}),`.`]})}),`\n`,_jsx(ParamField,{body:`url`,type:`string`,id:`param-url`,children:_jsx(_components.p,{children:`Originating dApp URL. Without it, URL threat-intelligence checks cannot run.`})}),`\n`,_jsx(ParamField,{body:`eip712_message`,type:`object`,required:true,id:`param-eip712-message`,children:_jsxs(_components.p,{children:[`Typed-data payload exactly as the dApp sent it. Preserve `,_jsx(_components.code,{children:`primaryType`}),`, `,_jsx(_components.code,{children:`domain`}),`, `,_jsx(_components.code,{children:`types`}),`, `,_jsx(_components.code,{children:`message`}),`, and application-defined field names.`]})}),`\n`,_jsxs(Expandable,{title:`EIP-712 message fields`,children:[_jsx(ParamField,{body:`eip712_message.types`,type:`object`,required:true,id:`param-eip712-message-types`,children:_jsx(_components.p,{children:`Protocol type definitions keyed by struct name. Preserve every type name and field in the original payload.`})}),_jsx(ParamField,{body:`eip712_message.primaryType`,type:`string`,required:true,id:`param-eip712-message-primary-type`,children:_jsxs(_components.p,{children:[`Primary EIP-712 struct name, such as `,_jsx(_components.code,{children:`Permit`}),`. This protocol field intentionally keeps its original casing.`]})}),_jsx(ParamField,{body:`eip712_message.domain`,type:`object`,required:true,id:`param-eip712-message-domain`,children:_jsxs(_components.p,{children:[`Domain-separator payload. Preserve protocol fields such as `,_jsx(_components.code,{children:`chainId`}),` and `,_jsx(_components.code,{children:`verifyingContract`}),`.`]})}),_jsx(ParamField,{body:`eip712_message.message`,type:`object`,required:true,id:`param-eip712-message-message`,children:_jsxs(_components.p,{children:[`Typed message body. Its fields are defined by `,_jsx(_components.code,{children:`types`}),`; forward it unchanged.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`response-fields`,children:`Response Fields`}),`\n`,_jsx(ResponseField,{name:`code`,type:`string`,required:true,id:`param-code`,children:_jsxs(_components.p,{children:[`API result code. `,_jsx(_components.code,{children:`\"0\"`}),` indicates success; non-zero values indicate an error.`]})}),`\n`,_jsx(ResponseField,{name:`status`,type:`string`,required:true,id:`param-status`,children:_jsxs(_components.p,{children:[`Request status. A successful completed response returns `,_jsx(_components.code,{children:`\"ok\"`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.recommended_action`,type:`string`,id:`param-data-recommended-action`,children:_jsxs(_components.p,{children:[`Signing-flow decision: `,_jsx(_components.code,{children:`ALLOW`}),`, `,_jsx(_components.code,{children:`WARN`}),`, or `,_jsx(_components.code,{children:`BLOCK`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.intent`,type:`string`,id:`param-data-intent`,children:_jsx(_components.p,{children:`Classified meaning of the typed-data request.`})}),`\n`,_jsx(ResponseField,{name:`data.overall_score`,type:`integer`,id:`param-data-overall-score`,children:_jsxs(_components.p,{children:[`Maximum triggered checkpoint score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.overall_risk_level`,type:`string`,id:`param-data-overall-risk-level`,children:_jsxs(_components.p,{children:[`Human-readable risk label corresponding to `,_jsx(_components.code,{children:`overall_score`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.risk_details`,type:`object[]`,id:`param-data-risk-details`,children:_jsx(_components.p,{children:`Triggered findings with stable names, evidence, severity, and descriptions.`})}),`\n`,_jsx(ResponseField,{name:`data.entities`,type:`object`,id:`param-data-entities`,children:_jsx(_components.p,{children:`Risk enrichment for extracted addresses, URL, and verifying contract.`})}),`\n`,_jsx(Heading,{level:`3`,id:`recommended_action`,children:_jsx(_components.code,{children:`recommended_action`})}),`\n`,_jsxs(_components.p,{children:[`Use this field as the decision. Do not compute your own cutoff from `,_jsx(_components.code,{children:`overall_score`}),` — that mapping can change.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"ALLOW\"`})}),_jsx(_components.td,{children:`No significant risk detected.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"WARN\"`})}),_jsx(_components.td,{children:`Suspicious signals — warn before the user signs.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"BLOCK\"`})}),_jsx(_components.td,{children:`Strong risk — recommend blocking the signature.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A single severe finding is enough to reach `,_jsx(_components.code,{children:`BLOCK`}),`. Do not treat `,_jsx(_components.code,{children:`risk_details`}),` as a tally.`]}),`\n`,_jsx(Heading,{level:`3`,id:`intent`,children:_jsx(_components.code,{children:`intent`})}),`\n`,_jsx(_components.p,{children:`What the user is actually signing.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"TOKEN_APPROVAL\"`})}),_jsx(_components.td,{children:`ERC-20 permit or allowance to a spender.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"NFT_APPROVAL\"`})}),_jsx(_components.td,{children:`ERC-721/1155 approval to a spender or operator.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"TOKEN_TRANSFER\"`})}),_jsx(_components.td,{children:`EIP-3009 gasless transfer — moves funds outright, no allowance.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"ORDER_SIGNATURE\"`})}),_jsx(_components.td,{children:`Marketplace order (Seaport, OpenSea listings).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"DELEGATION\"`})}),_jsx(_components.td,{children:`Delegating control to another address.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"STAKING\"`})}),_jsx(_components.td,{children:`Staking-related signature.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"LOGIN\"`})}),_jsx(_components.td,{children:`Sign-in / authentication message. Typically low risk.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"UNKNOWN\"`})}),_jsx(_components.td,{children:`Could not classify.`})]})]})]}),`\n`,_jsxs(Expandable,{title:`Risk detail fields`,children:[_jsx(_components.p,{children:`Each item is a checkpoint that fired. The array is empty when nothing fired.`}),_jsxs(_components.p,{children:[`Branch on `,_jsx(_components.code,{children:`name`}),`, not on `,_jsx(_components.code,{children:`description`}),`. Identifiers are stable; wording is not.`]}),_jsx(ResponseField,{name:`data.risk_details[].name`,type:`string`,id:`param-data-risk-details-name`,children:_jsx(_components.p,{children:`Stable identifier for the check that fired. Use this field for application logic.`})}),_jsx(ResponseField,{name:`data.risk_details[].value`,type:`object`,id:`param-data-risk-details-value`,children:_jsx(_components.p,{children:`Evidence associated with the finding.`})}),_jsx(ResponseField,{name:`data.risk_details[].score`,type:`integer`,id:`param-data-risk-details-score`,children:_jsxs(_components.p,{children:[`Runtime severity score for this finding. `,_jsx(_components.code,{children:`risk_level`}),` is its human-readable label.`]})}),_jsx(ResponseField,{name:`data.risk_details[].risk_level`,type:`string`,id:`param-data-risk-details-risk-level`,children:_jsxs(_components.p,{children:[`Human-readable risk label corresponding to this finding’s `,_jsx(_components.code,{children:`score`}),`.`]})}),_jsx(ResponseField,{name:`data.risk_details[].description`,type:`string`,id:`param-data-risk-details-description`,children:_jsx(_components.p,{children:`Human-readable explanation. Display it, but do not parse it for application logic.`})}),_jsxs(_components.p,{children:[`Which time-window checkpoint applies depends on `,_jsx(_components.code,{children:`intent`}),` (approval vs marketplace order vs login). You do not need to pick one — the response names the checkpoint that fired.`]})]}),`\n`,_jsxs(Expandable,{title:`Entity risk fields`,children:[_jsx(_components.p,{children:`Risk enrichment for addresses extracted from the message, plus the URL and verifying contract when those apply.`}),_jsx(ResponseField,{name:`data.entities.addresses`,type:`object`,id:`param-data-entities-addresses`,children:_jsxs(_components.p,{children:[`Always present. Maps each extracted address to its `,_jsx(_components.code,{children:`score`}),` and `,_jsx(_components.code,{children:`risk_level`}),`.`]})}),_jsx(ResponseField,{name:`data.entities.addresses.*.score`,type:`integer`,id:`param-data-entities-addresses-score`,children:_jsxs(_components.p,{children:[`Risk score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),` for the address represented by the map key.`]})}),_jsx(ResponseField,{name:`data.entities.addresses.*.risk_level`,type:`string`,id:`param-data-entities-addresses-risk-level`,children:_jsx(_components.p,{children:`Human-readable address risk label.`})}),_jsx(ResponseField,{name:`data.entities.url`,type:`object`,id:`param-data-entities-url`,children:_jsxs(_components.p,{children:[`Present when `,_jsx(_components.code,{children:`url`}),` was sent and threat-intelligence enrichment succeeded.`]})}),_jsx(ResponseField,{name:`data.entities.url.score`,type:`integer`,id:`param-data-entities-url-score`,children:_jsxs(_components.p,{children:[`Risk score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),` for the supplied URL.`]})}),_jsx(ResponseField,{name:`data.entities.url.risk_level`,type:`string`,id:`param-data-entities-url-risk-level`,children:_jsx(_components.p,{children:`Human-readable URL risk label.`})}),_jsx(ResponseField,{name:`data.entities.verifyingContract`,type:`object`,id:`param-data-entities-verifying-contract`,children:_jsxs(_components.p,{children:[`Present when the EIP-712 domain declares `,_jsx(_components.code,{children:`verifyingContract`}),`. This protocol field intentionally keeps its original casing.`]})}),_jsx(ResponseField,{name:`data.entities.verifyingContract.score`,type:`integer`,id:`param-data-entities-verifying-contract-score`,children:_jsxs(_components.p,{children:[`Risk score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),` for the verifying contract.`]})}),_jsx(ResponseField,{name:`data.entities.verifyingContract.risk_level`,type:`string`,id:`param-data-entities-verifying-contract-risk-level`,children:_jsx(_components.p,{children:`Human-readable verifying-contract risk label.`})})]}),`\n`,_jsxs(_components.p,{children:[`A missing `,_jsx(_components.code,{children:`entities.url`}),` means either no `,_jsx(_components.code,{children:`url`}),` was supplied, or enrichment was unavailable. Threat-intelligence timeouts do not turn the call into a `,_jsx(_components.code,{children:`500`}),` — the response is still served from structural analysis.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-use-the-response`,children:`How to Use the Response`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`recommended_action`}),` as the signing-flow decision.`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`intent`}),` to describe what the user is authorizing.`]}),`\n`,_jsxs(_components.li,{children:[`Render every `,_jsx(_components.code,{children:`risk_details`}),` item; use `,_jsx(_components.code,{children:`name`}),` for application logic and `,_jsx(_components.code,{children:`description`}),` for copy.`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`entities`}),` for contextual address, URL, and verifying-contract risk—not as a replacement for the overall recommendation.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`risk-level-reference`,children:`Risk Level Reference`}),`\n`,_jsxs(_components.p,{children:[`Used for `,_jsx(_components.code,{children:`overall_risk_level`}),` and nested `,_jsx(_components.code,{children:`risk_level`}),` fields. `,_jsx(_components.code,{children:`overall_score`}),` is the maximum triggered score.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Score`}),_jsx(_components.th,{children:`Risk level`}),_jsx(_components.th,{children:`Recommended action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`No Obvious Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ALLOW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Caution`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ALLOW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Low Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`WARN`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`3`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Medium Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`WARN`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`High Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BLOCK`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`5`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Significant Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BLOCK`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`errors-and-retry-guidance`,children:`Errors and Retry Guidance`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`Client action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Invalid typed-data structure, chain, address, or value`}),_jsx(_components.td,{children:`Correct the request; do not retry unchanged.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing or invalid API key`}),_jsx(_components.td,{children:`Fix authentication.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:`Wrapper request schema validation failed`}),_jsx(_components.td,{children:`Correct HashDit wrapper fields; preserve protocol payload field names.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Rate limit exceeded`}),_jsx(_components.td,{children:`Retry with exponential backoff and jitter.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`Transient service failure`}),_jsx(_components.td,{children:`Retry a bounded number of times with backoff.`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"EIP-712 Signature Security","api":"POST /v2/hashdit/eip712-security","mode":"wide","description":null,"href":"/api-reference/endpoint/eip712-security"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Note,ParamField,RequestExample,ResponseExample,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(`span`,{className:`api-lifecycle-source`,\"data-lifecycle\":`sync`,children:`Synchronous endpoint`}),`\n`,_jsxs(_components.p,{children:[`Analyze an EIP-712 typed-data signing request `,_jsx(_components.strong,{children:`before the user signs it`}),`. The response is a risk assessment with an actionable recommendation.`]}),`\n`,_jsx(_components.p,{children:`Typical findings: unlimited permits, a login message that actually approves transfers, a blacklisted spender, or a suspicious marketplace order.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The HashDit wrapper uses `,_jsx(_components.code,{children:`chain_id`}),` and `,_jsx(_components.code,{children:`eip712_message`}),`. The embedded EIP-712 payload keeps protocol and application casing such as `,_jsx(_components.code,{children:`primaryType`}),`, `,_jsx(_components.code,{children:`verifyingContract`}),`, `,_jsx(_components.code,{children:`chainId`}),`, and application-defined message field names.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start`,children:`Quick Start`}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`EIP-712 permit`,numberOfLines:`34`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`34`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x1d99c0ac928f58595b9d060c79f799fa38d171f4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"chain_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://app.uniswap.org\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"eip712_message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"primaryType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Permit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"types\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"EIP712Domain\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"chainId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"uint256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"verifyingContract\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Permit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"owner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spender\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"uint256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"nonce\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"uint256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"deadline\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"uint256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"domain\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"chainId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"USD Coin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"verifyingContract\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"owner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x1d99c0ac928f58595b9d060c79f799fa38d171f4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"spender\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"nonce\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deadline\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1775000000`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200`,numberOfLines:`26`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`26`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"overall_score\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"overall_risk_level\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Significant Risk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"intent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TOKEN_APPROVAL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"recommended_action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BLOCK\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"risk_details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"eip712_permit_max_uint_allowance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"score\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"risk_level\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"High Risk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Permit-like signature contains near-unlimited allowance.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"entities\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"addresses\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"score\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"risk_level\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"No Obvious Risk\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`request-fields`,children:`Request Fields`}),`\n`,_jsx(ParamField,{header:`X-API-KEY`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your HashDit API key. Missing or invalid keys return HTTP `,_jsx(_components.code,{children:`401`}),`. Keep the key on a trusted server.`]})}),`\n`,_jsx(ParamField,{body:`address`,type:`string`,required:true,id:`param-address`,children:_jsx(_components.p,{children:`Address of the account being asked to sign.`})}),`\n`,_jsx(ParamField,{body:`chain_id`,type:`integer`,required:true,id:`param-chain-id`,children:_jsxs(_components.p,{children:[`EVM chain identifier. See `,_jsx(_components.a,{href:`/api-reference/supported-chains`,children:`Supported Chains`}),`.`]})}),`\n`,_jsx(ParamField,{body:`url`,type:`string`,id:`param-url`,children:_jsx(_components.p,{children:`Originating dApp URL. Without it, URL threat-intelligence checks cannot run.`})}),`\n`,_jsx(ParamField,{body:`eip712_message`,type:`object`,required:true,id:`param-eip712-message`,children:_jsxs(_components.p,{children:[`Typed-data payload exactly as the dApp sent it. Preserve `,_jsx(_components.code,{children:`primaryType`}),`, `,_jsx(_components.code,{children:`domain`}),`, `,_jsx(_components.code,{children:`types`}),`, `,_jsx(_components.code,{children:`message`}),`, and application-defined field names.`]})}),`\n`,_jsxs(Expandable,{title:`EIP-712 message fields`,children:[_jsx(ParamField,{body:`eip712_message.types`,type:`object`,required:true,id:`param-eip712-message-types`,children:_jsx(_components.p,{children:`Protocol type definitions keyed by struct name. Preserve every type name and field in the original payload.`})}),_jsx(ParamField,{body:`eip712_message.primaryType`,type:`string`,required:true,id:`param-eip712-message-primary-type`,children:_jsxs(_components.p,{children:[`Primary EIP-712 struct name, such as `,_jsx(_components.code,{children:`Permit`}),`. This protocol field intentionally keeps its original casing.`]})}),_jsx(ParamField,{body:`eip712_message.domain`,type:`object`,required:true,id:`param-eip712-message-domain`,children:_jsxs(_components.p,{children:[`Domain-separator payload. Preserve protocol fields such as `,_jsx(_components.code,{children:`chainId`}),` and `,_jsx(_components.code,{children:`verifyingContract`}),`.`]})}),_jsx(ParamField,{body:`eip712_message.message`,type:`object`,required:true,id:`param-eip712-message-message`,children:_jsxs(_components.p,{children:[`Typed message body. Its fields are defined by `,_jsx(_components.code,{children:`types`}),`; forward it unchanged.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`response-fields`,children:`Response Fields`}),`\n`,_jsx(ResponseField,{name:`code`,type:`string`,required:true,id:`param-code`,children:_jsxs(_components.p,{children:[`API result code. `,_jsx(_components.code,{children:`\"0\"`}),` indicates success; non-zero values indicate an error.`]})}),`\n`,_jsx(ResponseField,{name:`status`,type:`string`,required:true,id:`param-status`,children:_jsxs(_components.p,{children:[`Request status. A successful completed response returns `,_jsx(_components.code,{children:`\"ok\"`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.recommended_action`,type:`string`,id:`param-data-recommended-action`,children:_jsxs(_components.p,{children:[`Signing-flow decision: `,_jsx(_components.code,{children:`ALLOW`}),`, `,_jsx(_components.code,{children:`WARN`}),`, or `,_jsx(_components.code,{children:`BLOCK`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.intent`,type:`string`,id:`param-data-intent`,children:_jsx(_components.p,{children:`Classified meaning of the typed-data request.`})}),`\n`,_jsx(ResponseField,{name:`data.overall_score`,type:`integer`,id:`param-data-overall-score`,children:_jsxs(_components.p,{children:[`Maximum triggered checkpoint score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.overall_risk_level`,type:`string`,id:`param-data-overall-risk-level`,children:_jsxs(_components.p,{children:[`Human-readable risk label corresponding to `,_jsx(_components.code,{children:`overall_score`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`data.risk_details`,type:`object[]`,id:`param-data-risk-details`,children:_jsx(_components.p,{children:`Triggered findings with stable names, evidence, severity, and descriptions.`})}),`\n`,_jsx(ResponseField,{name:`data.entities`,type:`object`,id:`param-data-entities`,children:_jsx(_components.p,{children:`Risk enrichment for extracted addresses, URL, and verifying contract.`})}),`\n`,_jsx(Heading,{level:`3`,id:`recommended_action`,children:_jsx(_components.code,{children:`recommended_action`})}),`\n`,_jsxs(_components.p,{children:[`Use this field as the decision. Do not compute your own cutoff from `,_jsx(_components.code,{children:`overall_score`}),` — that mapping can change.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"ALLOW\"`})}),_jsx(_components.td,{children:`No significant risk detected.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"WARN\"`})}),_jsx(_components.td,{children:`Suspicious signals — warn before the user signs.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"BLOCK\"`})}),_jsx(_components.td,{children:`Strong risk — recommend blocking the signature.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A single severe finding is enough to reach `,_jsx(_components.code,{children:`BLOCK`}),`. Do not treat `,_jsx(_components.code,{children:`risk_details`}),` as a tally.`]}),`\n`,_jsx(Heading,{level:`3`,id:`intent`,children:_jsx(_components.code,{children:`intent`})}),`\n`,_jsx(_components.p,{children:`What the user is actually signing.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"TOKEN_APPROVAL\"`})}),_jsx(_components.td,{children:`ERC-20 permit or allowance to a spender.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"NFT_APPROVAL\"`})}),_jsx(_components.td,{children:`ERC-721/1155 approval to a spender or operator.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"TOKEN_TRANSFER\"`})}),_jsx(_components.td,{children:`EIP-3009 gasless transfer — moves funds outright, no allowance.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"ORDER_SIGNATURE\"`})}),_jsx(_components.td,{children:`Marketplace order (Seaport, OpenSea listings).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"DELEGATION\"`})}),_jsx(_components.td,{children:`Delegating control to another address.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"STAKING\"`})}),_jsx(_components.td,{children:`Staking-related signature.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"LOGIN\"`})}),_jsx(_components.td,{children:`Sign-in / authentication message. Typically low risk.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\"UNKNOWN\"`})}),_jsx(_components.td,{children:`Could not classify.`})]})]})]}),`\n`,_jsxs(Expandable,{title:`Risk detail fields`,children:[_jsx(_components.p,{children:`Each item is a checkpoint that fired. The array is empty when nothing fired.`}),_jsxs(_components.p,{children:[`Branch on `,_jsx(_components.code,{children:`name`}),`, not on `,_jsx(_components.code,{children:`description`}),`. Identifiers are stable; wording is not.`]}),_jsx(ResponseField,{name:`data.risk_details[].name`,type:`string`,id:`param-data-risk-details-name`,children:_jsx(_components.p,{children:`Stable identifier for the check that fired. Use this field for application logic.`})}),_jsx(ResponseField,{name:`data.risk_details[].value`,type:`object`,id:`param-data-risk-details-value`,children:_jsx(_components.p,{children:`Evidence associated with the finding.`})}),_jsx(ResponseField,{name:`data.risk_details[].score`,type:`integer`,id:`param-data-risk-details-score`,children:_jsxs(_components.p,{children:[`Runtime severity score for this finding. `,_jsx(_components.code,{children:`risk_level`}),` is its human-readable label.`]})}),_jsx(ResponseField,{name:`data.risk_details[].risk_level`,type:`string`,id:`param-data-risk-details-risk-level`,children:_jsxs(_components.p,{children:[`Human-readable risk label corresponding to this finding’s `,_jsx(_components.code,{children:`score`}),`.`]})}),_jsx(ResponseField,{name:`data.risk_details[].description`,type:`string`,id:`param-data-risk-details-description`,children:_jsx(_components.p,{children:`Human-readable explanation. Display it, but do not parse it for application logic.`})}),_jsxs(_components.p,{children:[`Which time-window checkpoint applies depends on `,_jsx(_components.code,{children:`intent`}),` (approval vs marketplace order vs login). You do not need to pick one — the response names the checkpoint that fired.`]})]}),`\n`,_jsxs(Expandable,{title:`Entity risk fields`,children:[_jsx(_components.p,{children:`Risk enrichment for addresses extracted from the message, plus the URL and verifying contract when those apply.`}),_jsx(ResponseField,{name:`data.entities.addresses`,type:`object`,id:`param-data-entities-addresses`,children:_jsxs(_components.p,{children:[`Always present. Maps each extracted address to its `,_jsx(_components.code,{children:`score`}),` and `,_jsx(_components.code,{children:`risk_level`}),`.`]})}),_jsx(ResponseField,{name:`data.entities.addresses.*.score`,type:`integer`,id:`param-data-entities-addresses-score`,children:_jsxs(_components.p,{children:[`Risk score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),` for the address represented by the map key.`]})}),_jsx(ResponseField,{name:`data.entities.addresses.*.risk_level`,type:`string`,id:`param-data-entities-addresses-risk-level`,children:_jsx(_components.p,{children:`Human-readable address risk label.`})}),_jsx(ResponseField,{name:`data.entities.url`,type:`object`,id:`param-data-entities-url`,children:_jsxs(_components.p,{children:[`Present when `,_jsx(_components.code,{children:`url`}),` was sent and threat-intelligence enrichment succeeded.`]})}),_jsx(ResponseField,{name:`data.entities.url.score`,type:`integer`,id:`param-data-entities-url-score`,children:_jsxs(_components.p,{children:[`Risk score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),` for the supplied URL.`]})}),_jsx(ResponseField,{name:`data.entities.url.risk_level`,type:`string`,id:`param-data-entities-url-risk-level`,children:_jsx(_components.p,{children:`Human-readable URL risk label.`})}),_jsx(ResponseField,{name:`data.entities.verifyingContract`,type:`object`,id:`param-data-entities-verifying-contract`,children:_jsxs(_components.p,{children:[`Present when the EIP-712 domain declares `,_jsx(_components.code,{children:`verifyingContract`}),`. This protocol field intentionally keeps its original casing.`]})}),_jsx(ResponseField,{name:`data.entities.verifyingContract.score`,type:`integer`,id:`param-data-entities-verifying-contract-score`,children:_jsxs(_components.p,{children:[`Risk score from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`5`}),` for the verifying contract.`]})}),_jsx(ResponseField,{name:`data.entities.verifyingContract.risk_level`,type:`string`,id:`param-data-entities-verifying-contract-risk-level`,children:_jsx(_components.p,{children:`Human-readable verifying-contract risk label.`})})]}),`\n`,_jsxs(_components.p,{children:[`A missing `,_jsx(_components.code,{children:`entities.url`}),` means either no `,_jsx(_components.code,{children:`url`}),` was supplied, or enrichment was unavailable. Threat-intelligence timeouts do not turn the call into a `,_jsx(_components.code,{children:`500`}),` — the response is still served from structural analysis.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-use-the-response`,children:`How to Use the Response`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`recommended_action`}),` as the signing-flow decision.`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`intent`}),` to describe what the user is authorizing.`]}),`\n`,_jsxs(_components.li,{children:[`Render every `,_jsx(_components.code,{children:`risk_details`}),` item; use `,_jsx(_components.code,{children:`name`}),` for application logic and `,_jsx(_components.code,{children:`description`}),` for copy.`]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`entities`}),` for contextual address, URL, and verifying-contract risk—not as a replacement for the overall recommendation.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`risk-level-reference`,children:`Risk Level Reference`}),`\n`,_jsxs(_components.p,{children:[`Used for `,_jsx(_components.code,{children:`overall_risk_level`}),` and nested `,_jsx(_components.code,{children:`risk_level`}),` fields. `,_jsx(_components.code,{children:`overall_score`}),` is the maximum triggered score.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Score`}),_jsx(_components.th,{children:`Risk level`}),_jsx(_components.th,{children:`Recommended action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`No Obvious Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ALLOW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Caution`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ALLOW`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Low Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`WARN`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`3`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Medium Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`WARN`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`High Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BLOCK`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`5`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Significant Risk`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BLOCK`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`errors-and-retry-guidance`,children:`Errors and Retry Guidance`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`Client action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Invalid typed-data structure, chain, address, or value`}),_jsx(_components.td,{children:`Correct the request; do not retry unchanged.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing or invalid API key`}),_jsx(_components.td,{children:`Fix authentication.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:`Wrapper request schema validation failed`}),_jsx(_components.td,{children:`Correct HashDit wrapper fields; preserve protocol payload field names.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Rate limit exceeded`}),_jsx(_components.td,{children:`Retry with exponential backoff and jitter.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`Transient service failure`}),_jsx(_components.td,{children:`Retry a bounded number of times with backoff.`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"EIP-712 Signature Security","api":"POST /v2/hashdit/eip712-security","mode":"wide","description":null,"href":"/api-reference/endpoint/eip712-security"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Quick Start","slug":"quick-start","depth":2,"children":[]},{"title":"Request Fields","slug":"request-fields","depth":2,"children":[]},{"title":"Response Fields","slug":"response-fields","depth":2,"children":[{"title":"recommended_action","slug":"recommended_action","depth":3,"children":[]},{"title":"intent","slug":"intent","depth":3,"children":[]}]},{"title":"How to Use the Response","slug":"how-to-use-the-response","depth":2,"children":[]},{"title":"Risk Level Reference","slug":"risk-level-reference","depth":2,"children":[]},{"title":"Errors and Retry Guidance","slug":"errors-and-retry-guidance","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"EIP-712 permit","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"34\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"address\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0x1d99c0ac928f58595b9d060c79f799fa38d171f4\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"chain_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://app.uniswap.org\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"eip712_message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"primaryType\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Permit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"types\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"EIP712Domain\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"string\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"chainId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"uint256\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"verifyingContract\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"address\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"Permit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"owner\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"address\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"spender\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"address\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"value\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"uint256\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"nonce\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"uint256\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"deadline\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"uint256\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"domain\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"chainId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"USD Coin\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"verifyingContract\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"owner\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0x1d99c0ac928f58595b9d060c79f799fa38d171f4\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"spender\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"value\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1000000\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"nonce\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">5\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"deadline\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1775000000\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"200","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"26\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ok\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"overall_score\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">5\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"overall_risk_level\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Significant Risk\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"intent\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"TOKEN_APPROVAL\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"recommended_action\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"BLOCK\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"risk_details\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"eip712_permit_max_uint_allowance\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"score\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">4\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"risk_level\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"High Risk\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"description\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Permit-like signature contains near-unlimited allowance.\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"entities\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"addresses\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"score\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">0\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"risk_level\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"No Obvious Risk\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"EIP-712 Signature Security","path":"/v2/hashdit/eip712-security","servers":[{"url":"https://service.hashdit.io"}],"method":"post","request":{"security":[{"title":"API Key Auth","parameters":{"header":{"X-API-KEY":{"type":"apiKey"}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{"X-API-KEY":{"schema":[{"type":"string","description":"Your HashDit API key. Missing or invalid keys return HTTP `401` . Keep the key on a trusted server.","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"address":[{"type":"string","description":"Address of the account being asked to sign.","required":true}],"chain_id":[{"type":"integer","description":"EVM chain identifier. See Supported Chains .","required":true}],"url":[{"type":"string","description":"Originating dApp URL. Without it, URL threat-intelligence checks cannot run."}],"eip712_message":[{"type":"object","properties":{},"description":"Typed-data payload exactly as the dApp sent it. Preserve `primaryType` , `domain` , `types` , `message` , and application-defined field names.","required":true}]}}],"examples":{"example":{"value":{"address":"\u003cstring>","chain_id":123,"url":"\u003cstring>","eip712_message":{}}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"code":[{"type":"string","description":"API result code. `\"0\"` indicates success; non-zero values indicate an error.","required":true}],"status":[{"type":"string","description":"Request status. A successful completed response returns `\"ok\"` .","required":true}],"data.recommended_action":[{"type":"string","description":"Signing-flow decision: `ALLOW` , `WARN` , or `BLOCK` ."}],"data.intent":[{"type":"string","description":"Classified meaning of the typed-data request."}],"data.overall_score":[{"type":"integer","description":"Maximum triggered checkpoint score from `0` to `5` ."}],"data.overall_risk_level":[{"type":"string","description":"Human-readable risk label corresponding to `overall_score` ."}],"data.risk_details":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Triggered findings with stable names, evidence, severity, and descriptions."}],"data.entities":[{"type":"object","properties":{},"description":"Risk enrichment for extracted addresses, URL, and verifying contract."}]}}],"examples":{"example":{"value":{"code":"\u003cstring>","status":"\u003cstring>","data.recommended_action":"\u003cstring>","data.intent":"\u003cstring>","data.overall_score":123,"data.overall_risk_level":"\u003cstring>","data.risk_details":[{}],"data.entities":{}}}}}}},"deprecated":false}},"jsLinks":["/_mintlify/custom/hashdit/fb235fc5bd2aba0c/tron-only-pills.js","/_mintlify/custom/hashdit/16c8c996730bd252/wide-page-toc.js","/_mintlify/custom/hashdit/23b0c35ec62d5190/scope-search.js","/_mintlify/custom/hashdit/3fed54a6f46829c9/api-lifecycle-sidebar.js"],"subdomain":"hashdit","siteName":"HashDit API Documentation","title":"EIP-712 Signature Security - HashDit API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-17T05:34:45.143Z","originalFileLocation":"api-reference/endpoint/eip712-security.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"HashDit API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"EIP-712 Signature Security - HashDit API Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"HashDit API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hashdit.io//api-reference/endpoint/eip712-security\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hashdit.mintlify.app/_mintlify/api/og/v2?division=EIP-712+Signature+Security\u0026amp;title=EIP-712+Signature+Security\u0026amp;theme=5ffe7efa8d5388d13f637b82\u0026amp;signature=894f833f05d2c1ed015659b39900da3b1d17c00b236a91f503e6eccc4f4b36dc\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"EIP-712 Signature Security - HashDit API Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hashdit.mintlify.app/_mintlify/api/og/v2?division=EIP-712+Signature+Security\u0026amp;title=EIP-712+Signature+Security\u0026amp;theme=5ffe7efa8d5388d13f637b82\u0026amp;signature=894f833f05d2c1ed015659b39900da3b1d17c00b236a91f503e6eccc4f4b36dc\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hashdit/Wv3pdFsF73h4GSVE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"HashDit API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hashdit.io//api-reference/endpoint/eip712-security\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/eip712-security.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hashdit.io/#organization\",\"name\":\"HashDit API Documentation\",\"url\":\"https://docs.hashdit.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hashdit/e2aqOz3kgheFaA6s/images/HashDitLogo.svg?fit=max\u0026auto=format\u0026n=e2aqOz3kgheFaA6s\u0026q=85\u0026s=7a9dd78fd2333ba181ff121df47e1fc1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hashdit.io#website\",\"name\":\"HashDit API Documentation\",\"url\":\"https://docs.hashdit.io\",\"publisher\":{\"@id\":\"https://docs.hashdit.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security#webpage\",\"url\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security\",\"name\":\"EIP-712 Signature Security\",\"dateModified\":\"2026-10-17T05:34:45.143Z\",\"isPartOf\":{\"@id\":\"https://docs.hashdit.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.hashdit.io/api-reference/endpoint/address-classify\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EIP-712 Signature Security\",\"item\":\"https://docs.hashdit.io/api-reference/endpoint/eip712-security\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"EIP-712 Signature Security\",\"item\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security#apireference\",\"headline\":\"EIP-712 Signature Security\",\"name\":\"EIP-712 Signature Security\",\"url\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hashdit.io//api-reference/endpoint/eip712-security#webpage\"},\"dateModified\":\"2026-10-17T05:34:45.143Z\",\"publisher\":{\"@id\":\"https://docs.hashdit.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hashdit.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"HashDit API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"HashDit API Documentation","nav":{"global":null,"tabs":[{"tab":"HashDit APIs","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":""},{"title":"Supported Chains","href":"/api-reference/supported-chains"}]},{"group":"Endpoints","pages":[{"group":"Address Classification","icon":"address-card","pages":[{"title":"Address Classification","api":"POST /v2/hashdit/address-classify","mode":"wide","href":"/api-reference/endpoint/address-classify"},{"title":"Address Classification","api":"GET /v2/hashdit/address-classify","mode":"wide","href":"/api-reference/endpoint/address-classify/get"}]},{"group":"Address Poisoning Detection","icon":"virus","pages":[{"title":"Address Poisoning — Single Address","api":"POST /v2/hashdit/address-poisoning","mode":"wide","href":"/api-reference/endpoint/address-poisoning/single"},{"title":"Address Poisoning — Batch Addresses","api":"POST /v2/hashdit/address-poisoning","mode":"wide","href":"/api-reference/endpoint/address-poisoning/batch"},{"title":"Address Poisoning — Single Address","api":"GET /v2/hashdit/address-poisoning","mode":"wide","href":"/api-reference/endpoint/address-poisoning/get"}]},{"group":"Address Security v2","icon":"address-book","pages":[{"title":"Address Security v2","api":"POST /v2/hashdit/address-security-v2","mode":"wide","href":"/api-reference/endpoint/address-security-v2"}]},{"group":"Domain Security","icon":"globe","pages":[{"title":"Domain Security","api":"POST /v2/hashdit/domain-security","mode":"wide","href":"/api-reference/endpoint/domain-security"}]},{"group":"EVM Token Security","icon":"coins","pages":[{"title":"EVM Token Security","api":"POST /v2/hashdit/token-security","mode":"wide","href":"/api-reference/endpoint/token-security"}]},{"group":"Solana Token Security","icon":"coin-blank","pages":[{"title":"Solana Token Security","api":"POST /v2/hashdit/solana-token-security","mode":"wide","href":"/api-reference/endpoint/solana-token-security"}]},{"group":"Token Approval Security","icon":"check","pages":[{"title":"Token Approval Security","api":"POST /v2/hashdit/token-approval-security","mode":"wide","description":null,"href":"/api-reference/endpoint/token-approval-security"}]},{"group":"EIP-712 Signature Security","icon":"signature","pages":[{"title":"EIP-712 Signature Security","api":"POST /v2/hashdit/eip712-security","mode":"wide","href":"/api-reference/endpoint/eip712-security"}]},{"group":"Transaction Security","icon":"shield-halved","pages":[{"title":"Transaction Security — EVM / TRON Flattened","api":"POST /v2/hashdit/transaction-security","mode":"wide","description":null,"href":"/api-reference/endpoint/transaction-security"},{"title":"Transaction Security — TRON Raw","api":"POST /v2/hashdit/transaction-security","mode":"wide","href":"/api-reference/endpoint/transaction-security/tron-raw"}]}]}]},{"tab":"Blog","pages":[{"title":"Blog","href":"/blog/2025-12-29/2025-12-29"}]}]},"title":"EIP-712 Signature Security - HashDit API Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-R3M_BF4L.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js"]}