Skip to main content
support@hypermid.io — onboarding, production access, onramp credentials, and anything that is going wrong.

Reporting a failing request

Include the traceId from the error response:
That id is how we find your exact call in our logs. With it, a diagnosis is usually one lookup; without it, we are guessing from timestamps. If you have no traceId — a timeout, or nothing came back at all — send the endpoint, the approximate time with timezone, and your partner name.

Reporting a stuck payment

Send the session id (pay_…). If the payer already submitted a transaction, the transaction hash and its chain help too. Please do not send API keys, webhook signing secrets, or private keys; we never need them, and a support thread is a bad place for a secret. If you have already pasted one somewhere, tell us and we will reissue it.

Common things that are not bugs

Fiat needs onramp credentials on your account, per environment. Ask us to configure them — see Environments.
A sk_test_ key reaches testnets only and a sk_live_ key mainnets only. The error names which direction you hit.
Cross-chain routes are two transactions with a bridge between them. The destination leg appears when it lands; estimate.executionDuration is the expectation to set.
Almost always the body was re-serialized before hashing. Sign the raw bytes — see Webhooks.
There is no failure event. An unpaid session expires silently, so absence before expiresAt is the signal.