The cost of a specific transaction on the blockchain is dependent on complexity of that transaction. The complexity of a transaction is expressed in the amount of "gas" that is required to execute this transaction. A more complex transaction, requires a higher gas-amount.
This means that the fee that needs to be paid for a specific transaction is the following:
fee-for-a-transaction = amount-of-gas-needed * gas-price-at-that-moment
To retrieve the gas needed to execute a certain blockchain transaction, the build transaction
endpoint can be used.
This endpoint adds all the necessary details to a generic transaction request, like the necessary GAS fees, etc.
Example
Request
Copy POST https://api-wallet.venly.io/api/transactions/build
Copy {
"type": "TRANSFER",
"secretType": "MATIC",
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"to": "0x2Eaf85AF290759770CF98BF83aa640DC2A63daDf",
"value": 10
}
Response
Copy {
"success": true,
"result": {
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"gasPrice": 20000000000,
"gas": 21000,
"value": 10000000000000000000,
"to": "0x2Eaf85AF290759770CF98BF83aa640DC2A63daDf",
"type": "MATIC_TRANSACTION"
}
}
Note that:
gas
represents the maximum amount of gas you allow to be spent on this transaction
gasPrice
is the price for one unit of gas
Transaction Request
The following transaction types can be used when building a transaction:
TRANSFER
Copy {
"type": "TRANSFER",
"secretType": "MATIC",
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"to": "0x2Eaf85AF290759770CF98BF83aa640DC2A63daDf",
"value": 10
}
GAS_TRANSFER
Copy {
"type": "GAS_TRANSFER",
"secretType": "MATIC",
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"to": "0x2Eaf85AF290759770CF98BF83aa640DC2A63daDf",
"value": 10
}
TOKEN_TRANSFER
Copy {
"type": "TOKEN_TRANSFER",
"secretType": "ETHEREUM",
"tokenAddress": "0x07865c6e87b9f70255377e024ace6630c1eaa37f",
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"to": "0x2Eaf85AF290759770CF98BF83aa640DC2A63daDf",
"value": 1
}
NFT_TRANSFER
Copy {
"type": "NFT_TRANSFER",
"secretType": "ETHEREUM",
"tokenAddress": "0x77f57f9ac6c52ce5aa9d19a57d0aee82be7e73f9",
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"to": "0x2Eaf85AF290759770CF98BF83aa640DC2A63daDf",
"tokenId": 1
}
CONTRACT_EXECUTION
Copy {
"type": "CONTRACT_EXECUTION",
"walletId": "2b358962-4467-4f41-ab93-2b6395d8ae16",
"to": "0xdc71b72db51e227e65a45004ab2798d31e8934c9",
"secretType": "ETHEREUM",
"functionName": "transfer",
"value": 1,
"inputs": [{
"type": "address",
"value": "0x80cbb6c4342948e5be81987dce8251dbedd69138"
}, {
"type": "uint256",
"value": 73680000
}]
}