Fordefi supports creating several types of transactions, each with its own format. Since some flows are very common (for example, EVM revoke allowance transactions or Solana transfer transactions), there are special request formats that are used to make the creation process of such transactions quick and easy.
The following lists the requests that are allowed for each transaction type. Links lead to sample code.
- EVM transaction: A native currency transfer or a smart contract call on an EVM-based chain.
- EVM raw transaction - for general transactions
- EVM transfer - for transferring native currency or a token
- EVM revoke allowance - for revoking a spender’s allowance for a specific token
- EVM message: In which a message is signed for off-chain use on an EVM-based chain.
- Personal message - for EIP-191 messages
- Typed message - for EIP-712 messages
- Solana transaction: A list of instructions to invoke on a Solana-based chain.
- Solana raw transaction - for general transactions
- Solana transfer - for transferring native currency or an SPL token
- Cosmos transaction: A transaction in the Cosmos ecosystem on Cosmos Hub or one of the supported app chains.
- Cosmos raw transaction - for general transactions
- Black Box signature: In which a payload is signed for use, external to the Fordefi platform.
- Hash binary - for general payloads serialized as binary data
- Hash integer - for integer payloads
- Sui transaction: A list of commands to invoke on a Sui-based chain.
- Sui programmable transaction block - for general transactions
- Sui transfer - for transferring native currency or coins
- Aptos transaction: A payload to invoke on an Aptos-based chain.
- Aptos payload transaction - for general transactions
- TON transaction: A list of messages to send on a TON-based chain.
- TON transaction - for general transactions.
- TON transfer - for transferring native currency or jetton
Transactions and messages use only matching vault types
Transactions are created in the context of a vault. Hence, not all transaction types are supported for all vaults. A transaction or a message can be created only on a vault with the same chain type. For example, a
Bitcoin
transaction can be created only on a vault of typeBitcoin mainnet
orBitcoin testnet
.