Settlement
Overview of how to send settlement transactions and get advances.
Sivo Advance enables fintech platforms to offer accelerated settlement to customers. This guide provides a high-level overview of implementing Sivo Advance in your platform.
---
config:
theme: redux
---
sequenceDiagram
actor S as Seller
participant Sivo as Sivo Advance
participant USDT as USDT (Ethereum)
S ->> Sivo: Create buyer
S --) USDT: Deposit USDT
S ->> Sivo: Create settlement
activate Sivo
Sivo ->> Sivo: Validate prerequisites
USDT --) Sivo: ERC-20: transferFrom()
Sivo --) S: USD ACH Deposit (minus Sivo fee)
deactivate Sivo
S ->> Sivo: Get settlement status
S ->> Sivo: Get ledger details
Implementation Workflow
1. Create Buyer
Register the buyer (a.k.a. customer) that is transferring the funds. This only needs to be done for new buyers and can be skipped for existing ones.
POST /accounts
Important buyer information includes:
- Legal entity information
- Business address
- Contact information
- For underwriting:
- Industry
- Legal entity ID (Tax ID)
- KYX status
After a seller completes work for a buyer, create a settlement in the system. This should happen after funds are available in the Ethereum wallet.
POST /sellers/{seller_id}/sale-transactions
The request should include all the required properties. Special notes for settlements:
- buyer_id: provide the id of the buyer created in the first step
- available_on: should be set to today's date
Settlements are processed immediately after they are submitted and should take a few seconds. You can retrieve the settlement to inspect the status
GET /sellers/{seller_id}/sale-transactions/{id}
Important properties:
- skip_reasons: this will be set if a settlement cannot be processed immediately. it includes a list of issues that need correction.
- payout_id: when the settlement is successfully processed the payout_id can be used to reference relevant ledger details.
Retrieve the payin/payout ledgers associated with the seller advances.
- payout entries show flow of funds from sivo to the seller
- payin entries show flow of funds from the seller to sivo
- Get Ledger Balances can be used to get current balance snapshot
GET /sellers/{seller_id}/terms/transactions
Best Practices
-
Comprehensive Data Collection: Provide as much data as possible when creating buyers to improve underwriting.
-
Accurate Data: Provide complete and correct data to ensure accurate advance calculations.
-
Clear Communication: Ensure sellers understand the advance terms, including fees and reserve calculations.
For detailed API specifications, see the API Reference.
Updated 3 months ago
