Skip to main content
Hyparrow lets you give each of your customers a crypto wallet for holding and moving stablecoins across major networks. With one API key you can create wallets, read balances, send external transfers and list transaction history, all scoped to the customers belonging to your client account. All endpoints below live under the base path /api/v1 and are authenticated with your API key credentials:
Base URL is https://api.hyparrow.cloud/api/v1 in production. To test without moving real funds, point at the Sandbox, https://sandbox.hyparrow.cloud/api/v1, using a pk_test_ key. Wallet creation, balances and transfers are all simulated there.

Supported networks and tokens

Wallets are created on one of these networks (case-insensitive): Transfers move stablecoins:
Transfer amounts are denominated in USD (the dollar value of the stablecoin), sent as a string, for example "25.00" to send 25 USDC. The crypto network handles the on-chain mechanics.

Create a wallet, check balance and transfer

1

Create a wallet for a customer

POST /crypto/wallets with the customerId (a UUID of one of your customers), the network, and an optional label.
A 201 Created returns the new wallet, including its id (the walletId you’ll use everywhere else) and on-chain walletAddress:
Response
2

Check the balance

GET /crypto/wallets/{walletId}/balance returns the on-chain balances for the wallet.
cURL
Response
To list every wallet for a customer, use GET /crypto/customers/{customerId}/wallets.
3

Send a transfer

POST /crypto/transfer to move tokens out of a wallet to an external address. Specify the walletId, the amount in USD, the asset token and the destination address.
cURL
Response
A transfer is typically pending at first while it confirms on-chain. Track it with the transactions endpoint below.
4

List wallet transactions

GET /crypto/wallets/{walletId}/transactions returns the wallet’s transaction history, newest first.
cURL
Response

Edge cases

Creating a wallet on a network outside the table above returns 400 Bad Request with the list of supported networks. Likewise a transfer with an asset other than USDC or USDT returns 400 Bad Request.
customerId must reference a customer that belongs to your client account. An unknown or non-owned customer returns 404 Not Found.
Balance, transfer and transaction calls verify the wallet belongs to one of your customers. A wallet outside your account returns 403 Forbidden.
A transfer’s status starts as pending and settles once confirmed on the crypto network. Poll GET /crypto/wallets/{walletId}/transactions to follow it to completion.

Testing in the sandbox

In the Sandbox, wallet creation, balances and transfers are all simulated, no real chain calls and no real funds. Use a pk_test_ key against https://sandbox.hyparrow.cloud/api/v1. As with other payment flows, a transfer amount ending in .01 simulates a failed result and .99 simulates a pending one, so you can exercise both paths deterministically.