JikoNet allows you to transact at high volumes with third-parties directly between Jiko pockets, with 24/7 secure real-time settlement, underpinned by T-bills, ensuring safety and generating yield until the time of payment for the payor and from the time of collection for the payee.
Important: in API calls, JikoNet is named on-us.
To initiate a JikoNet payment, you must first create the counterparty, referred to as the "Recipient" in Jiko's UI. You are responsible for gathering the necessary payment information (the Recipient's legal business name and Jiko Network Address) directly from the counterparty outside of the Jiko system.
Customer systems:
Gather from the counterparty the Legal business name and the Jiko Network Address (example: "123456789012") of the destination Jiko pocket. The counterparty will find it under "
Transfers>Receive money>Jiko network details" in the Jiko UI.Send to Jiko a counterparty creation API request, providing this counterparty pocket's name and network address.
Receive from Jiko the unique Jiko ID assigned to this counterparty.
Associate this Jiko Id with the counterparty in customer's payment origination systems.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1 | Post the creation of a JikoNet counterparty, using the endpoint fields corresponding to case #2 CreateOnUsCounterpartyRequest. Where field account_number represents the Jiko Network Address. The response returns a UUID. | POST /api/v2/counterparties/ |
Send funds instantly (upon the approval of the transfer request) from a JikoNet-enabled pocket to a third-party's pocket. Note: not all pockets are connected to JikoNet.
Customer systems:
- Get from Jiko the list of pockets with their enabled payment rails, to identify which of your pockets are connected to JikoNet.
- Get from Jiko the balance of JikoNet-enabled pockets.
- Choose which pocket to debit.
- Get from Jiko the list of the counterparties connected to JikoNet.
- Initiate a payment request, specifying the recipient, payment amount, and remittance details, as well as an internal transaction id.
- Send the transfer request to Jiko.
- Confirm successful posting of the payment transaction to the payment origination system.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1 | If not already known, get the list of your pockets for which the ON_US (JikoNet) payment rail is enabled: pockets where payment_rails includes ON_US. | GET /api/v1/portals/ |
| 2 | Get the balance of JikoNet-enabled pockets. See also Get the Current Balance for a Pocket or Group of a pockets. | GET /api/v2/pockets/{pocket_id}/ |
| 3 | Get the list of the counterparties connected to JikoNet. They are identified through type = on_us. | GET /api/v2/counterparties/ |
| 4 | Create a new transfer request, for: • #1 CreateOnUsTransfer • #0 CreatePeerToPeerTransfer | POST /api/v1/transfer-requests/ |
Allow to cancel a previously submitted transfer request before it is completed. To stop transfers that were submitted in error, require correction, or are no longer needed.
Customer systems:
Identify the submitted transfer request that needs to be canceled.
Verify that the transfer is still eligible for cancellation (still pending).
Call Jiko's transfer cancellation endpoint with the transfer identifier.
Confirm that the Jiko transfer status has been updated to "Cancelled".
Update internal systems or user interfaces to reflect the canceled transfer.
Log the cancellation action for audit and reconciliation purposes.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1 | Retrieve a filtered list of transfer requests, to obtain the Jiko ID of the transfer request to cancel, if the "transfer.id" is not already known. | GET /api/v1/transfer-requests/ |
| 2 | Cancel the transfer request, identified its "transfer.id". | DELETE /api/v1/transfer-requests/{transfer_id}/ |
| 3 | Get the status of this transfer request, to check that it was changed to "CANCELED". | GET /api/v1/transfer-requests/{transfer_id}/ |
Review and approve or deny transfer requests, through API or the UI. In the current version, approval is mandatory. A future version will offer the flexibility to customize the number of required approval levels.
Customer systems:
Submit a transfer request in Jiko.
Get from Jiko the list of the Jiko users with a "Checker" role.
Or get the list of the checker users specifically designated for a given transfer request.
Notify approvers.
Collect the approval decision.
Record the approval decision in Jiko.
Monitor the execution status of the transfer.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1 | Get a list of transfer requests to be approved: transactions with status = UNDER_REVIEW. | GET /api/v1/transfer-requests/ |
| 2a | Get the list of all the active Jiko users having a "Checker" role. | GET /api/v1/transfer-requests/reviewers/ |
| 2b | Or get the list of the checker users specifically designated for a given transfer request, listed in field "reviewers" for this transfer request. | GET /api/v1/transfer-requests/{transfer_id}/ |
| 3 | Approve or reject the request, using one of the following status values: • #1 APPROVED• #4 REJECTEDIn the case of a reject, optionally choose a Denial reason and transmit a Denial memo text. | PATCH /api/v1/transfer-requests/{transfer_id}/status/ |
PATCH /api/v1/transfer-requests/{transfer_id}/status/:
{
"status": "APPROVED"
}Enable payment and treasury teams to maintain real-time visibility and control over payments, by continuously tracking execution status, detecting issues, and ensuring payments are completed successfully.
Customer systems:
Query the payment status at defined intervals using the transfer identifier.
Interpret the returned status to understand where the payment is in the execution lifecycle.
Handle exceptions by detecting
DENIEDorREJECTEDstatuses and reviewing associated error codes or messages.Trigger internal downstream actions (ERP posting, invoice update, beneficiary notification) based on the final execution outcome.
Record the final payment state in the payment origination system and metadata for audit, reporting, and compliance purposes.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1a | Get the status of a specific transfer request identified by its Jiko id. | GET /api/v1/transfer-requests/{transfer_id}/ |
| 1b | Or get a list of transfer requests filtered by status (and optionally by other filtering parameters). | GET /api/v1/transfer-requests/ |
Enable real-time notifications of payment status changes via webhooks, allowing to track payment progress instantly, automate downstream processes, and respond quickly to exceptions. By eliminating repetitive polling and manual checks, it improves operational efficiency.
Customer systems:
Register a webhook endpoint URL with the platform, including a shared secret when creating the webhook subscription.
Configure the event types or payment statuses to receive.
Listen for incoming webhook notifications in real time.
Verify each notification's authenticity and integrity.
Retrieve in the event payload the Jiko id of the processed data.
Get from Jiko additional data related to this id if needed.
Process the event by updating internal systems or triggering workflows.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1 | Create a new webhook subscription to receive real-time notifications for specified events. Event types for outgoing JikoNet transfers are: • transfers.on-us.out.processing• transfers.on-us.out.success• transfers.on-us.out.rejectedEvent types for incoming JikoNet transfers are: • transfers.on-us.receivedAvailable events for a given subscription can also be retrieved using GET /api/v1/events/. | POST /api/v1/subscriptions/ |
Retrieve a filtered list of payment transactions, enabling efficient approval, reconciliation, and reporting based on relevant criteria such as status and reviewer.
Customer systems:
Define filter criteria (status, reviewer).
Submit the query request to Jiko with the selected filters.
Handle pagination or cursors for large result sets.
Receive and parse the response payload.
Process or store the data for notification, reconciliation, or reporting.
Repeat queries as needed to retrieve updated or incremental results.
| Step | Purpose | Jiko API Endpoints |
|---|---|---|
| 1 | Get a filtered list of transfers. | GET /api/v1/transfer-requests/ |