A transfer is one movement of money, in either direction — money arriving into a sub-client’s account, or money leaving it for a counterparty. It is the thing everything else in the model exists to make possible.
It is also a record. Once made, a transfer keeps the history of what happened to it — every stage it reached, when, and why it stopped if it did.
What it needs
A movement out needs four things, each of which is a page in this section:
- A sub-client whose money it is.
- Money available, either arriving now or held in a virtual account.
- A counterparty to receive it.
- A rail to travel on, which follows from that counterparty.
Optionally a quotation, when you want the price fixed before you commit.
A movement in needs none of that from you. It needs an open virtual account, and it starts when a payer sends money to it.
It is not instant, and it says so
A transfer moves through stages: accepted, on its way, delivered. How long the last one takes belongs to the rail, not to Kira, and it is the rail that should be asked — see Rail.
Kira reports each stage as it happens rather than making you ask. If it fails, the reason is on the record.
A transfer that reports as failed has not moved money. A transfer that reports as delivered has. Anything in between is still in flight, and the honest answer to “where is my money” is the stage it is in — not a guess in either direction.
What it is called elsewhere
The API reference splits the two directions by name. A movement out is a payout — see The payout object — and is read by its own identifier. A movement in is a deposit, and it is read from the account it landed in: there is no call that fetches one on its own. Two directions, two records, one idea.