Gas station usage questions

Hey guys
We’re developing a wallet for gamers which will help users to avoid interacting with blockchain inconveniences as much as possible (paying gas, cross-chain stuff etc.)
We are looking for usage of Fireblocks Gas station (with a Fireblocks custody for sure).
Here’s a list of questions from our dev team.

  • Does Fireblocks support something like Account Abstraction out of the box?
  • We need smart accounts for gas-less txs
    • We want to pay gay with ERC20 tokens
  • Project potentially will create many thousands of sub wallets. Can we do that using one Vault account in Fireblocks?
  • Are the wallets permanent and can not be changed anytime by Fireblocks without our approval and need?
  • Gas station operations whitelist support?
  • Can we pay fees with tokens not included into Fireblocks Gas station token whitelist? Our own custom tokens?
  • Not enough docs provided of how to exactly use gas station in our projects. Are there any open sourced examples of best practices or etc?
  • We see that Fireblocks allows us to group txs into a single one, but can we see the resulting gas spends separately?

We hope somebody will be able to answer our questions. Thanks

Hey @indigonico,

Account abstraction is not supported out of the box due to the fact that Fireblocks wallets are EOA wallets. You can achieve some features of account abstraction by using our typed message signing API with a combination of open source libraries.
We are just about to release an example guide in a few days. I’ll link it here once it’s out.

Every ETH account has to be created in a separate vault account since every vault account can have only 1 wallet per asset (this is the case for account based assets only).
These wallets are permanent EOA accounts and cannot be changed by Fireblocks.

Fireblocks Gas Station works in the following way:
Once enabled, your workspace is allocated a dedicated Gas Station account, which you’ll need to fund with all relevant base assets.
When an initial deposit is detected in an auto-fueling-enabled vault account, Fireblocks automatically transfers gas to the account for future transaction fees. Whenever a withdrawal or deposit is detected, Fireblocks checks the balance of the vault account and transfers gas if it is below the set threshold.
Basically it allows you to hold ERC20 tokens in any vault account without being worried of manually transferring any base asset such as ETH before any withdrawal operation.

In regards to grouping transactions, this is possible only for UTXO based assets such as BTC since this is allowed on the protocol level. Account based assets’ transaction cannot be grouped natively unless you are executing a smart contract call to a contract that allows you batching.
Calling custom functions on any smart contract can be achieved by either directly calling our API with the encoded contract call data or alternatively by using our web3 tools such as the web3 provider.