# Create a new Web3 contract (Admin) Create a new Web3 contract with administrative privileges. Requires tenant admin access. Replaces POST /contract Endpoint: POST /contracts Version: 2.0.2 Security: tenantAdminJWT ## Request fields (application/json): - `implementationAddress` (string) this is implementation address, the address of the contract that is being used as implementation for the proxy. This is only used for proxy contracts - `contractAddress` (string, required) this is the address of the contract - `ownerAddress` (string) this is the address of the owner of the contract - `factoryAddress` (string,null) this is the address of the factory contract that deploys this contract Example: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" - `chainId` (number, required) this is the chain id of the contract - `contractVersion` (string) this is the version of the contract - `contractType` (string, required) this is the type of the contract Enum: "SMART_WALLET_FACTORY", "SMART_WALLET_IMPLEMENTATION", "SMART_WALLET_PROXY", "COUNTERFACTUAL_WALLET_FACTORY", "COUNTERFACTUAL_WALLET_IMPLEMENTATION", "COUNTERFACTUAL_WALLET_PROXY", "TOKEN_CONTRACT" - `nativeTokenType` (string,null, required) this is the native token type of the contract, this is only used for native tokens Enum: "ERC20", "ERC1155", "ERC721" - `salt` (string) this is the salt of the contract, this is only used for proxy contract factories to generate unique contracts - `txHash` (string,null) this is the transaction hash of the contract deployment, this is only used for deployed contracts Example: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" - `isProxy` (boolean, required) this is the flag to check if the contract is a proxy contract - `abiUrl` (string) this is the url of the abi of the contract, to be used to fetch the abi of the contract - `deploymentStatus` (string, required) current deployment status of the contract Enum: "COMPUTED", "DEPLOYED", "FAILED" ## Response 200 fields (application/json): - `implementationAddress` (string) this is implementation address, the address of the contract that is being used as implementation for the proxy. This is only used for proxy contracts - `contractAddress` (string, required) this is the address of the contract - `ownerAddress` (string) this is the address of the owner of the contract - `factoryAddress` (string,null) this is the address of the factory contract that deploys this contract Example: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" - `chainId` (number, required) this is the chain id of the contract - `contractVersion` (string) this is the version of the contract - `contractType` (string, required) this is the type of the contract Enum: "SMART_WALLET_FACTORY", "SMART_WALLET_IMPLEMENTATION", "SMART_WALLET_PROXY", "COUNTERFACTUAL_WALLET_FACTORY", "COUNTERFACTUAL_WALLET_IMPLEMENTATION", "COUNTERFACTUAL_WALLET_PROXY", "TOKEN_CONTRACT" - `nativeTokenType` (string,null, required) this is the native token type of the contract, this is only used for native tokens Enum: "ERC20", "ERC1155", "ERC721" - `salt` (string) this is the salt of the contract, this is only used for proxy contract factories to generate unique contracts - `txHash` (string,null) this is the transaction hash of the contract deployment, this is only used for deployed contracts Example: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" - `isProxy` (boolean, required) this is the flag to check if the contract is a proxy contract - `abiUrl` (string) this is the url of the abi of the contract, to be used to fetch the abi of the contract - `deploymentStatus` (string, required) current deployment status of the contract Enum: "COMPUTED", "DEPLOYED", "FAILED" - `id` (string, required) this is the id of the contract - `abi` (object, required) this is the abi of the contract, this is the interface of the contract to interact with it - `tenantId` (object, required) this is the tenant id of the contract, this can be null for generic contracts