TEROCARBON
  1. Notifications
TEROCARBON
  • Introduction
    • Welcome to Tero Carbon
    • Benefits of Integrating with Tero Carbon
  • Getting Started
    • Authentication
    • Base URLs
    • Rate Limiting
    • Webhooks
  • Core Concepts
    • Core Concepts Overview
    • Assets (Verified Carbon Units - VCUs)
    • OpenSea & CAD Trust Publication
    • Smart Contracts
  • Integration Workflow
    • 1. Onboarding & Setup
    • 2. Listing VCUs on the Marketplace (User Journey)
    • 3. Handling Internal Marketplace Transactions (Transfers & Retirements)
    • 4. Returning VCUs to Tero Carbon (Detokenization/Retokenization)
    • 5. Querying Public Data (CAD Trust)
  • API Endpoints
    • Marketplace Data
      • getProjectData
      • getIssuanceData
      • getUnitsData
    • Notifications
      • reportTransaction
        POST
    • CAD Trust Data
      • getProjectList
      • getIssuanceList
      • getUnitList
  • Policies & Legal
    • Legal Disclaimer
    • Privacy Policy
    • Asset Integrity Policy (Summary)
  • Resources
    • FAQ
    • Glossary
    • Support
    • Useful Links
  • Resources
  1. Notifications

reportTransaction

Developing
POST
http://stage.api.terocarbon.com:3000integration/v1/notify
Last modified:2025-04-29 13:01:27
Critical Endpoint. Used by the Marketplace to notify Tero Carbon about significant operations involving Tero VCUs that have occurred within the Marketplace's internal system. Tero Carbon uses these notifications to keep its master registry aligned and potentially update related metadata. This endpoint does not execute the operation on Tero's side, it only reports it. Approval/rejection of the reported event is communicated asynchronously via Webhook.
Operation Types Explained:
Tokenization: Notify Tero after your marketplace has internally tokenized VCUs deposited into your custody.
Transfer: Notify Tero after an internal transfer between users occurred on your platform.
Retire: Notify Tero after you have internally retired/burned VCU representations on your platform.
Detokenization: Notify Tero after you have internally detokenized/burned VCU representations before Tero re-tokenizes them back into a user's Tero account. Provide unitsAccountDestinationID. Tero will only re-tokenize whole tCO2e units based on unitsQuantity and unit.

Request

Body Params application/json

Example
{
    "marketplaceId": "string",
    "operationType": "retire",
    "unitId": 0,
    "issuanceId": 0,
    "transactionAmount": 0,
    "transactionUnit": "tCO2e",
    "transactionUnitPrice": "string",
    "transactionDescription": "string",
    "originWallet": "string",
    "originUserName": "string",
    "originUserEmail": "string",
    "originUserDocId": "string",
    "destinationWallet": "string",
    "destinationUserName": "string",
    "destinationUserEmail": "string",
    "destinationUserDocId": "string",
    "contractAddress": "string",
    "transactionReferenceId": "string",
    "transactionHash": "string",
    "publicNetworkChainId": "string",
    "publicNetworkName": "string",
    "unitsInternalAccountID": 0,
    "unitsAccountDestinationID": 0,
    "unitsRetirementNotes": "string",
    "transactionTimestamp": "2019-08-24T14:15:22Z",
    "marketplaceTransactionRef": "string",
    "detokenizationProof": "string"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://stage.api.terocarbon.com:3000integration/v1/notify' \
--header 'Content-Type: application/json' \
--data-raw '{
    "marketplaceId": "string",
    "operationType": "retire",
    "unitId": 0,
    "issuanceId": 0,
    "transactionAmount": 0,
    "transactionUnit": "tCO2e",
    "transactionUnitPrice": "string",
    "transactionDescription": "string",
    "originWallet": "string",
    "originUserName": "string",
    "originUserEmail": "string",
    "originUserDocId": "string",
    "destinationWallet": "string",
    "destinationUserName": "string",
    "destinationUserEmail": "string",
    "destinationUserDocId": "string",
    "contractAddress": "string",
    "transactionReferenceId": "string",
    "transactionHash": "string",
    "publicNetworkChainId": "string",
    "publicNetworkName": "string",
    "unitsInternalAccountID": 0,
    "unitsAccountDestinationID": 0,
    "unitsRetirementNotes": "string",
    "transactionTimestamp": "2019-08-24T14:15:22Z",
    "marketplaceTransactionRef": "string",
    "detokenizationProof": "string"
}'

Responses

🟢200Success
application/json
Body

Example
{
    "marketplaceId": "string",
    "operationType": "retire",
    "unitId": 0,
    "issuanceId": 0,
    "transactionAmount": 0,
    "transactionUnit": "tCO2e",
    "transactionUnitPrice": "string",
    "transactionDescription": "string",
    "originWallet": "string",
    "originUserName": "string",
    "originUserEmail": "string",
    "originUserDocId": "string",
    "destinationWallet": "string",
    "destinationUserName": "string",
    "destinationUserEmail": "string",
    "destinationUserDocId": "string",
    "contractAddress": "string",
    "transactionReferenceId": "string",
    "transactionHash": "string",
    "publicNetworkChainId": "string",
    "publicNetworkName": "string",
    "unitsInternalAccountID": 0,
    "unitsAccountDestinationID": 0,
    "unitsRetirementNotes": "string",
    "transactionTimestamp": "2019-08-24T14:15:22Z",
    "marketplaceTransactionRef": "string",
    "detokenizationProof": "string"
}
Modified at 2025-04-29 13:01:27
Previous
getUnitsData
Next
getProjectList
Built with