Before you start
You need three things from Hop, issued together when your organization’s KYC is approved:
The key needs
write on the accounts and payments scopes. Sandbox accounts are provisioned by Hop; ask for one with a funded trading account in the currency you want to test. Testing covers what else differs from production.
1. Sign a request
Every request carriesX-API-Key, X-Timestamp, X-Nonce and X-Signature; Authentication has the scheme. The helper below signs and sends a call and is used by every step that follows.
2. Read your balances
Python
200 confirms the key, the signature, your clock and the key’s scopes in one call. Note the currency you have funds in; the rest of this page uses USD.
3. Create a beneficiary
A beneficiary is who you are paying. This one is your own bank account, soself_owned is True: a payout funded from the trading account can only go to an account you own.
Python
4. Add a payout destination
A payout destination is the bank account or wallet under that beneficiary. Bank destinations areactive immediately.
Python
5. Create the payout
Python
pending payout is funded and queued; the money has not left yet.
6. Watch it complete
Register a webhook endpoint for the two terminal events:Python
secret before you discard the response; it is not returned again. Verify every delivery as described in Webhook security.
Without a receiver, poll instead:
Python
pending → processing → completed. Only the last step raises an event.
Next
Receive money
Bank details and wallet addresses that credit your balances.
Virtual accounts
Open named accounts with their own bank details.
Convert currency
Quote a conversion, then execute it before the quote expires.
End-to-end flows
Six journeys from first call to reconciliation.