User Types
HIFI supports two types of users:| Type | Description | Use Cases |
|---|---|---|
| Individual | A natural person | Personal accounts, freelancers, employees |
| Business | A legal entity | Companies, NGOs, partnerships |
User Capabilities
What users can do depends on their verification status:Unverified Users
Unverified Users
Available immediately after creation:
- ✅ Receive cryptocurrency to their wallet addresses
- ✅ Send cryptocurrency to other HIFI users
- ✅ Transfer crypto to external wallets
- ❌ Fiat onramp (deposit USD to receive stablecoins)
- ❌ Fiat offramp (send stablecoins to receive USD)
KYC-Verified Users
KYC-Verified Users
All unverified capabilities, plus:
- ✅ Onramp fiat to stablecoins via virtual accounts
- ✅ Offramp stablecoins to fiat bank accounts
- ✅ Access to regulated fiat rails (USD, EUR, etc.)
- Complete KYC verification for desired rails
- Maintain active compliance status
User Lifecycle
Creation
Users are created in two steps:- Generate Terms of Service link - User must review and accept HIFI’s Terms of Service
- Create user record - Once terms are accepted, create the user with basic information
Verification
To unlock fiat rails, users must complete KYC (Know Your Customer) verification. KYC requirements vary by rail (USD, EUR, etc.) and include:- Personal information (name, date of birth, address, tax ID)
- Identity documents (passport, driver’s license, or ID card)
- Proof of address (in some cases)
- Sandbox: Typically auto-approved within minutes for testing (may be blocked by compliance checks like PEP screening)
- Production: 1-3 business days for manual review
Management
Users can be updated throughout their lifecycle to:- Update contact information
- Add or modify KYC data
- Link additional bank accounts
- Add virtual accounts for different currencies
User Wallets
Every user receives wallet addresses on supported blockchains automatically at creation. These wallets are:- Custodial - Managed by HIFI for security and compliance
- Multi-chain - Available on Polygon, Ethereum, Base, Solana, Flow and other supported networks
- Immediately active - Ready to send and receive crypto without additional setup
User Accounts
Users can have multiple account types for different purposes:| Account Type | Purpose | Direction |
|---|---|---|
| Virtual Account | Receive fiat deposits | Fiat → Crypto (onramp) |
| Offramp Account | Send fiat withdrawals | Crypto → Fiat (offramp) |
Key Concepts
Terms of Service
Terms of Service
Before creating a user, they must accept HIFI’s Terms of Service. This ensures compliance with data handling and regulatory requirements. The
signedAgreementId from the ToS acceptance is required when creating the user.Request IDs
Request IDs
All user creation requests require a
requestId (UUID). This ensures
idempotency - retrying the same request won’t create duplicate users.Rails & KYC
Rails & KYC
A “rail” is a payment corridor enabling conversions between specific fiat
currencies and stablecoins. For example, the USD rail allows conversion
between USD and USDC. Each rail has its own KYC requirements.
Sample Code
Create and verify a user
1
Generate ToS link
2
Create user (after ToS accepted)
3
Update KYC information
Provide required personal information:
4
Upload identity documents
First, upload the document files:Then attach the documents to the user’s KYC:
5
Submit KYC application
Submit for review once all information and documents are provided:
Check user capabilities
Determine what a user can do based on their KYC status:Get user details including wallet addresses
Get user details including wallet addresses
Check KYC status for specific rail
Check KYC status for specific rail
Getting Help
- 📧 Email: support@hifibridge.com
- 💬 Slack: Message us in our shared Slack channel
Related Resources
- Quickstart Guide - Step-by-step tutorial for creating and verifying users
- KYC Documentation - Detailed KYC requirements and process
- Virtual Accounts - Set up fiat deposit accounts
- Offramp Accounts - Configure withdrawal bank accounts
- API Reference: Users - Complete endpoint documentation