diff --git a/docs/async_examples.rst b/docs/async_examples.rst
index 4bc21ae..322869c 100644
--- a/docs/async_examples.rst
+++ b/docs/async_examples.rst
@@ -78,6 +78,50 @@
   :dedent: 12
   :lines: 96-105
 
+Transactions
+------------
+File: `transactions.py`_.
+
+Client transactions are supported for caches with
+:py:attr:`~pyignite.datatypes.cache_config.CacheAtomicityMode.TRANSACTIONAL` mode.
+
+Let's create transactional cache:
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 29-32
+
+Let's start a transaction and commit it:
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 35-40
+
+Let's check that the transaction was committed successfully:
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 42-44
+
+Let's check that raising exception inside `async with` block leads to transaction's rollback
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 47-58
+
+Let's check that timed out transaction is successfully rolled back
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 61-72
+
+See more info about transaction's parameters in a documentation of :py:meth:`~pyignite.aio_client.AioClient.tx_start`
+
 SQL
 ---
 File: `async_sql.py`_.
@@ -173,4 +217,5 @@
 
 .. _expiry_policy.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/expiry_policy.py
 .. _async_key_value.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/async_key_value.py
-.. _async_sql.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/async_sql.py
\ No newline at end of file
+.. _async_sql.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/async_sql.py
+.. _transactions.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/transactions.py
\ No newline at end of file
diff --git a/docs/datatypes/cache_props.rst b/docs/datatypes/cache_props.rst
index 380ccf2..77d50f7 100644
--- a/docs/datatypes/cache_props.rst
+++ b/docs/datatypes/cache_props.rst
@@ -22,7 +22,7 @@
 The :mod:`~pyignite.datatypes.prop_codes` module contains a list of ordinal
 values, that represent various cache settings.
 
-Please refer to the `Apache Ignite Data Grid`_ documentation on cache
+Please refer to the `Configuring Caches`_ documentation on cache
 synchronization, rebalance, affinity and other cache configuration-related
 matters.
 
@@ -160,7 +160,7 @@
 - `type_name`: name of the complex object,
 - `affinity_key_field_name`: name of the affinity key field.
 
-.. _Apache Ignite Data Grid: https://apacheignite.readme.io/docs/data-grid
+.. _Configuring Caches: https://ignite.apache.org/docs/latest/configuring-caches/configuration-overview.html
 
 Expiry policy
 -------------
diff --git a/docs/datatypes/parsers.rst b/docs/datatypes/parsers.rst
index 92329cc..06ce659 100644
--- a/docs/datatypes/parsers.rst
+++ b/docs/datatypes/parsers.rst
@@ -136,40 +136,40 @@
 |0x1b         |`Wrapped data`_     |tuple[int, bytes]              |:class:`~pyignite.datatypes.complex.WrappedDataObject`            |
 +-------------+--------------------+-------------------------------+------------------------------------------------------------------+
 
-.. _Byte: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-byte
-.. _Short: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-short
-.. _Int: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-int
-.. _Long: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-long
-.. _Float: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-float
-.. _Double: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-double
-.. _Char: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-char
-.. _Bool: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-bool
-.. _Null: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-null
-.. _String: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-string
-.. _UUID: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-uuid-guid-
-.. _Timestamp: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-timestamp
-.. _Date: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-date
-.. _Time: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-time
-.. _Decimal: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-decimal
-.. _Enum: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-enum
-.. _Byte array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-byte-array
-.. _Short array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-short-array
-.. _Int array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-int-array
-.. _Long array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-long-array
-.. _Float array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-float-array
-.. _Double array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-double-array
-.. _Char array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-char-array
-.. _Bool array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-bool-array
-.. _String array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-string-array
-.. _UUID array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-uuid-guid-array
-.. _Timestamp array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-timestamp-array
-.. _Date array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-date-array
-.. _Time array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-time-array
-.. _Decimal array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-decimal-array
-.. _Object array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-object-collections
-.. _Collection: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-collection
-.. _Map: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-map
-.. _Enum array: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-enum-array
-.. _Binary enum: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-binary-enum
-.. _Wrapped data: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-wrapped-data
-.. _Complex object: https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-complex-object
+.. _Byte: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#byte
+.. _Short: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#short
+.. _Int: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#int
+.. _Long: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#long
+.. _Float: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#float
+.. _Double: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#double
+.. _Char: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#char
+.. _Bool: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#bool
+.. _Null: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#null
+.. _String: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#string
+.. _UUID: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#uuid-guid
+.. _Timestamp: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#timestamp
+.. _Date: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#date
+.. _Time: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#time
+.. _Decimal: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#decimal
+.. _Enum: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#enum
+.. _Byte array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#byte-array
+.. _Short array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#short-array
+.. _Int array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#int-array
+.. _Long array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#long-array
+.. _Float array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#float-array
+.. _Double array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#double-array
+.. _Char array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#char-array
+.. _Bool array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#bool-array
+.. _String array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#string-array
+.. _UUID array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#uuid-guid-array
+.. _Timestamp array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#timestamp-array
+.. _Date array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#date-array
+.. _Time array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#time-array
+.. _Decimal array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#decimal-array
+.. _Object array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#object-collections
+.. _Collection: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#collection
+.. _Map: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#map
+.. _Enum array: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#enum-array
+.. _Binary enum: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#binary-enum
+.. _Wrapped data: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#wrapped-data
+.. _Complex object: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#complex-object
diff --git a/docs/examples.rst b/docs/examples.rst
index 07ec65c..97facdb 100644
--- a/docs/examples.rst
+++ b/docs/examples.rst
@@ -206,6 +206,51 @@
   :dedent: 4
   :lines: 56-65
 
+
+Transactions
+------------
+File: `transactions.py`_.
+
+Client transactions are supported for caches with
+:py:attr:`~pyignite.datatypes.cache_config.CacheAtomicityMode.TRANSACTIONAL` mode.
+
+Let's create transactional cache:
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 81-84
+
+Let's start a transaction and commit it:
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 87-91
+
+Let's check that the transaction was committed successfully:
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 93-94
+
+Let's check that raising exception inside `with` block leads to transaction's rollback
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 97-107
+
+Let's check that timed out transaction is successfully rolled back
+
+.. literalinclude:: ../examples/transactions.py
+  :language: python
+  :dedent: 8
+  :lines: 110-120
+
+See more info about transaction's parameters in a documentation of :py:meth:`~pyignite.client.Client.tx_start`
+
 SQL
 ---
 File: `sql.py`_.
@@ -717,6 +762,7 @@
 .. _read_binary.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/read_binary.py
 .. _create_binary.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/create_binary.py
 .. _migrate_binary.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/migrate_binary.py
+.. _transactions.py: https://github.com/apache/ignite-python-thin-client/blob/master/examples/transactions.py
 .. _Getting Started: https://ignite.apache.org/docs/latest/thin-clients/python-thin-client
 .. _PyIgnite GitHub repository: https://github.com/apache/ignite-python-thin-client/blob/master
 .. _Complex object: https://ignite.apache.org/docs/latest/binary-client-protocol/data-format#complex-object
diff --git a/docs/readme.rst b/docs/readme.rst
index 807865a..5fc76a7 100644
--- a/docs/readme.rst
+++ b/docs/readme.rst
@@ -181,8 +181,8 @@
 
 This is a free software, brought to you on terms of the `Apache License v2`_.
 
-.. _Apache Ignite: https://apacheignite.readme.io/docs/what-is-ignite
-.. _binary client protocol: https://apacheignite.readme.io/docs/binary-client-protocol
+.. _Apache Ignite: https://ignite.apache.org
+.. _binary client protocol: https://ignite.apache.org/docs/latest/binary-client-protocol/binary-client-protocol
 .. _Apache License v2: http://www.apache.org/licenses/LICENSE-2.0
 .. _virtualenv: https://virtualenv.pypa.io/
 .. _tox: https://tox.readthedocs.io/en/latest/
diff --git a/examples/transactions.py b/examples/transactions.py
new file mode 100644
index 0000000..895837c
--- /dev/null
+++ b/examples/transactions.py
@@ -0,0 +1,134 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import asyncio
+import sys
+import time
+
+from pyignite import AioClient, Client
+from pyignite.datatypes import TransactionIsolation, TransactionConcurrency
+from pyignite.datatypes.prop_codes import PROP_CACHE_ATOMICITY_MODE, PROP_NAME
+from pyignite.datatypes.cache_config import CacheAtomicityMode
+from pyignite.exceptions import CacheError
+
+
+async def async_example():
+    client = AioClient()
+    async with client.connect('127.0.0.1', 10800):
+        cache = await client.get_or_create_cache({
+            PROP_NAME: 'tx_cache',
+            PROP_CACHE_ATOMICITY_MODE: CacheAtomicityMode.TRANSACTIONAL
+        })
+
+        # starting transaction
+        key = 1
+        async with client.tx_start(
+                isolation=TransactionIsolation.REPEATABLE_READ, concurrency=TransactionConcurrency.PESSIMISTIC
+        ) as tx:
+            await cache.put(key, 'success')
+            await tx.commit()
+
+        # key=1 value=success
+        val = await cache.get(key)
+        print(f"key=1 value={val}")
+
+        # rollback transaction.
+        try:
+            async with client.tx_start(
+                    isolation=TransactionIsolation.REPEATABLE_READ, concurrency=TransactionConcurrency.PESSIMISTIC
+            ):
+                await cache.put(key, 'fail')
+                raise RuntimeError('test')
+        except RuntimeError:
+            pass
+
+        # key=1 value=success
+        val = await cache.get(key)
+        print(f"key=1 value={val}")
+
+        # rollback transaction on timeout.
+        try:
+            async with client.tx_start(timeout=1.0, label='long-tx') as tx:
+                await cache.put(key, 'fail')
+                await asyncio.sleep(2.0)
+                await tx.commit()
+        except CacheError as e:
+            # Cache transaction timed out: GridNearTxLocal[...timeout=1000, ... label=long-tx]
+            print(e)
+
+        # key=1 value=success
+        val = await cache.get(1)
+        print(f"key=1 value={val}")
+
+        # destroy cache
+        await cache.destroy()
+
+
+def sync_example():
+    client = Client()
+    with client.connect('127.0.0.1', 10800):
+        cache = client.get_or_create_cache({
+            PROP_NAME: 'tx_cache',
+            PROP_CACHE_ATOMICITY_MODE: CacheAtomicityMode.TRANSACTIONAL
+        })
+
+        # starting transaction
+        with client.tx_start(
+                isolation=TransactionIsolation.REPEATABLE_READ, concurrency=TransactionConcurrency.PESSIMISTIC
+        ) as tx:
+            cache.put(1, 'success')
+            tx.commit()
+
+        # key=1 value=success
+        print(f"key=1 value={cache.get(1)}")
+
+        # rollback transaction.
+        try:
+            with client.tx_start(
+                    isolation=TransactionIsolation.REPEATABLE_READ, concurrency=TransactionConcurrency.PESSIMISTIC
+            ):
+                cache.put(1, 'fail')
+                raise RuntimeError('test')
+        except RuntimeError:
+            pass
+
+        # key=1 value=success
+        print(f"key=1 value={cache.get(1)}")
+
+        # rollback transaction on timeout.
+        try:
+            with client.tx_start(timeout=1.0, label='long-tx') as tx:
+                cache.put(1, 'fail')
+                time.sleep(2.0)
+                tx.commit()
+        except CacheError as e:
+            # Cache transaction timed out: GridNearTxLocal[...timeout=1000, ... label=long-tx]
+            print(e)
+
+        # key=1 value=success
+        print(f"key=1 value={cache.get(1)}")
+
+        # destroy cache
+        cache.destroy()
+
+
+if __name__ == '__main__':
+    print("Starting sync example")
+    sync_example()
+
+    if sys.version_info >= (3, 7):
+        print("Starting async example")
+        loop = asyncio.get_event_loop()
+        loop.run_until_complete(async_example())
diff --git a/tests/common/test_transactions.py b/tests/common/test_transactions.py
index 0cfa46a..f4efba5 100644
--- a/tests/common/test_transactions.py
+++ b/tests/common/test_transactions.py
@@ -67,6 +67,7 @@
         PROP_NAME: 'tx_cache',
         PROP_CACHE_ATOMICITY_MODE: CacheAtomicityMode.TRANSACTIONAL
     })
+    time.sleep(1.0)  # Need to sleep because of https://issues.apache.org/jira/browse/IGNITE-14868
     yield cache
     cache.destroy()
 
@@ -77,6 +78,7 @@
         PROP_NAME: 'tx_cache',
         PROP_CACHE_ATOMICITY_MODE: CacheAtomicityMode.TRANSACTIONAL
     })
+    await asyncio.sleep(1.0)  # Need to sleep because of https://issues.apache.org/jira/browse/IGNITE-14868
     yield cache
     await cache.destroy()
 
