Skip to main content
A collection is money that arrived on one of your balances. A bank transfer to your virtual account is a collection. A stablecoin transfer to your deposit address is a collection. Both use the same resource. Hermes credits your balance, sends collection.settled to your webhook endpoint, and adds the collection to GET /v2/collections. There is no work for you on the side of the payer.

Where to send fiat: virtual accounts

Your org has one virtual account for each fiat asset that Jenzy enabled for collections. GET /v2/virtual-accounts?asset=KES gives the coordinates. Give them to the person who pays you.
Jenzy operations makes the virtual account for you. You cannot make one from the API. A row with status: "pending" is not ready yet. Wait for status: "active" before you give the details to a payer. KES has two ways to pay. A payer at a bank sends a transfer to the account_number at the institution, over PesaLink, RTGS, or SWIFT. A payer on M-Pesa uses the paybill. The payer enters paybill_number as the business number, and your account_number as the account number. Both ways credit the same balance. asset=USDT on this endpoint gets 422. A stablecoin has no virtual account. It has a deposit address.

Where to send stablecoins: deposit addresses

POST /v2/deposit-addresses { "network": "tron" } gives you an address on that network. The first call makes the address. Each later call for the same network returns the same address. There is no Idempotency-Key.
  • An address is per network, not per asset. assets lists each stablecoin that the address takes. One ethereum address takes both USDT and USDC.
  • The networks are ethereum, solana, and tron. Hermes does not support another network, not even one that uses the same address form.
  • GET /v2/deposit-addresses lists your addresses.
A transfer below 1 USDT or 1 USDC does not arrive. Hermes never sees it, and it never becomes a collection. The money does not come back. Send 1 or more.Send only an asset in the assets list, on the network of the address. A different token on the same address does not become a collection.

The collection resource

Read collections with GET /v2/collections and GET /v2/collections/{id}. GET /v2/collections puts the newest collection first and uses keyset pagination. Filter with asset. The data field of the collection.settled event uses the same shape.
amount is what landed on your balance. It is one figure. There is no fee field and no gross figure. The collection fee that you agreed with Jenzy is already out of it. Your balance increases by exactly amount.

The source object

source tells you where the money came from. Its type mirrors the destination.type of a payout. A bank pay-in carries no payer identity. Hermes does not get the name or the account of the payer, so source has none. To match a pay-in to your own customer, use the amount and the time. Or give each customer a separate instruction. A paybill payment also shows as type: "bank". A wallet source names your own deposit address and its network. It does not name the address of the sender. network can be null for a short time while Hermes resolves it.

How to learn about a collection

Hermes sends exactly one collection.settled event for each movement of your balance. The delivery carries api_version: "v2". Process each event id one time only. After an outage, use GET /v2/collections to catch up. A poll and a webhook give the same data. A collection can take some minutes to appear after the payer sends the money. A stablecoin transfer appears after the network confirms it.

Reversals

Sometimes a provider takes a pay-in back after it settles. Hermes then sends you a collection.reversed event. The status of the collection changes to reversed on the read endpoints.
Use the event as the correct signal, and let your balance catch up.For a short time after a collection.reversed event, GET /v2/balances can read high. The provider already took the money back. A person in Jenzy operations posts the correction. Your available in that asset can go below zero, and then shortfall shows the gap.Do not give goods or services against a balance that includes a reversed collection. A reversal is not usual, and Jenzy always examines one.