Read a contract

Endpoint that allows you to read contract functions.

🚧

This function is only available for EVM-based chains.

Request Endpoint: reference

This endpoint allows you to read contract functions. This function is only available for EVM-based chains.

POST /api/contracts/read
ParameterParam TypeDescriptionData TypeMandatory
secretTypeBodyOn which blockchain the contract existsString✅
contractAddressBodyThe contract address that you want to readString✅
functionNameBodyThe contract function that you want to callString✅
inputsBodyTArray of inputs needed to call the functionArray✅
inputs.typeBodyType of the input parameter (ex. uint256)String✅
inputs.valueBodyValue of the input parameter. This needs to be passed as a string valueObject✅
outputsBodyAn array of expected outputsArray✅
outputs.typeBodyType of outputString✅

Examples

1. Get balance of

This example will get the balance of a certain NFT for a specific wallet.

POST https://api-wallet.venly.io/api/contracts/read

Request Body:

{ "secretType": "MATIC", "walletAddress": "0x0000000000000000000000000000000000000000", "contractAddress": "0xE80F3baA739c18fd4eBf97716529a4b85BE464Dd", "functionName": "balanceOf", "inputs": [ { "type": "address", "value": "0x427d0addaa77d8bb871dbea3458dea4b5198730c" }, { "type": "uint256", "value": "202" } ], "outputs": [ { "type": "uint256" } ] }

Response Body:

{ "success": true, "result": [ { "type": "uint256", "value": 1 } ] }

2. Get Mint Number

This example will get the mint number for a specific NFT.

POST https://api-wallet.venly.io/api/contracts/read

Request Body:

{ "secretType": "MATIC", "walletAddress": "0x0000000000000000000000000000000000000000", "contractAddress": "0xf86013ac3a23d26efb3337b4d63de6e6ec2a9861", "functionName": "mintNumber", "inputs": [ { "type": "uint256", "value": "51" } ], "outputs": [ { "type": "uint256" } ] }

Response Body:

{ "success": true, "result": [ { "type": "uint256", "value": 2 } ] }

3. Get Contract URI

This example will fetch the contract URI, which contains the metadata, for a specific contract.

POST https://api-wallet.venly.io/api/contracts/read

Request Body:

{ "secretType": "MATIC", "walletAddress": "0x0000000000000000000000000000000000000000", "contractAddress": "0x8c53de6a889cf0a3151168c3e84263c982d09a2f", "functionName": "contractURI", "outputs": [ { "type": "string" } ] }

Response Body:

{ "success": true, "result": [ { "type": "string", "value": "https://metadata.arkane.network/api/apps/0ed3a778-4f11-4cdf-b3cc-45f3225a9065/contracts/76/metadata" } ] }

Did this page help you?