Skip to main content
The sandbox runs on its own domain, with its own data. All money on the /v2 sandbox is test money. A /v2 sandbox request cannot move real funds. Sandbox keys and production keys are one group. Both start with jz_live_. The base URL selects test money or real money. Keep the two keys apart, and label each key clearly. The steps to get a sandbox key are the same as on /v1. See Test in the sandbox.
Jenzy operations must enable /v2 for your org in the sandbox, as in production. Until then, each /v2 request gets 404.

Add test funds

A payout draws down a balance, so you must fund the balance first. In the sandbox you simulate the collection yourself.
A 202 means that the sandbox accepted the request. The money credits in about one minute, through the ordinary collection path. The credit is a real collection in every way that changes your code. It appears in GET /v2/collections, it credits your balance, and it sends collection.settled to your endpoint.
This request is not idempotent. A 202 means that the collection is on its way. Do not send the request again. Read GET /v2/collections instead. A second request makes a second collection.If id is null, the sandbox got the request, but Hermes lost its answer. The money can still land. Poll GET /v2/collections. Do not send the request again.
You can also do this in the sandbox dashboard. Open Multi-asset → Funding coordinates and use Simulate a collection. This endpoint is sandbox only. In production it answers 403 with the code sandbox_only.

USD is the conversion asset in the sandbox

The sandbox has one extra asset, USD. It exists only in the sandbox. USD converts to USDT and to USDC at par, and back. This is the only conversion pair, and the only FX payout pair, that the sandbox supports. Use USD to test conversions. Fund USD with the simulator. Convert USD to USDT, and USDT back to USD. Your production code is the same, with a different fiat asset in the pair. GET /v2/assets in the sandbox lists USD. In production it does not.

What the sandbox can show

Fees in the sandbox follow the same schedule as production.

What the sandbox cannot show

Hermes fakes nothing in the sandbox. What the sandbox of the provider cannot do, Hermes cannot show you. For each gap, test in production with a small amount.
A hand-made event is a JSON body that you make yourself. Sign it with your sandbox secret and send it to your own endpoint. Take the shape from Webhooks and the resource pages. It tests your handler. It does not test Hermes.

Move to production

Your code does not change. Change the base URL, change the key, and remove USD from your asset list. The asset list of your org in production comes from GET /v2/assets. Then do the steps in Go live.