3. API Endpoints

1. Mint Impact Certificate API Version1

Endpoint

POST https://4vnprobuo7.execute-api.ap-south-1.amazonaws.com/production/v1/mintRequest

Description This API endpoint is used for sending request to mint an Impact Certificate (IC) for a completed project. Users recieve a request id for all the successful requests made that can be used to fetch the mint status of the impact certificate.

Request Body

{
  "projectName": "Sample Project",
  "projectStartDate": "2025-09-18T13:40:40",
  "projectEndDate": "2025-09-25T13:40:40",
  "backerName": "Sample Organisation",
  "backerLogo": "https://orgwebsite.org/sample_image.png",
  "projectDescription": "This project was carried out in Bengaluru to promote rainwater harvesting. Over 20000 households setup rainwater harvesting which can    potentially lead to 4000000 litres of water being harvested",
  "totalFundsDeployedUSD": 50000,
  "totalImpactPointsAllocated": 2000000,
  "impactCoresAffected": ["Water", "Earth", "Energy", "Social"],
  "SDGsAffected": ["Zero hunger", "No poverty"],
  "bountyTypeWisePassAndFailCount": [
    {
      "type": "Design",
      "passCount": 20,
      "failCount": 5
    },
    {
      "type": "Code",
      "passCount": 23,
      "failCount": 2
    }
  ],
  "paymentTransactionBlockchain": "arbitrum",
  "paymentTransactionHash": "0x9f3a1c7b4e2d90f5b8c3a6e12d7f4b0c5a9e8f1d2c3b4a5e6f7091a2b3c4d5e",
  "paymentTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
  "mintBlockchain": "arbitrum",
  "receiverAddress": "0x7c4e9a3f82b5d1a6c2f08b34e9d7ab1938f5e247"
}

Field Descriptions

Field
Type
Description

projectName

string

Name of the project carried out.

projectStartDate

datetime

Start date of project execution in ISO format.

projectEndDate

datetime

End date of the project in ISO format.

backerName

string

Name of the organization that initiated the project.

backerLogo

string

URL corresponding to logo of the organization that initiated the project.

projectDescription

string

Summary of the work done under the project.

totalFundsDeployedUSD

number

Total funds utilized for the project in USD.

totalImpactPointsAllocated

number

Total points allocated to contributors of this project.

impactCoresAffected

array[string]

List of impact cores affected by the project. Options:[Water, Earth, Energy, Social].

SDGsAffected

array[string]

Sustainable development goals achieved by the project. See full list of Sustainable Development Goals (SDGs).

bountyTypeWisePassAndFailCount

array[object]

Distribution of valid and invalid bounty submission counts by bounty type. See full list of supported bounty types

paymentTransactionBlockchain

string

Blockchain used for payment. See full list of supported blockchains

paymentTransactionHash

string

Transaction hash corresponding to the mint fee payment.

paymentTokenAddress

string

Address of the token used for the payment.

mintBlockchain

string

Blockchain on which the impact certificate is to be minted.

receiverAddress

string

Address that will receive the minted impact certificate.

Success Responses

200
{
  "requestId": "kR5vhGpUU6PTEy5033ffadYfZY7ka6Rq",
  "tokenId": 7,
  "imageUri": "https://gateway.irys.xyz/Db7uJ1MH0NQdYYI3U7ti14Bh9owPVKesS-qxfWlabcd",
  "metadataUri": "https://gateway.irys.xyz/W8-xVTnO3xcsl_Cn1am2a_pKjlYN_8Qyv_Vxp5nabcd"
}

Failure Responses

400
{
  "message": "Invalid payment details: Payment transaction is already used for minting"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Transaction receipt not found"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Mint fee not sent to the expected address"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Insufficient fee paid for minting"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Transaction hash does not correspond to mint request fee payment"
}
400
{
  "message": "Invalid payment details: Invalid token specified for payment"
}
400
{
  "message": "Invalid payment details: Invalid transaction hash specified"
}

2. Mint Impact Certificate API Version2

Endpoint

POST https://4vnprobuo7.execute-api.ap-south-1.amazonaws.com/production/v2/mintRequest

Description This API endpoint is used for sending request to mint an Impact Certificate (IC) for a completed project. This is version2 impact certificate and allows users to specify only a single SDG, the SDG sub-target that the project achieved and impact metric corresponding to the sub-target. Users recieve a request id for all the successful requests made that can be used to fetch the mint status of the impact certificate.

Request Body

{
  "projectName": "Sample Project",
  "projectStartDate": "2025-09-18T13:40:40",
  "projectEndDate": "2025-09-25T13:40:40",
  "backerName": "Sample Organisation",
  "backerLogo": "https://orgwebsite.org/sample_image.png",
  "projectDescription": "This project was carried out in Bengaluru to promote rainwater harvesting. Over 20000 households setup rainwater harvesting which can    potentially lead to 4000000 litres of water being harvested",
  "totalFundsDeployedUSD": 50000,
  "impactCoresAffected": ["Water", "Earth", "Energy", "Social"],
  "impactBrief": {
        "SDG": "Zero hunger",
        "subTarget": "Sustainable food production",
        "impactIndicator": "Number of small-scale farmers with productivity increase: 5"
    },
  "paymentTransactionBlockchain": "arbitrum",
  "paymentTransactionHash": "0x9f3a1c7b4e2d90f5b8c3a6e12d7f4b0c5a9e8f1d2c3b4a5e6f7091a2b3c4d5e",
  "paymentTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
  "mintBlockchain": "arbitrum",
  "receiverAddress": "0x7c4e9a3f82b5d1a6c2f08b34e9d7ab1938f5e247"
}

Field Descriptions

Field
Type
Description

projectName

string

Name of the project carried out.

projectStartDate

datetime

Start date of project execution in ISO format.

projectEndDate

datetime

End date of the project in ISO format.

backerName

string

Name of the organization that initiated the project.

backerLogo

string

URL corresponding to logo of the organization that initiated the project.

projectDescription

string

Summary of the work done under the project.

totalFundsDeployedUSD

number

Total funds utilized for the project in USD.

impactCoresAffected

array[string]

List of impact cores affected by the project. Options:[Water, Earth, Energy, Social].

impactBrief

object

Summarizes the project's impact. Has three fields.

impactBrief.SDG

string

Specific Sustainable Development Goal targeted. See full list of Sustainable Development Goals (SDGs)

impactBrief.subTarget

string

impactBrief.impactIndicator

string

Quantifiable metric measuring the impact achieved.

paymentTransactionBlockchain

string

Blockchain used for payment. See full list of supported blockchains

paymentTransactionHash

string

Transaction hash corresponding to the mint fee payment.

paymentTokenAddress

string

Address of the token used for the payment.

mintBlockchain

string

Blockchain on which the impact certificate is to be minted.

receiverAddress

string

Address that will receive the minted impact certificate.

Success Responses

200
{
  "requestId": "kR5vhGpUU6PTEy5033ffadYfZY7ka6Rq",
  "tokenId": 7,
  "imageUri": "https://gateway.irys.xyz/Db7uJ1MH0NQdYYI3U7ti14Bh9owPVKesS-qxfWlabcd",
  "metadataUri": "https://gateway.irys.xyz/W8-xVTnO3xcsl_Cn1am2a_pKjlYN_8Qyv_Vxp5nabcd"
}

Failure Responses

400
{
  "message": "Specified sub-target does not match with the specified SDG"
}
400
{
  "message": "Invalid payment details: Payment transaction is already used for minting"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Transaction receipt not found"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Mint fee not sent to the expected address"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Insufficient fee paid for minting"
}
400
{
  "message": "Invalid payment details: Error while parsing the payment transaction hash: Transaction hash does not correspond to mint request fee payment"
}
400
{
  "message": "Invalid payment details: Invalid token specified for payment"
}
400
{
  "message": "Invalid payment details: Invalid transaction hash specified"
}

3. Check Impact Certificate Mint Status API

Endpoint

GET https://4vnprobuo7.execute-api.ap-south-1.amazonaws.com/production/v1/mintStatus?requestId=<request_id>

Description Fetches the mint status corresponding to the passed mint request ID. This endpoint is used to query mint status for all the mint requests, not just version1 mint requests.

Success Responses

200
{
  "status": "MINTED",
  "transactionHash": "0x9f3a1c7b4e2d90f5b8c3a6e12d7f4b0c5a9e8f1d2c3b4a5e6f7091a2b3c4d5e"
}
200
{
  "status": "REQUESTED"
}

Failure Responses

404
{
  "message": "No request found with the specified ID"
}

Possible Mint Request Statuses

  • REQUESTED → Request has been received.

  • MINTED → Impact certificate successfully minted.


Last updated