Money Movement
Transfers
A new withdrawal can be made via the POST /v1/businesses/{business_id}/transfers endpoint, like the following:
{
"amount": {
"currency": "USD",
"amount": "150000.00"
},
"bank_account_id": "example_bank_account_id",
"direction": "withdrawal",
"type": "wire",
"idempotency_key": "a_new_uuid_per_each_request",
"user_data": {
"external_account_id": "3vuA4nxqX2lErKCjjHlJ"
}
}
Wire deposits to the Treasure account (wire push) are not available via API, and should instead be initiated from the client's bank. Wire instructions for this purpose are delineated below.
Note that it is crucial to pass an idempotency key to prevent duplicate withdrawals in the event of a network fault, enabling safe retries. This should be a unique ID per each logical withdrawal request. It is recommended to use something, universally unique, like a UUIDv4.
Once a transfer has been initiated, the transfer will start in PENDING status and be executed in 2–3 days if no additional documentation is needed. A transfer's status can be viewed for a specific transfer ID, or for all transfers at once for a business.
Note that the amount requested for a withdrawal may change before funds are received due to situations such as:
- Requesting a withdrawal for an amount greater than the account's current portfolio value
- Account liquidation, where the pro-rated monthly management fee will be deducted
If a transfer amount is automatically updated for any of the above reasons, a transfer.updated webhook will be sent as a notification.
Once a transfer has been created, it cannot be modified except for the user_data field, which can be done via the POST /businesses/{business_id}/transfers/{transfer_id} endpoint.
Fetch Wire Instructions
To view wire instructions for moving funds to a Treasure Reserve account (held at Treasure's custodian), make a request to the GET /v1/businesses/{business_id}/wire_instructions endpoint. A response will look like:
{
"name_of_bank": "BMO Harris",
"bank_address": "111 W Monroe St, Chicago, IL 60603",
"routing_number": "123456789",
"account_number": "1234567890",
"intermediary_name": "Apex Clearing",
"for_further_credit": "Bob's Plumbing, 19373957",
"memo": "FFC: Bob's Plumbing, 19373957"
}
Wire instructions are only available once a business' Treasure account is OPEN.
You or your customer must initiate a wire from the source account at the banking provider to the Treasure account using the above instructions.
The memo field in the response contains the exact text that should be provided to the banking provider for the wire request.
When an incoming wire has been detected by Treasure, a transfer.created webhook will be sent, including the transfer ID for use in any subsequent transfer calls. Generally, the transfer will be set to COMPLETE the following business day.
