Introduction to Transactions
Through Profiles you were able to create a bunch of in-game accounts for your users and your own utility purposes. We’ve also explained how these in-game accounts can be funded with assets through minting. Before we dive into managing those assets within profiles, it’s good to have a general understanding about transactions.
Within the context of our SDK, a transaction is a transfer of assets from one profile to another - but since our underlying technology is blockchain, a transaction can also simply be explained as any on-chain transaction happening for your profiles (which are account abstractions).
Transactions and gas
Generally speaking, for every transaction that you make on Beam, a very tiny amount of BEAM is being used to handle that transaction. This also means that every transaction you make through our sdk will cost a fraction of BEAM - it’s up to you to decide whenever that BEAM will be sponsored by you, by the Profile for which you make the transaction or through creating a custom charge policy that charges the user an in-game asset to handle the transaction. What is best for you and your users completely depends on what type of game you’re making. Below you will find a couple of options we provide through the SDK for you to chose from. You could go a different direction with every transaction you make as, depending on the context.
It’s worth noting that Profile creation does not cost any gas initially. The on-chain account abstraction will actually be deployed during first transaction for that Profile. This will cause the initial transaction expenditure to be double the amount of a regular transaction.
Getting started with transactions
- Sponsored transactions: Learn about sponsored transactions for your users
- Profile-paid transactions: Learn about how to make a profile pay for it’s own transactions through BEAM
- Custom charges: A guide to managing and updating your game’s assets and details within Beam
- Custom transactions: Understand how to interact with any on-chain asset contract