Skip to main content
This feature is currently only available in the sandbox environment.
Tender’s subwallet offering lets you provision and manage a full wallet infrastructure for each of your end-users. You create a wallet per user, assign blockchain addresses, watch those addresses for incoming deposits, and initiate outbound transfers — all via your merchant API credentials, without your users ever touching Tender directly.

How it works

1

Create a wallet

Provision a wallet tied to a unique reference you supply — typically your own user ID. Tender returns the wallet’s initial set of blockchain addresses.
2

Add addresses

Create additional addresses on specific networks for an existing wallet. You can group addresses under a named reference to represent separate deposit slots or assets.
3

Watch for deposits

Register each address with Tender’s deposit monitor. When a deposit arrives, Tender fires a SUB_USER_WALLET_TRANSACTION_DETECTED webhook to your server with the full transaction details.
4

Initiate transfers

Send funds from a subwallet address to any destination. Pass chain and currency — Tender resolves whether to use a native coin or token transfer internally. Tender confirms the on-chain transaction and fires a SUB_USER_WALLET_TRANSFER_CONFIRMED webhook when it settles.

Prerequisites

Authentication guide

These endpoints use Signed (HMAC) authentication — an HMAC-SHA256 signature is required on every request. See the authentication guide for code examples.

Step 1 — Create a wallet

Call POST /wallet with a reference that uniquely identifies the end-user within your merchant account. Tender provisions a wallet and returns its blockchain addresses immediately. Store the reference — you will use it in every subsequent call for that user.

Create Wallet

Full parameters and response schema for POST /wallet

Step 2 — Add addresses to the wallet

Call POST /wallet/address with the wallet_reference, an address_reference label of your choice, and the list of networks you want addresses on. The new addresses are merged into the wallet alongside any existing ones.

Create Address

Full parameters and response schema for POST /wallet/address

Step 3 — Watch for deposits

Call POST /wallet/filter with the address and the chains to monitor. Once registered, Tender watches that address on-chain and fires a SUB_USER_WALLET_TRANSACTION_DETECTED webhook to your server whenever a deposit is detected. Webhook payload fields:
Treat a deposit as settled only when confirmed is true or confirmations >= confirmationsRequired.

Add Deposit Filter

Full parameters and response schema for POST /wallet/filter

Step 4 — Initiate a transfer

Call POST /wallet/transfer with chain, currency, sender, receiver, amount, and your own merchant_reference. Tender automatically routes to a native coin or token transfer based on the currency. The response returns a tx_id immediately; the transfer settles asynchronously. Supported chains: ethereum, tron, bitcoin

Transfer Funds

Full parameters and response schema for POST /wallet/transfer
When the transfer confirms on-chain, Tender fires a SUB_USER_WALLET_TRANSFER_CONFIRMED webhook to your server.

Utility operations


Webhook events

See Webhooks for how to configure your endpoint and verify payloads.