
1. Authentication
1.1. call API to get Token with username and password
1.1.1. inlcude expire time
2. Identities
2.1. My end-user
2.2. Tier group
2.2.1. L0
2.2.1.1. Create and save payment methods
2.2.1.2. Perform "one time" purchases of NFTs (reoccurring purchases coming at a later date*
2.2.2. L1
2.2.2.1. Create accounts
2.2.2.2. Deposit/Withdrawal fiat to/from a Fortress account
2.2.2.3. Crypto buy/sell through Fortress's API
2.2.2.4. HOW
2.2.2.4.1. verified PII
2.2.3. L2
2.2.3.1. Crypto deposit/withdrawals in a Fortress account
2.2.3.2. HOW
2.2.3.2.1. verified PII and documentation
2.3. Flow onboarding new end-user
2.3.1. a
3. Accounts
3.1. One User(identity) can open multiple accounts
3.2. bucket
3.2.1. hold any fiat or digital asset in custody
3.3. Functionalities
3.3.1. Deposit/Withdraw
3.3.2. Trading between accounts
3.3.3. transaction history
3.4. Save payment method
3.4.1. are related to a particular identity
3.4.2. allowing an end-user to use saved payment methods across any of their accounts
3.5. Balances
3.5.1. Response
3.5.1.1. // response: { "data": [ { "assetType": "FiatCurrency", "assetFiatType": "USD", "disbursable": 410.00 } ] }
3.5.1.1.1. disbursable means the amount of money in the account that you can take action on such as a withdrawal, transfer, or buy
3.5.2. API
3.5.2.1. GET /api/trust/v1/custodial-accounts/{custodialAccountId}/balances
4. Fiat/Digital assets
5. payment methods (externalAccounts)
5.1. persistent objects linked to an identity
5.1.1. references a connected bank account/credit card
5.2. Fortress utilizes MX to connect end users to their bank accounts
5.3. Once the setup flow with MX is complete, "id" is returned
5.3.1. Use "id" to create this persisted object
5.3.2. When making a payment, depositing, or buying crypto, you can then reference that particular bank account id for funding of the good/service
6. Organization
6.1. Identifier and Auth to call API
6.2. Register webhook
6.2.1. Need to make a PATCH call to update the webhook-server URL and change the notification types
6.2.1.1. PATCH /api/organization/v1/current-organization/webhook-config { "url": "string" "webhookTypes": "[string]" }
7. Integrate APIs
7.1. Be assigned an Organization
8. Bank transfer
8.1. ACH
8.1.1. Fortress utilizes MX to surface a widget that end-users connect with directly and securely to select the bank account they would like as a payment method for deposits and withdrawals
8.1.2. Steps for ACH
8.1.3. Payment
8.1.3.1. API
8.1.3.1.1. POST /api/trust/v1/payments
8.1.3.1.2. Params
8.1.3.2. Can accomplish 1 of 3 things
8.1.3.2.1. Deposit fiat from a linked bank account
8.1.3.2.2. Withdrawal fiat from a Fortress custodial account
8.1.3.2.3. Transfer fiat from one Fortress custodial account
8.1.4. has Sandbox for testing
8.2. Wire
8.2.1. Withdraw
8.2.1.1. ability to send a wire out to
8.2.1.1.1. any external bank account in the US
8.2.1.1.2. International within the SWIFT network
8.2.1.2. Guide
8.2.1.2.1. Require end user bank information
8.2.1.2.2. Make a payment(withdrawal) to external account
8.2.2. Deposit
8.2.2.1. hit a single API endpoint in order to retrieve Fortress's wire instruction to provide to end user
9. Crypto/Token
9.1. Digital Wallet
9.1.1. Ability to
9.1.1.1. Create new digital wallets
9.1.1.2. Deposit multiple assets across multiple blockchains in the same place
9.1.1.3. Store crypto, NFTs, stablecoins, utility tokens, and more
9.1.1.4. Send and receive crypto and NFTs
9.2. support
9.2.1. BTC, ETH, NFT