--- title: Features description: MadelineProto can do everything official clients can do, and more! image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png --- # Features MadelineProto can do everything official clients can do, and more! * It allows you to do everything official clients can do, programmatically! * It is [fully async](https://docs.madelineproto.xyz/docs/ASYNC.html)! * *It can make phone calls!* [See here for instructions](https://docs.madelineproto.xyz/docs/CALLS.html) * It can be proxied (MTProxy, HTTP, socks5 and more)! * It is very fast! * It can be easily serialized! * It featured update handling with callbacks or long polling! * Easy to use wrappers to upload/download files and call mtproto methods * Documentation for EVERY mtproto method! * Internal peer management: you can provide a simple bot API chat id or a username to send a message or to call other mtproto methods! * You can easily login as a user (2FA is supported) or as a bot! * Simple error handling! * It is highly customizable with a lot of different settings! * Bot API file id/object support (even for users)! * A Lua binding * A lua wrapper for td-cli scripts * Secret chats * MTProto 2.0 * PFS * PFS in secret chats * [Clickable inline buttons](https://docs.madelineproto.xyz/docs/INLINE_BUTTONS.html)! Next section