I don't know if this has been asked before, feel free to mark it as duplicate.

I'm simulating sending a transaction in BabylonNet with the exact amount of my balance. This is what I send:

    "operation": {
        "contents": [
                "amount": "15072034",
                "destination": "tz1XSXBeWqdupm73qWAJkxJkxRzH16y77i1B",
                "source": "tz1Zccb24KHCe99goSnFpg4xh9JZNTHSNPTz",
                "storage_limit": "60000",
                "fee": "0000000",
                "kind": "transaction",
                "gas_limit": "800000",
                "counter": "252877"
        "branch": "BM8(...)",
        "signature": "edsig(...)"
    "chain_id": "Net(...)"

And I get a 500 error with this message:

        "kind": "temporary",
        "id": "failure",
        "msg": "\"Assert_failure src/proto_005_PsBabyM1/lib_protocol/contract_storage.ml:555:16\""

Checking out the class in master branch I'm assuming this error comes from the fact I'm trying to empty an account that delegated their tezos to a baker. Is this assumption correct? And if so, why does this block me from doing this transaction?


1 Answer 1


That's right, you cannot empty a delegated implicit account. In 006 the assert is replaced with a proper error message.

Your options are to either leave at least 1 mutez in the account, or to remove the delegation and then empty the account.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.