# Rename \`DeployAccount\` transaction to something else like \`DeployFunded\`?

**URL:** <https://community.starknet.io/t/rename-deployaccount-transaction-to-something-else-like-deployfunded/2543>\
**Category:** Starknet Technical Development\
**Created:** [November 1, 2022, 8:08am UTC](https://community.starknet.io/t/rename-deployaccount-transaction-to-something-else-like-deployfunded/2543 "2022-11-01T08:08:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![xJonathanLEI](https://dub1.discourse-cdn.com/flex005/user_avatar/community.starknet.io/xjonathanlei/32/93_2.png) [@xJonathanLEI](https://community.starknet.io/u/xJonathanLEI)\
**Post date:** [November 1, 2022, 8:08am UTC](https://community.starknet.io/t/rename-deployaccount-transaction-to-something-else-like-deployfunded/2543/1 "2022-11-01T08:08:19Z")

</div>

For those who don’t know, [StarkNet v0.10.1](https://github.com/starkware-libs/cairo-lang/releases/tag/v0.10.1) introduced a new transaction type called `DeployAccount`, aiming to solve the chicken-and-egg problem regarding account deployment: you couldn’t deploy an account unless you already own one. The `DeployAccount` transaction is meant to replace the current `Deploy` transaction type which is free of charge.

However, I find the naming of this new transaction type extremely misleading. It gives the impression that only account contracts can be deployed this way, as in the contract must have entrypoints like ` __execute__ ` etc.

To illustrate that _any_ contract can be deployed with `DeployAccount`, I sent [this transaction](https://alpha4.starknet.io/feeder_gateway/get_transaction?transactionHash=0x0b972a8e417d9ef40091ccfa4496388adca8c9238d7b3e25fb0f1472e355419) to StarkNet Goerli, and it executes just fine. The source code of this contract is simply:

```nohighlight
%lang starknet

from starkware.cairo.common.cairo_builtins import HashBuiltin, SignatureBuiltin, BitwiseBuiltin

@constructor
func constructor(arg: felt) {
    return ();
}

@external
func __validate_deploy__ {}(class_hash: felt, contract_address_salt: felt, arg: felt) {
    return ();
}

```

which is clearly _not_ an account contract.

Is StarkWare naming it like this _on purpose_ to explicitly _discourage_ deploying contracts this way? Something related to malicious sequencers setting arbitrary max fee?

If that’s _not_ the case, I see 2 options here:

1. Rename `DeployAccount` to something else like `DeployFunded` that more accurately describes the nature of this transaction type
2. Turn `DeployAccount` into `Deploy` v1.
