Max Payload Size


Apologies if asked before (I could not find it) … is there a maximum size of data that can be placed in a template?



Hi @Jean_Safar,

Welcome to the forum :wave:

There is no limitation as per the DAML ledger model.

There are other technical limitations though. The RPC protocol used for the ledger api (gRPC) specifies a maximum message size that defaults to ~4MB. So both client and ledger need to be configured to accept messages larger than that. (See for example this post).
Additionally one has to consider that DAML contract values need to be serialized, deserialized, sent to the committer for validation, translated for the ledger api, etc, so large values definitely have an impact on performance in one way or another.

I’d be interested in what context you are using DAML? Only if you can share that with us, of course?


Thanks a lot @gerolf,

All my data is indeed serializable … Not being able to store it inside a template complexifies the architecture. I need to Hash the data and store it separately and in essence create an indirection when trying to access the data, which eventually will impact performance.

Best regards-

1 Like

Bernhard just posted a nice post that might be interesting to you.


Thanks - I did see (word missing :-() this post indeed-

1 Like

great post indeed @Jean_Safar