<p>I am failing to spend even 10 utxos from the script address because of CPU and memory limits, using AlwaysSucceeds validator. More info:
<a href="https://cardano.stackexchange.com/questions/6064/transaction-memory-and-cpu-usage-limits">Transaction memory and cpu usage limits</a></p>

CC BY-SA 4.0
2021-12-28T11:17:44.203Z
2021-12-28T11:17:44.203Z
serx
<p>This sounds like a two part question:</p>
<ol>
<li>Is there any limit to the number of UTXOs stored at a script address</li>
<li>Is there any limit to consuming UTXOs stored at a script address</li>
</ol>
<p>For the first one, yes and no.  While you can theoretically store as many UTXOs as you like at a script address, there are some resource constraints you're likely to run into:</p>
<ul>
<li>The size of a single transaction is currently limited to 16k and the max size of a single block is 64k.  And while these numbers are adjustable, this puts an upper limit on the rate of ingestion.</li>
<li>The same issue will apply when you wish to spend the UTXO as well.  16k is the limit for the entire transaction, inputs, outputs, witness, all of it.</li>
</ul>
<p>For the second question, yes, there are a number of limits on consuming UTXOs:</p>
<ul>
<li>Within the 16k transaction size limit, the smart contract (currently) needs to fit into that space, significantly reducing the amount of space available for UTXO</li>
<li>Odds are, you'll probably want to do some verifications as well on the UTXOs so cpu and memory execution limits may also play a factor</li>
<li>Like the 64k block size limit, there are also block limits for cpu and memory</li>
</ul>

CC BY-SA 4.0
2021-11-01T20:41:35.357Z
2021-11-01T20:41:35.357Z
Matt Ho
<blockquote>
<p>Is there any limit to the number of UTXO's sitting at a script address?</p>
</blockquote>
<p>There shouldn't be any practical limit.</p>
<p>UTxOs aren't stored in some memory at an address. The address determines who can <em>spend</em> a UTxO, not where it resides. And that address is included on the UTxO, not vice versa.</p>
<p>In other words, when you send UTxOs to an address there is no check on which/how many UTxOs are owned by that address. You are just adding a new UTxO to the blockchain that the intended recipient can identify as their own and spend.</p>
<p>Check out my answer <a href="https://cardano.stackexchange.com/a/2540/1130">here</a> for more details on how UTxOs are associated with addresses.</p>

CC BY-SA 4.0
2021-11-01T21:37:43.863Z
Thank you! This is exactly the answer I was looking for :)
Blake Brown
CC BY-SA 4.0
2022-03-02T03:53:54.370Z
@Mitchell Turner Since the address is just a hashed string of the script attached to a UTXO, it doesn’t specify where the UTXO resides. So, what does it mean when you say “send UTXOs to an address” in the third paragraph? Does it mean that we create a new UTXO using the same hashed script AS the address attached to that new UTXO?
Jonas
CC BY-SA 4.0
2022-03-03T04:09:29.093Z
I mean when you create any transaction that has an output owned by the script address.

I'm using the term "send" loosely. Similar to when you "send" or transfer funds to another wallet. In reality you aren't "sending" it anywhere, you're just creating a new UTxO who's owner is the recipient of the value in the UTxO.

Sorry if that was confusing. I was intentionally mixing vernacular to draw parallels.
Mitchell Turner
CC BY-SA 4.0
2021-11-01T21:17:19.207Z
2021-11-01T21:17:19.207Z
Mitchell Turner
<p>Just want to foresee if we'll run into any issues sending/consuming thousands, or tens of thousands of UTXO's at a script address.</p>

<utxo><script-addresses>
Is there any limit to the number of UTXO's sitting at a script address?
# Is there any limit to the number of UTXO's sitting at a script address?

(Asked by: username_0 on 2021-10-31)

Just want to foresee if we'll run into any issues sending/consuming thousands, or tens of thousands of UTXO's at a script address.

**Tags:** utxo, script-addresses

---

## 3 answers

### Answer by username_3 on 2021-11-01. Score: 6 | Accepted answer

> Is there any limit to the number of UTXO's sitting at a script address?

There shouldn't be any practical limit.

UTxOs aren't stored in some memory at an address. The address determines who can *spend* a UTxO, not where it resides. And that address is included on the UTxO, not vice versa.

In other words, when you send UTxOs to an address there is no check on which/how many UTxOs are owned by that address. You are just adding a new UTxO to the blockchain that the intended recipient can identify as their own and spend.

Check out my answer [here](https://cardano.stackexchange.com/a/2540/1130) for more details on how UTxOs are associated with addresses.

> **Comments:**
> **username_0**: Thank you! This is exactly the answer I was looking for :)  
> **username_4**: @Mitchell Turner Since the address is just a hashed string of the script attached to a UTXO, it doesn’t specify where the UTXO resides. So, what does it mean when you say “send UTXOs to an address” in the third paragraph? Does it mean that we create a new UTXO using the same hashed script AS the address attached to that new UTXO?  
> **username_3**: I mean when you create any transaction that has an output owned by the script address.  I'm using the term "send" loosely. Similar to when you "send" or transfer funds to another wallet. In reality you aren't "sending" it anywhere, you're just creating a new UTxO who's owner is the recipient of the value in the UTxO.  Sorry if that was confusing. I was intentionally mixing vernacular to draw parallels.  

---

### Answer by username_2 on 2021-11-01. Score: 3

This sounds like a two part question:

1. Is there any limit to the number of UTXOs stored at a script address
2. Is there any limit to consuming UTXOs stored at a script address

For the first one, yes and no. While you can theoretically store as many UTXOs as you like at a script address, there are some resource constraints you're likely to run into:

* The size of a single transaction is currently limited to 16k and the max size of a single block is 64k. And while these numbers are adjustable, this puts an upper limit on the rate of ingestion.
* The same issue will apply when you wish to spend the UTXO as well. 16k is the limit for the entire transaction, inputs, outputs, witness, all of it.

For the second question, yes, there are a number of limits on consuming UTXOs:

* Within the 16k transaction size limit, the smart contract (currently) needs to fit into that space, significantly reducing the amount of space available for UTXO
* Odds are, you'll probably want to do some verifications as well on the UTXOs so cpu and memory execution limits may also play a factor
* Like the 64k block size limit, there are also block limits for cpu and memory


---

### Answer by username_1 on 2021-12-28. Score: 0

I am failing to spend even 10 utxos from the script address because of CPU and memory limits, using AlwaysSucceeds validator. More info:
[Transaction memory and cpu usage limits](https://cardano.stackexchange.com/questions/6064/transaction-memory-and-cpu-usage-limits)


---

