Move Money

Prerequisites
  • Client ID
  • Client Secret
  • OAuth Token
  • Open Business
  • Bank Account
Create a Transfer
In the MVP of our API, you will only be able to create Wire Withdrawals through the transfers API.
To create a new withdrawal for a business, make a POST request to /v1/businesses/{business_id}/transfers and include the business ID in the request.
{
"amount": {
"currency": "USD",
"amount": "2323423335.00"
},
"bank_account_id": "{{bank_account_id}}",
"direction": "withdrawal",
"type": "wire",
"idempotency_key": "{{$randomUUID}}",
"user_data": {
"consectetur_e9": 75594943.37748659
}
}
Once initiated, the status of the transfer will be set to pending while Treasure reviews, and then the request should be executed within 2-3 days if no additional documentation is needed.
The API will return an error if you do any of the following:
  • Use the ACH type for withdrawal
  • Use the ACH type for deposit
  • Use the Wire type for deposit
It is important to note that the amount defined in your withdrawal might change before you receive your funds. For example, if you try to withdraw an amount that equals or exceeds your current portfolio value, you might receive less than the amount you requested. By the time assets are liquidated, it is possible that the total available cash is less than the amount you wanted to withdraw. In this case, the transfer amount will change to the full amount available in your account, and the transfer.updated webhook will be fired.
Update a Transfer
Once a transfer is created, you have the option to update it by sending a POST request to /v1/businesses/{business_id}/transfers/{transfer_id} and providing both the business ID and the transfer ID. Note that the only field that can be updated on a transfer is the user_data field.
View Transfers
To retrieve a list of all transfers, send a GET request to /v1/businesses/{business_id}/transfers and provide the business ID. If you want to view a specific transfer, you can send a GET request to /v1/businesses/{business_id}/transfers/{transfer_id}.
Retrieve Wire Instructions
Funds will be transferred via wire to The Treasure Reserve account. Please be aware that wire instructions can only be provided once an account has been opened with our custodian.
To obtain the wire instructions for moving funds to the Treasure Reserve Account (held by our custodian), make a GET request to /v1/businesses/{business_id}/wire_instructions.
Here's an example:
{
"name_of_bank": "BMO Harris",
"bank_address": "111 W Monroe St, Chicago, IL 60603",
"routing_number": "71000288",
"account_number": "3713286",
"intermediary_name": "Apex Clearing",
"for_further_credit": "Treasure Demo #6, 11BFDA9A",
"memo": "FFC: Treasure Demo #6, 11BFDA9A"
}
You or your customer need to initiate a wire transfer from the source account with the banking provider, to the Treasure platform. The memo field in the response contains the exact text that should be provided to the banking provider for the wire request. After you send a /v1/businesses/{business_id}/wire_instructions request and the wire has been detected by Treasure, a transfer.created webhook will fire. When the webhook fires, a transfer will have been created in the API for the related business in a PENDING status. Generally, the transfer will be set to complete the following business day.