/v1/accounts/{account_hash}/module/{module_name} - Aptos
Example code for the /v1/accounts/{account_hash}/module/{module_name} JSON-RPC method. Сomplete guide on how to use /v1/accounts/{account_hash}/module/{module_name}json-rpc in GetBlock.io Web3 documen
This endpoint fetches detailed information about a single smart contract (module) deployed under a specific Aptos account. The response contains the module's bytecode and ABI, providing a complete description of its functions, structs, and on-chain logic.
Supported Network
Mainnet
Parameters
account_hash
string
Aptos account address.
Yes
Path
module_name
string
The name of the smart contract module.
Yes
Path
ledger_version
string
The ledger version to retrieve the module state. Optional parameter.
No
Query
Request
Base URL
https://go.getblock.io/<ACCESS_TOKEN>/
Example (cURL)
curl --location 'https://go.getblock.io/<ACCESS_TOKEN>/v1/accounts/0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12/module/curves'
Response
{
"bytecode": "0xa11ceb0b050000000b01000402040c03101e042e0c053a0f07497e08c701400687020a109102300ac1020a0ccb023e00000101000200000003000001090700000400000100000500010100000600010100000700010100010a000301000302040204040405020201020001010109000108020108000108010663757276657309747970655f696e666f06537461626c650c556e636f7272656c61746564126173736572745f76616c69645f63757276650969735f737461626c650f69735f756e636f7272656c617465640e69735f76616c69645f63757276650b64756d6d795f6669656c640854797065496e666f07747970655f6f66190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12000000000000000000000000000000000000000000000000000000000000000103081127000000000000126170746f733a3a6d657461646174615f76301c011127000000000000114552525f494e56414c49445f43555256450000020108010102010801000100000005380003040700270201010000000438013802210202010000000438013803210203010000010a380403030506080c00050838050c000b000200",
"abi": {
"address": "0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12",
"name": "curves",
"friends": [],
"exposed_functions": [
{
"name": "assert_valid_curve",
"visibility": "public",
"is_entry": false,
"is_view": false,
"generic_type_params": [{ "constraints": [] }],
"params": [],
"return": []
},
{
"name": "is_stable",
"visibility": "public",
"is_entry": false,
"is_view": false,
"generic_type_params": [{ "constraints": [] }],
"params": [],
"return": ["bool"]
},
{
"name": "is_uncorrelated",
"visibility": "public",
"is_entry": false,
"is_view": false,
"generic_type_params": [{ "constraints": [] }],
"params": [],
"return": ["bool"]
},
{
"name": "is_valid_curve",
"visibility": "public",
"is_entry": false,
"is_view": false,
"generic_type_params": [{ "constraints": [] }],
"params": [],
"return": ["bool"]
}
],
"structs": [
{
"name": "Stable",
"is_native": false,
"is_event": false,
"abilities": [],
"generic_type_params": [],
"fields": [{ "name": "dummy_field", "type": "bool" }]
},
{
"name": "Uncorrelated",
"is_native": false,
"is_event": false,
"abilities": [],
"generic_type_params": [],
"fields": [{ "name": "dummy_field", "type": "bool" }]
}
]
}
}
Response Parameter Definition
bytecode
string
Hex-encoded bytecode of the deployed module.
abi
object
ABI (Application Binary Interface) containing metadata for module interaction.
abi.address
string
Account address where the module is deployed.
abi.name
string
Name of the module.
abi.exposed_functions
array
List of public functions, including parameters, return types, and visibility.
abi.structs
array
Struct definitions with fields and type information.
Use Cases
This endpoint can be used to:
Retrieve module ABIs for building smart contract interaction interfaces.
Fetch module bytecode for on-chain security analysis and verification.
Display contract details in analytics dashboards or blockchain explorers.
Enable dApps to validate if a specific module exists before user interaction.
Code Examples
Python (requests)
import requests
url = "https://go.getblock.io/<ACCESS_TOKEN>/v1/accounts/0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12/module/curves"
response = requests.get(url)
print(response.text)
Node(Axios)
import axios from 'axios';
let config = {
method: 'get',
maxBodyLength: Infinity,
url: 'https://go.getblock.io/<ACCESS_TOKEN>/v1/accounts/0x190d44266241744264b964a37b8f09863167a12d3e70cda39376cfb4e3561e12/module/curves'
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Error Handling
403
Forbidden
Missing or invalid <ACCESS_TOKEN>
.
404
Resource not found
The specified module does not exist.
500
Internal server error
Node or network issue. Retry the request later.
Integration with Web3
By integrating /v1/accounts/{account_hash}/module/{module_name}
, developers can:
Retrieve module ABIs to construct transactions for smart contracts dynamically.
Validate wallet or dApp interactions by confirming module existence.
Fetch module bytecode for security inspection or automated audits.
Allow services or other contracts to interpret available structs and functions dynamically.
Last updated