0.7.0npm · @openzeppelin/contracts-mcp · latest release
Observed 2026-09-01T15:05:29.778Z using mcpSecurity-inventory. Protocol 2025-06-18.
| Tool | Category | Risk |
|---|---|---|
cairo-accountMake a custom smart contract that represents an account that can be deployed and interacted with other contracts, and can be extended to implement custom logic. An account is a special type of contract that is used to validate and execute transactions.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"type": {
"type": "string",
"enum": [
"stark",
"eth"
],
"description": "Type of signature used for signature checking by the Account contract, Starknet account uses the STARK curve, Ethereum-flavored account uses the Secp256k1 curve."
},
"declare": {
"description": "Whether to enable the account to declare other contract classes.",
"type": "boolean"
},
"deploy": {
"description": "Whether to enables the account to be counterfactually deployed.",
"type": "boolean"
},
"pubkey": {
"description": "Whether to enables the account to change its own public key.",
"type": "boolean"
},
"outsideExecution": {
"description": "Whether to allow a protocol to submit transactions on behalf of the account, as long as it has the relevant signatures.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"type"
]
} | — | — |
cairo-customMake a custom smart contract.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"access": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "roles-dar"
}
]
},
{
"type": "boolean",
"const": false
}
],
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Roles (Default Admin Rules) provides additional enforced security measures on top of standard Roles mechanism for managing the most privileged role: default admin."
},
"darInitialDelay": {
"default": "1 day",
"description": "The initial delay for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"1 day\".",
"type": "string"
},
"darDefaultDelayIncrease": {
"default": "5 days",
"description": "The default delay increase for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"5 days\".",
"type": "string"
},
"darMaxTransferDelay": {
"default": "30 days",
"description": "The maximum delay for a default admin transfer (in case Roles (Default Admin Rules) is used). Default is \"30 days\".",
"type": "string"
}
},
"required": [
"type"
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name"
]
} | — | — |
cairo-erc1155Make a non-fungible token per the ERC-1155 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"baseUri": {
"type": "string",
"description": "The location of the metadata for the token. Clients will replace any instance of {id} in this string with the tokenId."
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"supply": {
"description": "Whether to keep track of total supply of tokens.",
"type": "boolean"
},
"uriStorage": {
"description": "Allows updating token URIs for individual token IDs.",
"type": "boolean"
},
"updatableUri": {
"description": "Whether privileged accounts will be able to set a new URI for all token types.",
"type": "boolean"
},
"royaltyInfo": {
"description": "Provides information for how much royalty is owed and to whom, based on a sale price. Follows ERC-2981 standard.",
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to enable royalty feature for the contract"
},
"defaultRoyaltyFraction": {
"type": "string",
"description": "The royalty fraction that will be default for all tokens. It will be used for a token if there's no custom royalty fraction set for it."
},
"feeDenominator": {
"type": "string",
"description": "The denominator used to interpret a token's fee and to calculate the result fee fraction."
}
},
"required": [
"enabled",
"defaultRoyaltyFraction",
"feeDenominator"
]
},
"access": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "roles-dar"
}
]
},
{
"type": "boolean",
"const": false
}
],
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Roles (Default Admin Rules) provides additional enforced security measures on top of standard Roles mechanism for managing the most privileged role: default admin."
},
"darInitialDelay": {
"default": "1 day",
"description": "The initial delay for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"1 day\".",
"type": "string"
},
"darDefaultDelayIncrease": {
"default": "5 days",
"description": "The default delay increase for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"5 days\".",
"type": "string"
},
"darMaxTransferDelay": {
"default": "30 days",
"description": "The maximum delay for a default admin transfer (in case Roles (Default Admin Rules) is used). Default is \"30 days\".",
"type": "string"
}
},
"required": [
"type"
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"baseUri"
]
} | — | — |
cairo-erc20Make a fungible token per the ERC-20 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals to use for the contract. Defaults to 18.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"wrapper": {
"description": "Whether to include ERC20Wrapper functionality for depositing and withdrawing an underlying token.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of historical balances for voting in on-chain governance, with a way to delegate one's voting power to a trusted account.",
"type": "boolean"
},
"appName": {
"description": "Required when votes is enabled, for hashing and signing typed structured data. Name for domain separator implementing SNIP12Metadata trait. Prevents two applications from producing the same hash.",
"type": "string"
},
"appVersion": {
"description": "Required when votes is enabled, for hashing and signing typed structured data. Version for domain separator implementing SNIP12Metadata trait. Prevents two versions of the same application from producing the same hash.",
"type": "string"
},
"access": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "roles-dar"
}
]
},
{
"type": "boolean",
"const": false
}
],
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Roles (Default Admin Rules) provides additional enforced security measures on top of standard Roles mechanism for managing the most privileged role: default admin."
},
"darInitialDelay": {
"default": "1 day",
"description": "The initial delay for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"1 day\".",
"type": "string"
},
"darDefaultDelayIncrease": {
"default": "5 days",
"description": "The default delay increase for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"5 days\".",
"type": "string"
},
"darMaxTransferDelay": {
"default": "30 days",
"description": "The maximum delay for a default admin transfer (in case Roles (Default Admin Rules) is used). Default is \"30 days\".",
"type": "string"
}
},
"required": [
"type"
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"symbol"
]
} | — | — |
cairo-erc6909Make a minimal multi-token per the ERC-6909 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"contentUri": {
"description": "Whether to include Content URI extension for contract-level and per-token URI metadata.",
"type": "boolean"
},
"tokenSupply": {
"description": "Whether to keep track of total supply per token ID.",
"type": "boolean"
},
"metadata": {
"description": "Whether to include per-token metadata extension providing name, symbol, and decimals per token ID.",
"type": "boolean"
},
"access": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "roles-dar"
}
]
},
{
"type": "boolean",
"const": false
}
],
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Roles (Default Admin Rules) provides additional enforced security measures on top of standard Roles mechanism for managing the most privileged role: default admin."
},
"darInitialDelay": {
"default": "1 day",
"description": "The initial delay for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"1 day\".",
"type": "string"
},
"darDefaultDelayIncrease": {
"default": "5 days",
"description": "The default delay increase for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"5 days\".",
"type": "string"
},
"darMaxTransferDelay": {
"default": "30 days",
"description": "The maximum delay for a default admin transfer (in case Roles (Default Admin Rules) is used). Default is \"30 days\".",
"type": "string"
}
},
"required": [
"type"
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name"
]
} | — | — |
cairo-erc721Make a non-fungible token per the ERC-721 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"baseUri": {
"description": "A base uri for the non-fungible token.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"enumerable": {
"description": "Whether to allow on-chain enumeration of all tokens or those owned by an account. Increases gas cost of transfers.",
"type": "boolean"
},
"wrapper": {
"description": "Whether to include ERC721Wrapper functionality for wrapping an underlying ERC721.",
"type": "boolean"
},
"uriStorage": {
"description": "Allows updating token URIs for individual token IDs.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of individual units for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps.",
"type": "boolean"
},
"consecutive": {
"description": "Enables gas-efficient batch minting of consecutive token IDs during construction (ERC-2309). The contract owner must call `mint_consecutive` from the constructor to issue the initial batch. Cannot be combined with enumerable.",
"type": "boolean"
},
"royaltyInfo": {
"description": "Provides information for how much royalty is owed and to whom, based on a sale price. Follows ERC-2981 standard.",
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to enable royalty feature for the contract"
},
"defaultRoyaltyFraction": {
"type": "string",
"description": "The royalty fraction that will be default for all tokens. It will be used for a token if there's no custom royalty fraction set for it."
},
"feeDenominator": {
"type": "string",
"description": "The denominator used to interpret a token's fee and to calculate the result fee fraction."
}
},
"required": [
"enabled",
"defaultRoyaltyFraction",
"feeDenominator"
]
},
"appName": {
"description": "Required when votes is enabled, for hashing and signing typed structured data. Name for domain separator implementing SNIP12Metadata trait. Prevents two applications from producing the same hash.",
"type": "string"
},
"appVersion": {
"description": "Required when votes is enabled, for hashing and signing typed structured data. Version for domain separator implementing SNIP12Metadata trait. Prevents two versions of the same application from producing the same hash.",
"type": "string"
},
"access": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "roles-dar"
}
]
},
{
"type": "boolean",
"const": false
}
],
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Roles (Default Admin Rules) provides additional enforced security measures on top of standard Roles mechanism for managing the most privileged role: default admin."
},
"darInitialDelay": {
"default": "1 day",
"description": "The initial delay for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"1 day\".",
"type": "string"
},
"darDefaultDelayIncrease": {
"default": "5 days",
"description": "The default delay increase for the default admin role (in case Roles (Default Admin Rules) is used). Default is \"5 days\".",
"type": "string"
},
"darMaxTransferDelay": {
"default": "30 days",
"description": "The maximum delay for a default admin transfer (in case Roles (Default Admin Rules) is used). Default is \"30 days\".",
"type": "string"
}
},
"required": [
"type"
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"symbol"
]
} | — | — |
cairo-governorMake a contract to implement governance, such as for a DAO.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"delay": {
"type": "string",
"description": "The delay since proposal is created until voting starts, in readable date time format matching /^(\\d+(?:\\.\\d+)?) +(second|minute|hour|day|week|month|year)s?$/, default is \"1 day\"."
},
"period": {
"type": "string",
"description": "The length of period during which people can cast their vote, in readable date time format matching /^(\\d+(?:\\.\\d+)?) +(second|minute|hour|day|week|month|year)s?$/, default is \"1 week\"."
},
"votes": {
"description": "The type of voting to use. Either erc20votes, meaning voting power with a votes-enabled ERC20 token. Either erc721votes, meaning voting power with a votes-enabled ERC721 token. Voters can entrust their voting power to a delegate.",
"type": "string",
"enum": [
"erc20votes",
"erc721votes"
]
},
"clockMode": {
"description": "The clock mode used by the voting token. For now, only timestamp mode where the token uses voting durations expressed as timestamps is supported. For Governor, this must be chosen to match what the ERC20 or ERC721 voting token uses.",
"type": "string",
"enum": [
"timestamp"
]
},
"timelock": {
"description": "Whether to add a delay to actions taken by the Governor. Gives users time to exit the system if they disagree with governance decisions. If \"openzeppelin\", Module compatible with OpenZeppelin's TimelockController.",
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "openzeppelin"
}
]
},
"decimals": {
"description": "The number of decimals to use for the contract, default is 18 for ERC20Votes and 0 for ERC721Votes (because it does not apply to ERC721Votes).",
"type": "number"
},
"proposalThreshold": {
"description": "Minimum number of votes an account must have to create a proposal, default is 0.",
"type": "string"
},
"quorumMode": {
"description": "The type of quorum mode to use, either by percentage or absolute value.",
"type": "string",
"enum": [
"percent",
"absolute"
]
},
"quorumPercent": {
"description": "The percent required, in cases of quorumMode equals percent.",
"type": "number"
},
"quorumAbsolute": {
"description": "The absolute quorum required, in cases of quorumMode equals absolute.",
"type": "string"
},
"settings": {
"description": "Whether to allow governance to update voting settings (delay, period, proposal threshold).",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"appName": {
"description": "Required when votes is enabled, for hashing and signing typed structured data. Name for domain separator implementing SNIP12Metadata trait. Prevents two applications from producing the same hash.",
"type": "string"
},
"appVersion": {
"description": "Required when votes is enabled, for hashing and signing typed structured data. Version for domain separator implementing SNIP12Metadata trait. Prevents two versions of the same application from producing the same hash.",
"type": "string"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"delay",
"period"
]
} | — | — |
cairo-multisigMake a multi-signature smart contract, requiring a quorum of registered signers to approve and collectively execute transactions.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"quorum": {
"type": "string",
"description": "The minimal number of confirmations required by the Multisig to approve a transaction."
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"quorum"
]
} | — | — |
cairo-vestingMake a vesting smart contract that manages the gradual release of ERC-20 tokens to a designated beneficiary based on a predefined vesting schedule.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"startDate": {
"type": "string",
"description": "The timestamp marking the beginning of the vesting period. In HTML input datetime-local format, e.g. \"2026-03-15T14:30\"."
},
"duration": {
"type": "string",
"description": "The total duration of the vesting period. In readable date time format matching /^(\\d+(?:\\.\\d+)?) +(second|minute|hour|day|week|month|year)s?$/"
},
"cliffDuration": {
"type": "string",
"description": "The duration of the cliff period. Must be less than or equal to the total duration. In readable date time format matching /^(\\d+(?:\\.\\d+)?) +(second|minute|hour|day|week|month|year)s?$/"
},
"schedule": {
"type": "string",
"enum": [
"linear",
"custom"
],
"description": "A vesting schedule implementation, tokens can either be vested gradually following a linear curve or with custom vesting schedule that requires the implementation of the VestingSchedule trait."
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"macros": {
"description": "The macros to use for the contract.",
"type": "object",
"properties": {
"withComponents": {
"type": "boolean",
"description": "Whether to use the \"with_components\" macro for simplified contract structure."
}
},
"required": [
"withComponents"
]
}
},
"required": [
"name",
"startDate",
"duration",
"cliffDuration",
"schedule"
]
} | — | — |
confidential-erc7984Make a confidential fungible token in Solidity according to the ERC-7984 standard, similar to ERC-20 but with confidentiality.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"contractURI": {
"type": "string",
"description": "The metadata URI for the token. Should follow the schema defined in [ERC-7572](https://eips.ethereum.org/EIPS/eip-7572)."
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 6, with a maximum of 10, since confidential token amounts are represented as uint64 and higher decimals would make the maximum total supply too limited. Incompatible with wrappable, which derives its decimals from the underlying token (capped at 6).",
"type": "string"
},
"premint": {
"description": "The number of tokens to premint for the deployer. Cannot be used with wrappable, since preminted tokens would not be backed by the underlying token.",
"type": "string"
},
"networkConfig": {
"type": "string",
"const": "zama-ethereum",
"description": "Specify the provider and network configuration to use for FHEVM contracts."
},
"wrappable": {
"description": "Whether to allow wrapping an ERC20 token into a confidential fungible token. Derives its decimals from the underlying token (capped at 6), so it cannot be used with custom decimals. Cannot be used with premint, since preminted tokens would not be backed by the underlying token.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of historical balances for voting in on-chain governance. Voting durations must be expressed as block numbers or timestamps.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"symbol",
"contractURI",
"networkConfig"
]
} | — | — |
solidity-accountMake an account contract that follows the ERC-4337 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the account contract"
},
"signatureValidation": {
"description": "Whether to implement the ERC-1271 standard for validating signatures. This is useful for the account to verify signatures.",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "ERC1271"
}
]
},
{
"type": "string",
"const": "ERC7739"
}
]
},
"ERC721Holder": {
"description": "Whether to implement the `onERC721Received` function to allow the account to receive ERC721 tokens.",
"type": "boolean"
},
"ERC1155Holder": {
"description": "Whether to implement the `onERC1155Received` function to allow the account to receive ERC1155 tokens.",
"type": "boolean"
},
"signer": {
"description": "Defines the signature verification algorithm used by the account to verify user operations. Options:\n - ECDSA: Standard Ethereum signature validation using secp256k1, validates signatures against a specified owner address\n - EIP7702: Special ECDSA validation using account's own address as signer, enables EOAs to delegate execution rights\n - Multisig: ERC-7913 multisignature requiring minimum number of signatures from authorized signers\n - MultisigWeighted: ERC-7913 weighted multisignature where signers have different voting weights\n - P256: NIST P-256 curve (secp256r1) validation for integration with Passkeys and HSMs\n - RSA: RSA PKCS#1 v1.5 signature validation (RFC8017) for PKI systems and HSMs\n - WebAuthn: Web Authentication (WebAuthn) assertion validation for integration with Passkeys and HSMs on top of P256",
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "ECDSA"
}
]
},
{
"type": "string",
"const": "EIP7702"
}
]
},
{
"type": "string",
"const": "Multisig"
}
]
},
{
"type": "string",
"const": "MultisigWeighted"
}
]
},
{
"type": "string",
"const": "P256"
}
]
},
{
"type": "string",
"const": "RSA"
}
]
},
{
"type": "string",
"const": "WebAuthn"
}
]
},
"batchedExecution": {
"description": "Whether to implement a minimal batching interface for the account to allow multiple operations to be executed in a single transaction following the ERC-7821 standard.",
"type": "boolean"
},
"ERC7579Modules": {
"description": "Whether to implement the ERC-7579 compatibility to enable functionality on the account with modules.",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "AccountERC7579"
}
]
},
{
"type": "string",
"const": "AccountERC7579Hooked"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
}
},
"required": [
"name"
]
} | — | — |
solidity-customMake a custom smart contract.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
solidity-erc1155Make a non-fungible token per the ERC-1155 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"uri": {
"type": "string",
"description": "The location of the metadata for the token. Clients will replace any instance of {id} in this string with the tokenId."
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"supply": {
"description": "Whether to keep track of total supply of tokens",
"type": "boolean"
},
"updatableUri": {
"description": "Whether privileged accounts will be able to set a new URI for all token types",
"type": "boolean"
},
"crossChainBridging": {
"description": "Whether to embed an ERC-7786 based bridge directly in the token contract, making it natively crosschain. Crosschain transfers with registered counterparts burn the tokens on the source chain and mint them on the destination chain.",
"type": "string",
"const": "erc7786native"
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"uri"
]
} | — | — |
solidity-erc20Make a fungible token per the ERC-20 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 18.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"premintChainId": {
"description": "The chain ID of the network on which to premint tokens.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"callback": {
"description": "Whether to include support for code execution after transfers and approvals on recipient contracts in a single transaction.",
"type": "boolean"
},
"permit": {
"description": "Whether without paying gas, token holders will be able to allow third parties to transfer from their account.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of historical balances for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"flashmint": {
"description": "Whether to include built-in flash loans to allow lending tokens without requiring collateral as long as they're returned in the same transaction.",
"type": "boolean"
},
"crossChainBridging": {
"description": "Whether to allow authorized bridge contracts to mint and burn tokens for crosschain transfers. Options are to use custom bridges on any chain, to embed an ERC-7786 based bridge directly in the token contract, or to use the SuperchainERC20 standard with the predeployed SuperchainTokenBridge. The SuperchainERC20 feature is only available on chains in the Superchain, and requires deploying your contract to the same address on every chain in the Superchain.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "custom"
},
{
"type": "string",
"const": "erc7786native"
}
]
},
{
"type": "string",
"const": "superchain"
}
]
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"namespacePrefix": {
"description": "The prefix for ERC-7201 namespace identifiers. It should be derived from the project name or a unique naming convention specific to the project. Used only if the contract includes storage variables and upgradeability is enabled. Default is \"myProject\".",
"type": "string"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"symbol"
]
} | — | — |
solidity-erc721Make a non-fungible token per the ERC-721 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"baseUri": {
"description": "A base uri for the token",
"type": "string"
},
"enumerable": {
"description": "Whether to allow on-chain enumeration of all tokens or those owned by an account. Increases gas cost of transfers.",
"type": "boolean"
},
"uriStorage": {
"description": "Allows updating token URIs for individual token IDs",
"type": "boolean"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"incremental": {
"description": "Whether new tokens will be automatically assigned an incremental id",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of individual units for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps (defaulting to block number if not specified).",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"crossChainBridging": {
"description": "Whether to embed an ERC-7786 based bridge directly in the token contract, making it natively crosschain. Crosschain transfers with registered counterparts burn the token on the source chain and mint it on the destination chain. If also using incremental token ids, mint only on a single chain and link counterparts without minting, otherwise colliding ids can strand bridged tokens.",
"type": "string",
"const": "erc7786native"
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"namespacePrefix": {
"description": "The prefix for ERC-7201 namespace identifiers. It should be derived from the project name or a unique naming convention specific to the project. Used only if the contract includes storage variables and upgradeability is enabled. Default is \"myProject\".",
"type": "string"
}
},
"required": [
"name",
"symbol"
]
} | — | — |
solidity-governorMake a contract to implement governance, such as for a DAO.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"delay": {
"type": "string",
"description": "The delay since proposal is created until voting starts, default is \"1 day\""
},
"period": {
"type": "string",
"description": "The length of period during which people can cast their vote, default is \"1 week\""
},
"votes": {
"description": "The type of voting to use",
"anyOf": [
{
"type": "string",
"const": "erc20votes"
},
{
"type": "string",
"const": "erc721votes"
}
]
},
"clockMode": {
"description": "The clock mode used by the voting token. For Governor, this must be chosen to match what the ERC20 or ERC721 voting token uses.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"timelock": {
"description": "The type of timelock to use",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "openzeppelin"
}
]
},
{
"type": "string",
"const": "compound"
}
]
},
"blockTime": {
"description": "The block time of the chain in seconds, default is 12",
"type": "number"
},
"decimals": {
"description": "The number of decimals to use for the contract, default is 18 for ERC20Votes and 0 for ERC721Votes (because it does not apply to ERC721Votes)",
"type": "number"
},
"proposalThreshold": {
"description": "Minimum number of votes an account must have to create a proposal, default is 0.",
"type": "string"
},
"quorumMode": {
"description": "The type of quorum mode to use",
"anyOf": [
{
"type": "string",
"const": "percent"
},
{
"type": "string",
"const": "absolute"
}
]
},
"quorumPercent": {
"description": "The percent required, in cases of quorumMode equals percent",
"type": "number"
},
"quorumAbsolute": {
"description": "The absolute quorum required, in cases of quorumMode equals absolute",
"type": "string"
},
"storage": {
"description": "Enable storage of proposal details and enumerability of proposals",
"type": "boolean"
},
"settings": {
"description": "Allow governance to update voting settings (delay, period, proposal threshold)",
"type": "boolean"
},
"crossChainExecution": {
"description": "Whether passed proposals can relay execution to other chains through ERC-7786 gateways. Requires a CrosschainRemoteExecutor contract, controlled by this governor, deployed on each target chain. The gateway and executor are chosen per proposal as arguments to the relayCrosschain function.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"delay",
"period"
]
} | — | — |
solidity-rwaMake a real-world asset token that uses the ERC-20 standard. Experimental, some features are not audited and are subject to change.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 18.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"premintChainId": {
"description": "The chain ID of the network on which to premint tokens.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"callback": {
"description": "Whether to include support for code execution after transfers and approvals on recipient contracts in a single transaction.",
"type": "boolean"
},
"permit": {
"description": "Whether without paying gas, token holders will be able to allow third parties to transfer from their account.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of historical balances for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"flashmint": {
"description": "Whether to include built-in flash loans to allow lending tokens without requiring collateral as long as they're returned in the same transaction.",
"type": "boolean"
},
"crossChainBridging": {
"description": "Whether to allow authorized bridge contracts to mint and burn tokens for crosschain transfers. Options are to use custom bridges on any chain, to embed an ERC-7786 based bridge directly in the token contract, or to use the SuperchainERC20 standard with the predeployed SuperchainTokenBridge. The SuperchainERC20 feature is only available on chains in the Superchain, and requires deploying your contract to the same address on every chain in the Superchain.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "custom"
},
{
"type": "string",
"const": "erc7786native"
}
]
},
{
"type": "string",
"const": "superchain"
}
]
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"namespacePrefix": {
"description": "The prefix for ERC-7201 namespace identifiers. It should be derived from the project name or a unique naming convention specific to the project. Used only if the contract includes storage variables and upgradeability is enabled. Default is \"myProject\".",
"type": "string"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"restrictions": {
"description": "Whether to restrict certain users from transferring tokens, either via allowing or blocking them. This feature is experimental, not audited and is subject to change.",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "allowlist"
}
]
},
{
"type": "string",
"const": "blocklist"
}
]
},
"freezable": {
"description": "Whether authorized accounts can freeze and unfreeze accounts for regulatory or security purposes. This feature is experimental, not audited and is subject to change.",
"type": "boolean"
}
},
"required": [
"name",
"symbol"
]
} | — | — |
solidity-stablecoinMake a stablecoin token that uses the ERC-20 standard. Experimental, some features are not audited and are subject to change.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 18.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"premintChainId": {
"description": "The chain ID of the network on which to premint tokens.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"callback": {
"description": "Whether to include support for code execution after transfers and approvals on recipient contracts in a single transaction.",
"type": "boolean"
},
"permit": {
"description": "Whether without paying gas, token holders will be able to allow third parties to transfer from their account.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of historical balances for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"flashmint": {
"description": "Whether to include built-in flash loans to allow lending tokens without requiring collateral as long as they're returned in the same transaction.",
"type": "boolean"
},
"crossChainBridging": {
"description": "Whether to allow authorized bridge contracts to mint and burn tokens for crosschain transfers. Options are to use custom bridges on any chain, to embed an ERC-7786 based bridge directly in the token contract, or to use the SuperchainERC20 standard with the predeployed SuperchainTokenBridge. The SuperchainERC20 feature is only available on chains in the Superchain, and requires deploying your contract to the same address on every chain in the Superchain.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "custom"
},
{
"type": "string",
"const": "erc7786native"
}
]
},
{
"type": "string",
"const": "superchain"
}
]
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"namespacePrefix": {
"description": "The prefix for ERC-7201 namespace identifiers. It should be derived from the project name or a unique naming convention specific to the project. Used only if the contract includes storage variables and upgradeability is enabled. Default is \"myProject\".",
"type": "string"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"restrictions": {
"description": "Whether to restrict certain users from transferring tokens, either via allowing or blocking them. This feature is experimental, not audited and is subject to change.",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "allowlist"
}
]
},
{
"type": "string",
"const": "blocklist"
}
]
},
"freezable": {
"description": "Whether authorized accounts can freeze and unfreeze accounts for regulatory or security purposes. This feature is experimental, not audited and is subject to change.",
"type": "boolean"
}
},
"required": [
"name",
"symbol"
]
} | — | — |
stellar-accountMake a smart account contract that authorizes operations through configurable signers and policies, for example a multisig with passkey, Ed25519 and delegated signers.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"delegatedSigners": {
"description": "Whether the account accepts delegated signers, meaning Stellar addresses whose signatures the host verifies. Enabled by default.",
"type": "boolean"
},
"ed25519Signers": {
"description": "Whether the account accepts raw Ed25519 public keys, verified by an Ed25519 verifier contract supplied at deployment.",
"type": "boolean"
},
"webauthnSigners": {
"description": "Whether the account accepts WebAuthn (passkey) keys, verified by a WebAuthn verifier contract supplied at deployment.",
"type": "boolean"
},
"policy": {
"description": "How authorization is decided. False requires every configured signer to sign (n-of-n). Simple threshold requires any m of the n signers (a standard multisig). Weighted threshold gives each signer a weight and requires the authorized weights to reach a threshold. Both threshold policies need the address of a deployed policy contract at deployment.",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "simple-threshold"
}
]
},
{
"type": "string",
"const": "weighted-threshold"
}
]
},
"executionEntryPoint": {
"description": "Whether the account can call other contracts on its own behalf. Needed to manage contracts the account owns, such as its own policies, and enabled by default.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the account can be upgraded. The upgrade is authorized by the account itself through its context rules, not by an access control role.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
stellar-fungibleMake a fungible token per the Fungible Token Standard, compatible with SEP-41, similar to ERC-20.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 7.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"votes": {
"description": "Whether to enable vote checkpoints and delegation for governance.",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.",
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
"explicitImplementations": {
"description": "Whether the contract should use explicit trait implementations instead of using the default ones provided by the library.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the contract can be upgraded.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"symbol"
]
} | — | — |
stellar-governorMake a governor contract for on-chain governance using token-based voting.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"version": {
"description": "The semantic version label returned by the governor contract.",
"type": "string"
},
"votingDelay": {
"description": "Number of ledgers between proposal creation and voting start (17,000 ledgers are approx. 1 day).",
"type": "string"
},
"votingPeriod": {
"description": "Number of ledgers during which voting remains open (120,000 ledgers are approx. 1 week).",
"type": "string"
},
"proposalThreshold": {
"description": "Minimum voting power required for creating a proposal, default is 100.",
"type": "string"
},
"quorum": {
"description": "Minimum number of votes required for a proposal to pass, default is 500.",
"type": "string"
},
"timelock": {
"description": "Whether to add a timelock mechanism that enforces a delay between proposal queuing and execution.",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.",
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
"explicitImplementations": {
"description": "Whether the contract should use explicit trait implementations instead of using the default ones provided by the library.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the contract can be upgraded.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
stellar-non-fungibleMake a non-fungible token per the Non-Fungible Token Standard, compatible with SEP-50, similar to ERC-721.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"tokenUri": {
"description": "The metadata URI returned by the token contract for every NFT.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"votes": {
"description": "Whether to enable vote checkpoints and delegation for governance.",
"type": "boolean"
},
"enumerable": {
"description": "Whether the NFTs are enumerable (can be iterated over).",
"type": "boolean"
},
"consecutive": {
"description": "To batch mint NFTs instead of minting them individually (sequential minting is mandatory).",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"sequential": {
"description": "Whether the IDs of the minted NFTs will be sequential.",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.",
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
"explicitImplementations": {
"description": "Whether the contract should use explicit trait implementations instead of using the default ones provided by the library.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the contract can be upgraded.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"symbol"
]
} | — | — |
stellar-stablecoinMake a stablecoin that uses Fungible Token Standard, compatible with SEP-41.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 7.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"votes": {
"description": "Whether to enable vote checkpoints and delegation for governance.",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.",
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
"explicitImplementations": {
"description": "Whether the contract should use explicit trait implementations instead of using the default ones provided by the library.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the contract can be upgraded.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"limitations": {
"description": "Whether to restrict certain users from transferring tokens, either via allowing or blocking them.",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "allowlist"
}
]
},
{
"type": "string",
"const": "blocklist"
}
]
}
},
"required": [
"name",
"symbol"
]
} | — | — |
stellar-vaultMake a tokenized vault that issues Fungible Token shares for an underlying asset, similar to ERC-4626.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimalsOffset": {
"description": "Virtual decimals offset added to the underlying asset decimals to derive the vault share decimals, used to mitigate inflation (donation) attacks via virtual shares. The default of 0 is already safe: it makes such attacks non-profitable. Higher values make attacks orders of magnitude more costly, at the cost of virtual shares absorbing a tiny portion of the value accrued to the vault. Must be between 0 and 10.",
"type": "string"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.",
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
"explicitImplementations": {
"description": "Whether the contract should use explicit trait implementations instead of using the default ones provided by the library.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the contract can be upgraded.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"symbol"
]
} | — | — |
stylus-erc1155Make a non-fungible token per the ERC-1155 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"supply": {
"description": "Whether to keep track of total supply of tokens",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
stylus-erc20Make a fungible token per the ERC-20 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"permit": {
"description": "Whether without paying gas, token holders will be able to allow third parties to transfer from their account.",
"type": "boolean"
},
"flashmint": {
"description": "Whether to include built-in flash loans to allow lending tokens without requiring collateral as long as they're returned in the same transaction.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
stylus-erc721Make a non-fungible token per the ERC-721 standard.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"enumerable": {
"description": "Whether to allow on-chain enumeration of all tokens or those owned by an account. Increases gas cost of transfers.",
"type": "boolean"
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
tron-customMake a custom smart contract, targeting the TRON Virtual Machine.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name"
]
} | — | — |
tron-governorMake a contract to implement governance, such as for a DAO, targeting the TRON Virtual Machine.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"delay": {
"type": "string",
"description": "The delay since proposal is created until voting starts, default is \"1 day\""
},
"period": {
"type": "string",
"description": "The length of period during which people can cast their vote, default is \"1 week\""
},
"votes": {
"description": "The type of voting to use",
"anyOf": [
{
"type": "string",
"const": "erc20votes"
},
{
"type": "string",
"const": "erc721votes"
}
]
},
"clockMode": {
"description": "The clock mode used by the voting token. For Governor, this must be chosen to match what the ERC20 or ERC721 voting token uses.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"timelock": {
"description": "The type of timelock to use",
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "openzeppelin"
}
]
},
{
"type": "string",
"const": "compound"
}
]
},
"blockTime": {
"description": "The block time of the chain in seconds, default is 3.",
"type": "number"
},
"decimals": {
"description": "The number of decimals to use for the contract, default is 18 for ERC20Votes and 0 for ERC721Votes (because it does not apply to ERC721Votes)",
"type": "number"
},
"proposalThreshold": {
"description": "Minimum number of votes an account must have to create a proposal, default is 0.",
"type": "string"
},
"quorumMode": {
"description": "The type of quorum mode to use",
"anyOf": [
{
"type": "string",
"const": "percent"
},
{
"type": "string",
"const": "absolute"
}
]
},
"quorumPercent": {
"description": "The percent required, in cases of quorumMode equals percent",
"type": "number"
},
"quorumAbsolute": {
"description": "The absolute quorum required, in cases of quorumMode equals absolute",
"type": "string"
},
"storage": {
"description": "Enable storage of proposal details and enumerability of proposals",
"type": "boolean"
},
"settings": {
"description": "Allow governance to update voting settings (delay, period, proposal threshold)",
"type": "boolean"
},
"crossChainExecution": {
"description": "Whether passed proposals can relay execution to other chains through ERC-7786 gateways. Requires a CrosschainRemoteExecutor contract, controlled by this governor, deployed on each target chain. The gateway and executor are chosen per proposal as arguments to the relayCrosschain function.",
"type": "boolean"
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"delay",
"period"
]
} | — | — |
tron-trc1155Make a multi-token contract per the TRC-1155 standard, targeting the TRON Virtual Machine.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"uri": {
"type": "string",
"description": "The location of the metadata for the token. Clients will replace any instance of {id} in this string with the tokenId."
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"supply": {
"description": "Whether to keep track of total supply of tokens",
"type": "boolean"
},
"updatableUri": {
"description": "Whether privileged accounts will be able to set a new URI for all token types",
"type": "boolean"
},
"crossChainBridging": {
"description": "Whether to embed an ERC-7786 based bridge directly in the token contract, making it natively crosschain. Crosschain transfers with registered counterparts burn the tokens on the source chain and mint them on the destination chain.",
"type": "string",
"const": "erc7786native"
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"uri"
]
} | — | — |
tron-trc20Make a fungible token per the TRC-20 standard, targeting the TRON Virtual Machine.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"decimals": {
"description": "The number of decimals used to represent token amounts. Defaults to 18.",
"type": "string"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"premint": {
"description": "The number of tokens to premint for the deployer.",
"type": "string"
},
"premintChainId": {
"description": "The chain ID of the network on which to premint tokens.",
"type": "string"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"callback": {
"description": "Whether to include support for code execution after transfers and approvals on recipient contracts in a single transaction.",
"type": "boolean"
},
"permit": {
"description": "Whether without paying gas, token holders will be able to allow third parties to transfer from their account.",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of historical balances for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps.",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"flashmint": {
"description": "Whether to include built-in flash loans to allow lending tokens without requiring collateral as long as they're returned in the same transaction.",
"type": "boolean"
},
"crossChainBridging": {
"description": "Whether to allow authorized bridge contracts to mint and burn tokens for crosschain transfers. Options are to use custom bridges on any chain, to embed an ERC-7786 based bridge directly in the token contract, or to use the SuperchainERC20 standard with the predeployed SuperchainTokenBridge. The SuperchainERC20 feature is only available on chains in the Superchain, and requires deploying your contract to the same address on every chain in the Superchain.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "custom"
},
{
"type": "string",
"const": "erc7786native"
}
]
},
{
"type": "string",
"const": "superchain"
}
]
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"namespacePrefix": {
"description": "The prefix for ERC-7201 namespace identifiers. It should be derived from the project name or a unique naming convention specific to the project. Used only if the contract includes storage variables and upgradeability is enabled. Default is \"myProject\".",
"type": "string"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"name",
"symbol"
]
} | — | — |
tron-trc721Make a non-fungible token per the TRC-721 standard, targeting the TRON Virtual Machine.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the contract"
},
"symbol": {
"type": "string",
"description": "The short symbol for the token"
},
"baseUri": {
"description": "A base uri for the token",
"type": "string"
},
"enumerable": {
"description": "Whether to allow on-chain enumeration of all tokens or those owned by an account. Increases gas cost of transfers.",
"type": "boolean"
},
"uriStorage": {
"description": "Allows updating token URIs for individual token IDs",
"type": "boolean"
},
"burnable": {
"description": "Whether token holders will be able to destroy their tokens",
"type": "boolean"
},
"pausable": {
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response.",
"type": "boolean"
},
"mintable": {
"description": "Whether privileged accounts will be able to create more supply or emit more tokens",
"type": "boolean"
},
"incremental": {
"description": "Whether new tokens will be automatically assigned an incremental id",
"type": "boolean"
},
"votes": {
"description": "Whether to keep track of individual units for voting in on-chain governance. Voting durations can be expressed as block numbers or timestamps (defaulting to block number if not specified).",
"anyOf": [
{
"type": "string",
"const": "blocknumber"
},
{
"type": "string",
"const": "timestamp"
}
]
},
"crossChainBridging": {
"description": "Whether to embed an ERC-7786 based bridge directly in the token contract, making it natively crosschain. Crosschain transfers with registered counterparts burn the token on the source chain and mint it on the destination chain. If also using incremental token ids, mint only on a single chain and link counterparts without minting, otherwise colliding ids can strand bridged tokens.",
"type": "string",
"const": "erc7786native"
},
"crossChainLinkAllowOverride": {
"description": "Whether to allow replacing a crosschain link that has already been registered. Only used if crossChainBridging is set to \"erc7786native\".",
"type": "boolean"
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"upgradeable": {
"description": "Whether the smart contract is upgradeable. Transparent uses more complex proxy with higher overhead, requires less changes in your contract. Can also be used with beacons. UUPS uses simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.",
"anyOf": [
{
"type": "string",
"const": "transparent"
},
{
"type": "string",
"const": "uups"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
},
"namespacePrefix": {
"description": "The prefix for ERC-7201 namespace identifiers. It should be derived from the project name or a unique naming convention specific to the project. Used only if the contract includes storage variables and upgradeability is enabled. Default is \"myProject\".",
"type": "string"
}
},
"required": [
"name",
"symbol"
]
} | — | — |
uniswap-hooksMake a Uniswap v4 hook contract using the OpenZeppelin Uniswap Hooks library.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"hook": {
"type": "string",
"enum": [
"BaseHook",
"BaseAsyncSwap",
"BaseCustomAccounting",
"BaseCustomCurve",
"BaseDynamicFee",
"BaseOverrideFee",
"BaseDynamicAfterFee",
"BaseHookFee",
"AntiSandwichHook",
"LiquidityPenaltyHook",
"LimitOrderHook",
"ReHypothecationHook",
"BaseOracleHook",
"OracleHookWithV3Adapters"
],
"description": "The name of the Uniswap hook. Available hooks:\n - BaseHook: Base hook implementation that defines all hook entry points, security and permission helpers. Based on the Uniswap v4 periphery implementation. Hook entry points must be overridden and implemented by the inheriting hook to be used, with respective flags set in getHookPermissions.\n - BaseAsyncSwap: Base implementation for async swaps that skip the v3-like swap implementation by taking the full swap input amount and returning a delta that nets out the specified amount to 0. Allows developers to implement arbitrary logic for executing swaps, including asynchronous swaps and custom swap-ordering. Mints ERC-6909 claim tokens for the specified currency and amount.\n - BaseCustomAccounting: Base implementation for custom accounting and hook-owned liquidity. Enables tokens to be deposited via the hook to allow control and flexibility over how liquidity is computed. The hook is the sole owner of the liquidity and manages fees over liquidity shares accordingly. Designed to work with a single pool key.\n - BaseCustomCurve: Base implementation for custom curves that overrides the default v3-like concentrated liquidity implementation. During a swap, calls a function to get the amount of tokens to be sent to the receiver. The return delta is then consumed and applied by the PoolManager. Does not include fee or salt mechanisms by default.\n - BaseDynamicFee: Base implementation to apply a dynamic fee via the PoolManager's updateDynamicLPFee function. Allows hooks to update LP fees dynamically based on external conditions. Includes a poke function that can be called by anyone to update the fee. Alternative names to refer to the hook: 'Dynamic pool fee'.\n - BaseOverrideFee: Base implementation for automatic dynamic fees applied before swaps. Allows hooks to override the pool's fee before a swap is processed using the override fee flag. The fee is calculated dynamically and applied to the swap. Alternative names to refer to the hook: 'Dynamic swap fee'.\n - BaseDynamicAfterFee: Base implementation for dynamic target hook fees applied after swaps. Enforces a dynamic target for the unspecified currency during beforeSwap, where if the swap outcome is better than the target, any positive difference is taken as a hook fee. Fees are handled or distributed by the hook via afterSwapHandler. Alternative names to refer to the hook: 'Swap target enforcer'.\n - BaseHookFee: Base implementation for applying hook fees to the unspecified currency of the swap. These fees are independent of the pool's LP fee and are charged as a percentage of the output amount after the swap completes. Fees are taken as ERC-6909 claims.\n - AntiSandwichHook: Implements sandwich-resistant AMM design that guarantees no swaps get filled at a price better than the price at the beginning of the slot window. Within a slot window, swaps impact the pool asymmetrically for buys and sells. Only protects swaps in the zeroForOne direction. Alternative names to refer to the hook: 'Sandwich resistance'.\n - LiquidityPenaltyHook: Just-in-Time (JIT) liquidity provisioning resistant hook that disincentivizes JIT attacks by penalizing LP fee collection during liquidity removal and disabling it during liquidity addition if liquidity was recently added. The penalty is donated to the pool's liquidity providers in range at the time of removal. Alternative names to refer to the hook: 'JIT liquidity resistance'.\n - LimitOrderHook: Limit Order Mechanism hook that allows users to place limit orders at specific ticks outside of the current price range. Orders will be filled if the pool's price crosses the order's tick. Orders can be cancelled at any time until filled. Once completely filled, the resulting liquidity can be withdrawn from the pool.\n - ReHypothecationHook: A Uniswap V4 hook that enables rehypothecation of liquidity positions. Allows users to deposit assets into yield-generating sources while providing liquidity to Uniswap pools Just-in-Time during swaps. Assets earn yield when idle and are temporarily injected as pool liquidity only when needed for swap execution, then immediately withdrawn back to yield sources. Users receive ERC20 shares representing their rehypothecated position. Alternative names to refer to the hook: 'Liquidity rehypothecation'.\n - BaseOracleHook: A hook that enables a Uniswap V4 pool to record price observations and expose an oracle interface. Records cumulative tick values and provides time-weighted average price data. Allows increasing observation cardinality to store more historical price data. Provides observe function to get cumulative tick values for specified time periods.\n - OracleHookWithV3Adapters: A hook that enables a Uniswap V4 pool to record price observations and expose an oracle interface with Uniswap V3-compatible adapters. Extends BaseOracleHook by automatically deploying standard and truncated V3 oracle adapters for each pool, making the oracle data compatible with existing V3 oracle interfaces and tools."
},
"name": {
"type": "string",
"description": "The name of the contract"
},
"pausable": {
"type": "boolean",
"description": "Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response."
},
"currencySettler": {
"type": "boolean",
"description": "Whether to include the CurrencySettler utility to settle pending deltas with the PoolManager during flash accounting."
},
"safeCast": {
"type": "boolean",
"description": "Whether to include the SafeCast library for safe integer conversions when handling balances or fees."
},
"transientStorage": {
"type": "boolean",
"description": "Whether to include the TransientSlot and SlotDerivation helpers for temporary state that clears at the end of the transaction."
},
"shares": {
"type": "object",
"properties": {
"options": {
"anyOf": [
{
"type": "boolean",
"const": false
},
{
"type": "string",
"const": "ERC20"
},
{
"type": "string",
"const": "ERC1155"
},
{
"type": "string",
"const": "ERC6909"
}
],
"description": "The implementation used to represent position shares. Options include disabling shares or issuing ERC20, ERC6909, or ERC1155 tokens."
},
"name": {
"description": "The name of the share token when ERC20 shares are enabled.",
"type": "string"
},
"symbol": {
"description": "The symbol of the share token when ERC20 shares are enabled.",
"type": "string"
},
"uri": {
"description": "The metadata URI used when ERC1155 shares are enabled.",
"type": "string"
}
},
"required": [
"options"
],
"description": "Configuration for optional share tokens exposed by the hook."
},
"permissions": {
"type": "object",
"properties": {
"beforeInitialize": {
"type": "boolean",
"description": "Whether to enable the `_beforeInitialize` callback to run before pools are initialized."
},
"afterInitialize": {
"type": "boolean",
"description": "Whether to enable the `_afterInitialize` callback to react after pool initialization."
},
"beforeAddLiquidity": {
"type": "boolean",
"description": "Whether to enable the `_beforeAddLiquidity` callback to validate or modify adds before liquidity is deposited."
},
"beforeRemoveLiquidity": {
"type": "boolean",
"description": "Whether to enable the `_beforeRemoveLiquidity` callback to validate removals before liquidity is withdrawn."
},
"afterAddLiquidity": {
"type": "boolean",
"description": "Whether to enable the `_afterAddLiquidity` callback to update accounting after liquidity is added."
},
"afterRemoveLiquidity": {
"type": "boolean",
"description": "Whether to enable the `_afterRemoveLiquidity` callback to update accounting after liquidity is withdrawn."
},
"beforeSwap": {
"type": "boolean",
"description": "Whether to enable the `_beforeSwap` callback to inspect and optionally modify swap parameters."
},
"afterSwap": {
"type": "boolean",
"description": "Whether to enable the `_afterSwap` callback to perform post-swap accounting or logic."
},
"beforeDonate": {
"type": "boolean",
"description": "Whether to enable the `_beforeDonate` callback to run before donations are processed."
},
"afterDonate": {
"type": "boolean",
"description": "Whether to enable the `_afterDonate` callback to run after donations are processed."
},
"beforeSwapReturnDelta": {
"type": "boolean",
"description": "Whether to allow `_beforeSwap` to return a `BeforeSwapDelta`, adjusting the assets that must be provided for the swap."
},
"afterSwapReturnDelta": {
"type": "boolean",
"description": "Whether to allow `_afterSwap` to return an additional delta that adjusts the final swap settlement."
},
"afterAddLiquidityReturnDelta": {
"type": "boolean",
"description": "Whether to allow `_afterAddLiquidity` to return a `BalanceDelta` that adjusts how liquidity addition balances are settled."
},
"afterRemoveLiquidityReturnDelta": {
"type": "boolean",
"description": "Whether to allow `_afterRemoveLiquidity` to return a `BalanceDelta` that adjusts how liquidity removal balances are settled."
}
},
"required": [
"beforeInitialize",
"afterInitialize",
"beforeAddLiquidity",
"beforeRemoveLiquidity",
"afterAddLiquidity",
"afterRemoveLiquidity",
"beforeSwap",
"afterSwap",
"beforeDonate",
"afterDonate",
"beforeSwapReturnDelta",
"afterSwapReturnDelta",
"afterAddLiquidityReturnDelta",
"afterRemoveLiquidityReturnDelta"
],
"description": "Toggle lifecycle permissions to enable specific core hook callbacks. Required permissions are enforced automatically."
},
"inputs": {
"type": "object",
"properties": {
"blockNumberOffset": {
"type": "number",
"description": "The number of blocks that must elapse after liquidity is added before it can be removed without penalties. Used by liquidity protection hooks."
},
"maxAbsTickDelta": {
"type": "number",
"description": "The maximum absolute tick change that can be recorded per oracle observation. Lower values resist manipulation but lag during volatility."
}
},
"required": [
"blockNumberOffset",
"maxAbsTickDelta"
],
"description": "Hook-specific configuration inputs used by certain templates."
},
"access": {
"description": "The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. Managed enables a central contract to define a policy that allows certain callers to access certain functions.",
"anyOf": [
{
"anyOf": [
{
"type": "string",
"const": "ownable"
},
{
"type": "string",
"const": "roles"
}
]
},
{
"type": "string",
"const": "managed"
}
]
},
"info": {
"description": "Metadata about the contract and author",
"type": "object",
"properties": {
"securityContact": {
"description": "Email where people can contact you to report security issues. Will only be visible if contract source code is verified.",
"type": "string"
},
"license": {
"description": "The license used by the contract, default is \"MIT\"",
"type": "string"
}
}
}
},
"required": [
"hook",
"name",
"pausable",
"currencySettler",
"safeCast",
"transientStorage",
"shares",
"permissions",
"inputs"
]
} | — | — |
Interactive Wizard UI for cairo-account
{
"resource_key": "ui://openzeppelin/cairo-account.html",
"uri": "ui://openzeppelin/cairo-account.html",
"name": "Cairo Account",
"description": "Interactive Wizard UI for cairo-account",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "999426793130fecfc2654ad62947620c7def1dbd0c21b031f7837cc72a76af31"
}Interactive Wizard UI for cairo-custom
{
"resource_key": "ui://openzeppelin/cairo-custom.html",
"uri": "ui://openzeppelin/cairo-custom.html",
"name": "Cairo Custom",
"description": "Interactive Wizard UI for cairo-custom",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "b06ed214b04ffbb2a44cf8f76db9a5797d27421de43e9e06f1a550bc4fbbd5a7"
}Interactive Wizard UI for cairo-erc1155
{
"resource_key": "ui://openzeppelin/cairo-erc1155.html",
"uri": "ui://openzeppelin/cairo-erc1155.html",
"name": "Cairo ERC1155",
"description": "Interactive Wizard UI for cairo-erc1155",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "bd27d372f44365330511cb4ee892fdc1891179389c8a62dfd7ac724e9109feed"
}Interactive Wizard UI for cairo-erc20
{
"resource_key": "ui://openzeppelin/cairo-erc20.html",
"uri": "ui://openzeppelin/cairo-erc20.html",
"name": "Cairo ERC20",
"description": "Interactive Wizard UI for cairo-erc20",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "289bef689dc34d6823c750a1735341b7e4e201ed943679d56713258170ccc940"
}Interactive Wizard UI for cairo-erc6909
{
"resource_key": "ui://openzeppelin/cairo-erc6909.html",
"uri": "ui://openzeppelin/cairo-erc6909.html",
"name": "Cairo ERC6909",
"description": "Interactive Wizard UI for cairo-erc6909",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "595b41502a472a5e00f79cff755031432ea2d5c075c64975188c292377b58b97"
}Interactive Wizard UI for cairo-erc721
{
"resource_key": "ui://openzeppelin/cairo-erc721.html",
"uri": "ui://openzeppelin/cairo-erc721.html",
"name": "Cairo ERC721",
"description": "Interactive Wizard UI for cairo-erc721",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "234857485d6c93fa824b7accb82c59841058f9894f604407e0527cade9c2999d"
}Interactive Wizard UI for cairo-governor
{
"resource_key": "ui://openzeppelin/cairo-governor.html",
"uri": "ui://openzeppelin/cairo-governor.html",
"name": "Cairo Governor",
"description": "Interactive Wizard UI for cairo-governor",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "4881da6ded761f9cc7ada1316fff605c6eeeda4e854e9c8cbfe0e151527d762f"
}Interactive Wizard UI for cairo-multisig
{
"resource_key": "ui://openzeppelin/cairo-multisig.html",
"uri": "ui://openzeppelin/cairo-multisig.html",
"name": "Cairo Multisig",
"description": "Interactive Wizard UI for cairo-multisig",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "0a63d02a25ffda9377e0d0ffeb78d5562bb03d13d53373949ab4329ef5bedbb4"
}Interactive Wizard UI for cairo-vesting
{
"resource_key": "ui://openzeppelin/cairo-vesting.html",
"uri": "ui://openzeppelin/cairo-vesting.html",
"name": "Cairo Vesting",
"description": "Interactive Wizard UI for cairo-vesting",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "016a687f3d9fa11959ae315968a1be21f51b97f7b96071019e177c582ee2dc41"
}Interactive Wizard UI for confidential-erc7984
{
"resource_key": "ui://openzeppelin/confidential-erc7984.html",
"uri": "ui://openzeppelin/confidential-erc7984.html",
"name": "Confidential ERC7984",
"description": "Interactive Wizard UI for confidential-erc7984",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "ad254d547460e4d67d5c3ca57750c159572d891a8c38384d5a4aec2e83ea09e5"
}Interactive Wizard UI for solidity-account
{
"resource_key": "ui://openzeppelin/solidity-account.html",
"uri": "ui://openzeppelin/solidity-account.html",
"name": "Solidity Account",
"description": "Interactive Wizard UI for solidity-account",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "96055fce14a307200cb704e532e3a4455ce5c95125762ba424fb01a7088de515"
}Interactive Wizard UI for solidity-custom
{
"resource_key": "ui://openzeppelin/solidity-custom.html",
"uri": "ui://openzeppelin/solidity-custom.html",
"name": "Solidity Custom",
"description": "Interactive Wizard UI for solidity-custom",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "afe56e75695019604d3044d5f801145008181d8ccb105c216eb0b122e0769569"
}Interactive Wizard UI for solidity-erc1155
{
"resource_key": "ui://openzeppelin/solidity-erc1155.html",
"uri": "ui://openzeppelin/solidity-erc1155.html",
"name": "Solidity ERC1155",
"description": "Interactive Wizard UI for solidity-erc1155",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "a06905a949b38caaf53b48b71874ebd4e2216273fa52671113aef5497a439c43"
}Interactive Wizard UI for solidity-erc20
{
"resource_key": "ui://openzeppelin/solidity-erc20.html",
"uri": "ui://openzeppelin/solidity-erc20.html",
"name": "Solidity ERC20",
"description": "Interactive Wizard UI for solidity-erc20",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "1e9699a2306b7dedc64d73f312440b1fa188c0b54ca2a34ccf1b32c10ee27681"
}Interactive Wizard UI for solidity-erc721
{
"resource_key": "ui://openzeppelin/solidity-erc721.html",
"uri": "ui://openzeppelin/solidity-erc721.html",
"name": "Solidity ERC721",
"description": "Interactive Wizard UI for solidity-erc721",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "a3a2196d8e4c8338ff79fc7007ca2911d8b64d9ad1b0226de38de80c554f55e1"
}Interactive Wizard UI for solidity-governor
{
"resource_key": "ui://openzeppelin/solidity-governor.html",
"uri": "ui://openzeppelin/solidity-governor.html",
"name": "Solidity Governor",
"description": "Interactive Wizard UI for solidity-governor",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "b7d111e504edeb2e0ad2928ddf9acbc7e913742b97a2e1ad3acd7feec05a9a23"
}Interactive Wizard UI for solidity-rwa
{
"resource_key": "ui://openzeppelin/solidity-rwa.html",
"uri": "ui://openzeppelin/solidity-rwa.html",
"name": "Solidity RWA",
"description": "Interactive Wizard UI for solidity-rwa",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "eaadf816198f6903a956bb35bf5c556009123af87b6e63d5cf8fbefca38f084c"
}Interactive Wizard UI for solidity-stablecoin
{
"resource_key": "ui://openzeppelin/solidity-stablecoin.html",
"uri": "ui://openzeppelin/solidity-stablecoin.html",
"name": "Solidity Stablecoin",
"description": "Interactive Wizard UI for solidity-stablecoin",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "a96a36c5c778e50d9de5abe6133f12f99e19fa8d6a5c5e1ea7fe8594ffdbe377"
}Interactive Wizard UI for stellar-account
{
"resource_key": "ui://openzeppelin/stellar-account.html",
"uri": "ui://openzeppelin/stellar-account.html",
"name": "Stellar Account",
"description": "Interactive Wizard UI for stellar-account",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "67007c277931dbfd6c4a9c02980713d327c6afe593fc8afbb0be424a27d3c4cf"
}Interactive Wizard UI for stellar-fungible
{
"resource_key": "ui://openzeppelin/stellar-fungible.html",
"uri": "ui://openzeppelin/stellar-fungible.html",
"name": "Stellar Fungible",
"description": "Interactive Wizard UI for stellar-fungible",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "cde65c8d03994da1d0c39ed98ec110253368e36b5ab483b4a06d4100b7a7d0e9"
}Interactive Wizard UI for stellar-governor
{
"resource_key": "ui://openzeppelin/stellar-governor.html",
"uri": "ui://openzeppelin/stellar-governor.html",
"name": "Stellar Governor",
"description": "Interactive Wizard UI for stellar-governor",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "da1822eed83e96f5667ce2bde1258295d94745b61e47342e4b9a1ed9e6aae13f"
}Interactive Wizard UI for stellar-non-fungible
{
"resource_key": "ui://openzeppelin/stellar-non-fungible.html",
"uri": "ui://openzeppelin/stellar-non-fungible.html",
"name": "Stellar Non-Fungible",
"description": "Interactive Wizard UI for stellar-non-fungible",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "e335ba9a2453a559cca8bdfbc1a2ad5cc9d749c40dacd8bd2aa0c30ca308d4d0"
}Interactive Wizard UI for stellar-stablecoin
{
"resource_key": "ui://openzeppelin/stellar-stablecoin.html",
"uri": "ui://openzeppelin/stellar-stablecoin.html",
"name": "Stellar Stablecoin",
"description": "Interactive Wizard UI for stellar-stablecoin",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "2bc4d374dcef1ef56f6c0ba8ca6baf2efca2cc27875c49c2ff24573dbe915f68"
}Interactive Wizard UI for stellar-vault
{
"resource_key": "ui://openzeppelin/stellar-vault.html",
"uri": "ui://openzeppelin/stellar-vault.html",
"name": "Stellar Vault",
"description": "Interactive Wizard UI for stellar-vault",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "24403c37ef2c4d72aed9b715d183efc70dc48d0c9f7dc951f0c62485e9800126"
}Interactive Wizard UI for stylus-erc1155
{
"resource_key": "ui://openzeppelin/stylus-erc1155.html",
"uri": "ui://openzeppelin/stylus-erc1155.html",
"name": "Stylus ERC1155",
"description": "Interactive Wizard UI for stylus-erc1155",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "faff0d6a929dc59f1fbe91f61efe3df4760a67e39557331b6544174ff834de4e"
}Interactive Wizard UI for stylus-erc20
{
"resource_key": "ui://openzeppelin/stylus-erc20.html",
"uri": "ui://openzeppelin/stylus-erc20.html",
"name": "Stylus ERC20",
"description": "Interactive Wizard UI for stylus-erc20",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "6d2b6f0327d4f0d48d930b3f0576cd22b2a255df27118e35ae94e8491666ae04"
}Interactive Wizard UI for stylus-erc721
{
"resource_key": "ui://openzeppelin/stylus-erc721.html",
"uri": "ui://openzeppelin/stylus-erc721.html",
"name": "Stylus ERC721",
"description": "Interactive Wizard UI for stylus-erc721",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "f6667211b5709ab646c11d02c1a8af92fe846b171913b962f131760e0cd74170"
}Interactive Wizard UI for tron-custom
{
"resource_key": "ui://openzeppelin/tron-custom.html",
"uri": "ui://openzeppelin/tron-custom.html",
"name": "TRON Custom",
"description": "Interactive Wizard UI for tron-custom",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "0d4c3d38ed22f015225405bc0e6d8cc62c35612a80443e94caf868636d62db93"
}Interactive Wizard UI for tron-governor
{
"resource_key": "ui://openzeppelin/tron-governor.html",
"uri": "ui://openzeppelin/tron-governor.html",
"name": "TRON Governor",
"description": "Interactive Wizard UI for tron-governor",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "8ca8eca923d1822e6beb7fb4382fadce25b24921a70ebb8d521f7df0f3f3b34c"
}Interactive Wizard UI for tron-trc1155
{
"resource_key": "ui://openzeppelin/tron-trc1155.html",
"uri": "ui://openzeppelin/tron-trc1155.html",
"name": "TRON TRC1155",
"description": "Interactive Wizard UI for tron-trc1155",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "a748a9b25545a343da8cf18a40d1fc93a3a5c2b4c5a0a4a406427bad6a74f550"
}Interactive Wizard UI for tron-trc20
{
"resource_key": "ui://openzeppelin/tron-trc20.html",
"uri": "ui://openzeppelin/tron-trc20.html",
"name": "TRON TRC20",
"description": "Interactive Wizard UI for tron-trc20",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "1d1302db0d95b8e686628e5517307fe716f9adeb1bc1d4bd1cf481acd41ef02f"
}Interactive Wizard UI for tron-trc721
{
"resource_key": "ui://openzeppelin/tron-trc721.html",
"uri": "ui://openzeppelin/tron-trc721.html",
"name": "TRON TRC721",
"description": "Interactive Wizard UI for tron-trc721",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "a651ab4fbaa97e27d571fe42139e8fff874f756a975451d1560c53644427a0f4"
}Interactive Wizard UI for uniswap-hooks
{
"resource_key": "ui://openzeppelin/uniswap-hooks.html",
"uri": "ui://openzeppelin/uniswap-hooks.html",
"name": "Uniswap Hooks",
"description": "Interactive Wizard UI for uniswap-hooks",
"mime_type": "text/html;profile=mcp-app",
"annotations": null,
"metadata_hash": "6bae9d7312fc53e71be6add0f4efdede90b47464bda14478424ce0c6edba02d2"
}No completed comparison is available.
| Risk | Change | Subject |
|---|---|---|
| No material changes recorded. | ||
| Severity | Finding | Advisory |
|---|---|---|
| No confirmed vulnerability is published for this version. | ||
Artifact SHA-256: 3129848ea16ce5c0584734f4d9265a666a206827d23c4616f6831992555db983
Scanner: mcp-proof-engine 0.1.0.