Skip to main content


Basic types

Boolean type to represent truth values

String of characters type to represent textual values

Natural type to represent long positive integers

Integer type to represent long integers

Rational type to represent floating point values

Date type to represent ISO date values

Duration type to represent difference of dates

Bytes type to represent any serialised value

Tez type to represent an amount in tez currency

Address type to represent an account or contract address

List of all available types.


List of conversion functions

Converts an address to contract

Converts a contract to an address

Converts an integer to a date

Converts an integer to natural

Converts a key hash to contract (without entrypoint)

Converts key to address

Converts key to hash key

Converts a mutez amount to natural

Converts a natural to its string representation



Comparable values have a natural order used to order elements in containers (set and map's key). Comparison operators < <= > and >= are available the order of two value.

All types are comparable except: big_map iterable_big_map bls12_381_fr bls12_381_g1 bls12_381_g2 contract lambda list map operation sapling_state sapling_transaction set ticket


A packable value can be serialised with pack and deserialised with unpack.

All types are packable except: big_map iterable_big_map operation sapling_state ticket


A passable value can be the parameter of an entrypoint, a lambda and (not inlined) function.

All types are passable except: operation


A storable value may be a contract's storage element.

All types are storable except: contract operation