Opening a virtual account is requirements-driven. You open the group first and Hop tells you what is outstanding: Get Virtual Account Group returns a
requirements list, and you clear it item by item. There is no submit step.Accounts, groups and virtual accounts
An account is the business or person you open virtual accounts for. Its identity and associated persons are what gets verified, and its virtual accounts carry its name. A platform customer uses one account per end customer, created with Create Account. A group is what an account is verified and enabled through before it can hold virtual accounts. An account can hold several groups. Opening the same type again returns the existing group. A virtual account belongs to one group. A group can hold several, in any of its currencies, including more than one per currency.↳ Account type is set by the identity profile (
type: “business” | “individual”) and decides what else is required. A business entity is signed for by an associated person marked is_signer; an individual signs as itself and has no associated persons. Two gates stand between a new group and a usable one: the provider approves onboarding, then Hop enables the group.Youthe API callerHopautomaticBankpartner bank
Business account
- Identity
- 1YouPlatform customers: create the account for the end customer, with its identity and associated persons in the same callPOST/customers/{cid}/accounts acct_
- 2YouSet the account identity: legal name, registration number, incorporation date, registered addressPATCH/customers/{cid}/accounts/{aid}
- 3YouAdd the people behind the entity: at least one with
is_signerPOST/accounts/{aid}/associated-persons aap_ - Open the group
- 4YouOpen the group: safe to call before the identity is set, it just comes back with a requirementPOST/accounts/{aid}/virtual-account-groups vag_
- 5HopRaises the agreements the entity must signagr_
- Clear requirements
- 6YouRead what is outstanding. This list drives everything that followsGET/virtual-account-groups/{gid} requirements[]
- 7YouAccept the agreements, naming the signerPOST/{gid}/agreements/actions signer_id required
- 8YouUpload each requested document against its requirement keyPOST/{gid}/documents doc_
- Review
- 9HopSubmits the entity once nothing is outstanding. No call from youunder_review
- 10BankVerifies the entity and its people, then approves or asks for moreapproved · action_needed
- Go live
- 11HopEnables the group. Virtual accounts can now be createdstatus: enabled
- 12YouCreate a virtual account in the currency you needPOST/{gid}/virtual-accounts va_
- 13BankIssues the bank details; the virtual account leaves
pendingIBAN · account number
Individual account
- Identity
- 1YouPlatform customers: create the account for the end customer, with its identity in the same callPOST/customers/{cid}/accounts acct_
- 2YouSet the account identity: name, date of birth, nationality, address, tax residence and due-diligence answersPATCH/customers/{cid}/accounts/{aid}
- Open the group
- 3YouOpen the group. No associated persons are needed for an individualPOST/accounts/{aid}/virtual-account-groups vag_
- 4HopRaises the agreements the person must signagr_
- Clear requirements
- 5YouRead what is outstanding. For an individual this is profile fields and identity documentsGET/virtual-account-groups/{gid} requirements[]
- 6YouAccept the agreements: omit
signer_id, the person signs as themselvesPOST/{gid}/agreements/actions no signer_id - 7YouUpload each requested document against its requirement keyPOST/{gid}/documents doc_
- Review
- 8HopSubmits the person once nothing is outstanding. No call from youunder_review
- 9BankVerifies the person, then approves or asks for moreapproved · action_needed
- Go live
- 10HopEnables the group. Virtual accounts can now be createdstatus: enabled
- 11YouCreate a virtual account in the currency you needPOST/{gid}/virtual-accounts va_
- 12BankIssues the bank details; the virtual account leaves
pendingIBAN · account number
What each requirement means
Everything after the group is opened is driven by therequirements list on Get Virtual Account Group. Four kinds appear:
Saving an identity profile or an associated person resumes onboarding on its own, so poll the group rather than re-creating anything.