Create Wallet For Owner (Customer, Vendor, Merchant, Sub-Merchant, Or Treasury Multisig)
Provisions one custodial wallet on the requested network for customer, vendor, merchant, and sub_merchant (same table as POST /wallets).
Set provision_all_networks: true to also create wallets on the other supported networks (ethereum, tron, solana) in the same call. The requested network is primary in the response (wallet). When provision_all_networks is true, all created wallets are listed under wallets.
vendor is an alias for a master merchant (DB role vendor, no parent): send user_id only (same shape as customer).
For owner_type customer, admin may target any user_id. A MASTER VENDOR MAY ALSO USE CUSTOMER WITH THEIR OWN USER_ID FOR AN EXTRA WALLET. OTHER COMBINATIONS SHOULD USE VENDOR, MERCHANT, sub_merchant, OR admin.
treasury creates multisig custody on the requested network: BitGo multisig when custody provider is BitGo (including solana / bitgo_sol), otherwise requires multisig object (Gnosis Safe or TRON native) like POST /multisig/wallets.
asset selects the primary stablecoin label for UX. BALANCES ALWAYS INCLUDE NATIVE + USDT + USDC FOR THE NETWORK.
Callers may set default per network with PUT /api/v1/auth/wallet/id//set-default-network (or legacy set-default).
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
customer, treasury, merchant, sub_merchant, vendor ethereum, tron, solana Primary stablecoin for labeling. BALANCES INCLUDE BOTH STABLES.
USDT, USDC Required when owner_type is customer or vendor (same field for both: the users.id row receiving the wallet).
Admin may set this to any user id for customer (custodial wallet on that row).
Non-admin customer: target must be role customer or user and must be the authenticated user. A master vendor may use customer with their own user_id for an extra wallet.
vendor: user_id must be a master vendor (role vendor, no parent_vendor_id), normally the authenticated vendor.
Required when owner_type is treasury (role treasury). Creates multisig wallet.
Required when owner_type is merchant (master vendor).
Required when owner_type is sub_merchant (subvendor).
Custodial wallets only. DEFAULT HOT. IGNORED FOR TREASURY MULTISIG.
hot, cold When true, also provision custodial wallets on the other supported networks (ethereum, tron, solana). Default false — only network is created.
Required for treasury when custody is not BitGo (self-custody multisig).
Response
Wallet created
custodial, multisig BitGo multisig only.
BitGo multisig only (bitgo_evm
Present when provision_all_networks is true (ethereum, tron, solana).