Fund Transaction Updates

Platform’s leveraging the Fund endpoints can subscribe to webhooks to receive real-time updates. There are the following scenarios:

  • Complete: The Fund Event has completed successfully. The deposited crypto has been automatically and successfully converted to fiat.
  • Not complete - Asset not supported: The Fund Event was not completed successfully. The crypto asset deposited is no longer supported by the product.
  • Not complete - Platform not enabled: The Fund Event was not completed successfully. The Platform is no longer configured to use the product.
  • Not complete - Deposit above maximum: The Fund Event was not completed successfully. Zero Hash offers the ability for platforms to define a maximum deposit amount. If that's exceeded upon a deposit, the Platform will receive a webhook.
  • Not complete - Deposit not converted due to depeg: Stablecoins are only auto-converted to fiat when the stablecoin is properly pegged to it's reference asset. If a stablecoin is received and it is deemed depegged, the auto-conversion will not take place and the Platform will receive a webhook.
  • Not complete - Deposit not converted due to compliance reasons: There are certain compliance-related scenarios that will lead to a failed fund event. If they are triggered, funds will not sit in the Customer's account, but will instead be converted to a Zero Hash-controlled holding account

Field Definitions:

ParameterDescriptionType
participant_codeEnd customer's participant codestring
fund_assetThe crypto asset that was sent by the end customer in order to fund an accountstring
rateThe rate at which the fund_asset was liquidated atstring
quoted_currencyThe asset that the provided funding_rate was denominated in, and will ultimately be converted into automatically upon a depositstring
source_addressThe address that the end customer deposited the crypto asset fromstring
deposit_addressThe address that the end customer deposited the crypto asset tostring
quantityThe amount, denominated in the fund_asset, that was fundedstring
notionalThe amount, denominated in the quoted_currency, that was fundedstring
fund_idThe Zero Hash-generated unique identifier associated with a executed fund eventstring
fund_timestampThe UNIX timestamp of when the fund event was completednumber
transaction_idThe on-chain transaction id associated with the depositstring
account_labelThe account_label where the deposit was credited tostring
successA boolean field to indicate the success of the transactionstring
status_reasonReason that the fund event failedstring

Complete Example

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "1",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "500",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": true,
  "status_reason" : ""
}

Not Complete - Asset not supported

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": false,
  "status_reason" : "Asset not supported by this product. The deposit has not been converted to fiat and the crypto has been credited to the customer's account"
}

Not Complete - Platform not enabled

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": false,
  "status_reason" : "Your platform is no longer configured to use this product. The deposit has not been converted to fiat and the crypto has been credited to the customer's account"
}

Not Complete - Deposit above maximum

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": false,
  "status_reason" : "deposit above maximum threshold. The deposit has not been converted to fiat and the crypto has been credited to the customer's account"
}

Not Complete - Deposit below minimum

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": false,
  "status_reason" : "deposit below minimum threshold. The deposit has not been converted to fiat and the crypto has been credited to the customer's account"
}

Not Complete - Deposit not converted due to depeg

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": false,
  "status_reason" : "USDC conversions are currently halted. The deposit has not been converted to fiat and the crypto has been credited to the customer's account"
}

Not Complete - Deposit not converted due to compliance reasons

{
  "participant_code": "CUST01",
  "fund_asset": "USDC",
  "rate": "",
  "quoted_currency": "USD",
  "source_address": "0x3A45a60c62EE6cD616B1C4510404Eba88116044I", 
  "deposit_address": "0x3A45a60c635E6cD616B1C4510404Eba88116050C",
  "quantity": "500",
  "notional": "",
  "fund_id": "5155f7c9-95cb-4556-ab89-c178943a7111",
  "fund_timestamp": 1550174574,
  "transaction_id": "a07407e8f98c21b037b4aa0cbc852b8489c5e122fcc3d4b33b7827d0605ad8ff",
  "account_label": "general",
  "success": false,
  "status_reason" : "For Zero Hash Compliance reasons, the deposit has not been converted to fiat and the crypto has been credited to a Zero Hash holding account"
}