This section will describe how fiat flows in/out of the fortress system and also touch on how payment methods are created. We'll also include sections related to risk and timing to give you a full picture of how fiat is handled in the system and how best to work with your applications.
Payment methods are persistent objects linked to an identity that references a connected bank account/credit card. For instance, Fortress utilizes MX to connect end users to their bank accounts, allowing them to interface directly with their bank. Once the setup flow is complete, you are returned an
id that can be used to create this persisted object. When making a payment, depositing, or buying crypto, you can then reference that particular bank account id for funding of the good/service.
Fortress can now instantly settle any fiat movement within our ecosystem 24 hours a day, 7 days a week. How does it work?
- Generate the deposit instructions for any custodial account
- Generate an outgoing wire payment
- If the account deposit instructions match any other account in our system, the outgoing wire payment will instead become a book transfer, and instantly settle into the receiving account (carrying it's
memovalue with the transaction to the receiver for referencing). Instant Payments, No Fees!
Two objects you'll see referenced many times in the APIs are the
transaction objects. These objects track the initiation of a movement of fiat/crypto and track the lifecycle of that movement. Most of your focus will be on the
- An object that tracks the initiation of a movement.
- If the initiation is successful, the payment is considered
- An object that tracks the lifecycle of a particular movement
statuswill change throughout the lifecycle, along with additional values being populated at certain
- This is the object you'll want to mainly track and for your system and your end users.
Below are the possible values for
status related to the
|New||ACH, Wires, Card Deposit||transaction is created, but not started yet|
|Processing||ACH, Wires, Deposit||transaction is processing, movement of fiat to destination account.|
|In Progress||ACH Deposit with ISA, Card Deposit||transaction is still in progress, only for card deposit, ACH deposit with ISA : waiting while compensation with ISA is finished|
|Failed||ACH, Wires, Card Deposit||transaction is failed, when the transaction failed at some stage: either on the card provider's/bank side or at settlement|
|Completed||ACH, Wires, Card Deposit||transaction is completed successfully, when the settlement/payment is completely finished|
All movements currently generate a
Initiating a fiat movement (
payment), a crypto movement (
transfer) or a crypto buy/sell (
trade) will generate both a
paymentobject as well as a
transactionobject for tracking.
Updated 6 months ago