Fiat
Everything Fiat
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.
What are payment methods(externalAccounts)?
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.
*New 24/7 Instant Settling Fiat Transactions
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
memo
value with the transaction to the receiver for referencing). Instant Payments, No Fees!
"Payments" vs "Transactions"
Two objects you'll see referenced many times in the APIs are the payment
and 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 transaction
object.
Payment:
- An object that tracks the initiation of a movement.
- If the initiation is successful, the payment is considered
completed
Transaction:
- An object that tracks the lifecycle of a particular movement
- The
status
will change throughout the lifecycle, along with additional values being populated at certain
points. - 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 transaction
object.
Status | Operation | Description |
---|---|---|
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
payment
andtransaction
objectInitiating a fiat movement (
payment
), a crypto movement (transfer
) or a crypto buy/sell (trade
) will generate both apayment
object as well as atransaction
object for tracking.
Updated 9 months ago