This page is about Emerging Household Energy: transferring benefits to households with digital vouchers. A household receives a voucher backed by an emission reduction certificate, spends it with an approved supplier, and the supplier submits a claim with proof of delivery. The page covers the three steps of that lifecycle, the rules each step must pass, and how the CARBON tokens involved are converted onward.
The code on this page is an illustrative example. It shows the shape of the data and the calls,
and has not been run as a whole. The api.emerging.eco/v1 calls and the emerging Python client
are not part of the Emerging Platform API contract.
Who takes part
| Participant | Role |
|---|---|
| Household beneficiaries | Receive and spend CARBON credit tokens for emission reductions |
| Suppliers | Accept vouchers and submit verifiable claims |
| Implementers | Manage emission reduction projects and ITMO conversions |
| Regulators | Monitor and approve mitigation activities |
The voucher lifecycle
1. Issue a voucher
The voucher goes to a registered household and is backed by an emission reduction certificate.
Illustrative example:
curl -X POST https://api.emerging.eco/v1/vouchers/issue \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"recipientDid": "did:ixo:household/123",
"emissionCertificateId": "CERT-456",
"value": 100.00,
"attributes": {
"batchId": "BATCH-789",
"issuanceDate": "2024-03-15",
"expiryDate": "2024-12-31"
}
}'from emerging import Client
client = Client('YOUR_API_KEY')
voucher = client.vouchers.issue(
recipient_did="did:ixo:household/123",
emission_certificate_id="CERT-456",
value=100.00,
attributes={
"batch_id": "BATCH-789",
"issuance_date": "2024-03-15",
"expiry_date": "2024-12-31"
}
)2. Redeem it with a supplier
Illustrative example:
curl -X POST https://api.emerging.eco/v1/vouchers/redeem \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"voucherId": "VCHR-123",
"supplierDid": "did:ixo:supplier/456",
"amount": 50.00,
"productId": "PROD-789"
}'from emerging import Client
client = Client('YOUR_API_KEY')
redemption = client.vouchers.redeem(
voucher_id="VCHR-123",
supplier_did="did:ixo:supplier/456",
amount=50.00,
product_id="PROD-789"
)3. Submit the supplier's claim
The supplier claims for the redemption with a product delivery credential as proof.
Illustrative example:
curl -X POST https://api.emerging.eco/v1/claims \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"redemptionId": "REDM-123",
"verifiableCredential": {
"type": "ProductDeliveryCredential",
"proof": "..."
}
}'from emerging import Client
client = Client('YOUR_API_KEY')
claim = client.claims.submit(
redemption_id="REDM-123",
verifiable_credential={
"type": "ProductDeliveryCredential",
"proof": "..."
}
)Claims are decided by a decision oracle and the IXO decision engine. A decided claim is not, on its own, authority to pay. See Trust boundaries.
Validation rules
| Step | Rules |
|---|---|
| Issuance | The emission reduction certificate is valid. The recipient is a registered household. The value matches the verified reduction amount. |
| Redemption | The voucher is active and has not expired. The supplier is authorised. The amount does not exceed the available balance. The product is approved for the scheme. |
| Claim | The claim includes verifiable proof of delivery, aligns with the monitoring plan, and is submitted within the time limit. |
Voucher response
Illustrative example:
{
"id": "VCHR-123",
"status": "active",
"recipientDid": "did:ixo:household/123",
"emissionCertificateId": "CERT-456",
"value": 100.00,
"remainingBalance": 50.00,
"attributes": {
"batchId": "BATCH-789",
"issuanceDate": "2024-03-15",
"expiryDate": "2024-12-31"
}
}Errors
Invalid parameters or validation failure
Unauthorized access or invalid credentials
Forbidden operation (e.g., unauthorized supplier)
Resource not found
Conflict with existing state
How tokens are converted
CARBON tokens move through several conversions between suppliers, implementers and buyers of ITMOs. Tokens are minted, transferred and retired with the token module: see Tokens.
CARBON → USDC
Suppliers make claims to convert the CARBON tokens they received to USDC through the liquidity pool.
USDC → Local Currency
Suppliers convert USDC to local currency through payment processors.
USDC → CARBON
Implementers swap USDC for CARBON tokens through the liquidity pool.
CARBON → ITMO
Implementers convert CARBON tokens to ITMO claims, with on-chain transfer proofs.
ITMO → Fiat
Implementers convert ITMO claims and transfer proofs to ITMO certificates through the national registry. They receive fiat payments for the ITMO certificates through Mitigation Outcome Purchase Agreements (MOPA).
Fiat → USDC
Implementers convert fiat payments to USDC through a regulated exchange operator (Circle).
Security
Never expose API keys or private keys in client-side code. Run token conversions and claims processing on the server.
- All transactions are recorded on the Impact Hub blockchain.
- Multi-party controls govern the liquidity pool.
- Supplier applications need strong authentication.
- The flow complies with Article 6.2 ITMO regulations.
Next steps
- Domain registration: register a supplier for merchant integration.
- Household monitoring: verification and monitoring.
- Emerging Platform API: the documented API.