Your First Transactions
This page outlines the API interactions that are relevant for various scenario.
Wire deposit
A wire deposit is sent to a specific Ledger Account. Each Ledger Account has one or memos associated with it. When a depositor uses the memo instructions in the wire, sent from their financial institution, the funds appear in the corresponding Ledger Account.
If the Ledger Account belongs to an Identity:
- Create a deposit memo for an identity's ledger account
- Get a deposit memo details for an identity's ledger account
If the Ledger Account belongs to an Organization
- Create a deposit memo for an organization's ledger account
- Get a deposit memo details for an organization's ledger account
You can expect corresponding deposit.deposit.statusUpdated Webhook Events as the deposit is processed.
Withdrawals
Before executing a withdrawal, the recipient must be created as an ACTIVE Payment Instrument.
If the Payment Instrument is in PENDING_VERIFICATION status, you can expect paymentInstrument.*.statusUpdated Webhook Events to notify you if this changes.
Some withdrawals, such as Wire withdrawals, allow you to still submit the withdrawal. However, this withdrawal will be queued until such time where the Payment Instrument has become
ACTIVE.
Assuming that Entity, Ledger Account (or Blockchain wallet) and the Payment Instrument are available:
sequenceDiagram
actor client as You
participant api as MoveUSD API
alt Optional
client ->>+ api: GET /withdrawal/estimate
api -->>- client: Available estimates
end
client ->>+ api: POST /withdrawal/quote
api -->>- client: Quote
alt Happy with the quote?
alt Blockchain wallet?
client ->> client: Sign transaction
end
client ->>+ api: POST /withdrawal/quote/{id}/accept
api -->>- client: Receipt
else
client ->>+ api: POST /withdrawal/quote/{id}/reject
api -->>- client:
end
api -) client: Withdrawal status updated event(s)
- Optionally, get an estimate and understand the associated fees: Get Withdrawal Estimate
- Create a quote for the withdrawal: Create Quote
- If happy with the quote and,
- Using a Ledger Account, simply Accept Quote
- Using a Blockchain wallet,
- Sign the
unsignedWithdrawalTransactiontransaction - Return the signed transaction via Accept Quote
- Sign the
You can expect corresponding withdrawal.withdrawal.statusUpdated Webhook Events as the withdrawal is progressed.
Updated about 2 months ago
