personal organization, then launch them into /idv, which runs identity verification and agreement signing in one step. See KYC WebSDK. The onboarding entries below were deprecated as a result.
A programmatic path exists again, on new endpoints under
/ramp/customer/{customer_id}/verification. It is not a revival of the endpoints below: the shapes and semantics differ: real multipart uploads, an explicit submission order, 202 responses. See KYC API, or KYC Sumsub Shared Token if your customers are already verified with you. The endpoints below remain deprecated on their stated dates.Presigned onboarding URL
POST /ramp/onboarding-url
The presigned “hosted UI” onboarding link is replaced by the /idv launch. Create the customer’s org, then launch them into /idv.
- Status: Deprecated. Sunset: August 16, 2026.
- Replacement: KYC WebSDK: create org, then launch
/idv. - Reference: POST /ramp/onboarding-url
- Change (Week of August 7, 2026):
userInfois now required. Requests without a non-emptyemailanddisplayNameare rejected.
Presigned bank-account registration
POST /ramp/onboarding/bank-accounts
Registering a bank account using the presigned URL for auth is replaced by registering it with your API key.
- Status: Deprecated. Sunset: August 16, 2026.
- Replacement: POST /ramp/customer/{customer_id}/bank-account with your API key.
Programmatic KYC submission
POST /ramp/customer/{customer_id}/kyc
Submitting a customer’s identity fields over the API is replaced by the customer entering them inside the /idv launch.
- Status: Deprecated. Sunset: August 16, 2026.
- Replacement:
POST /ramp/customer/{customer_id}/verificationto submit identity data over the API, or the/idvlaunch to have the customer enter it. - Reference: POST /ramp/customer/{customer_id}/kyc
KYC document upload
POST /ramp/customer/{customer_id}/kyc/documents
Uploading ID and selfie images over the API is replaced by document capture inside the /idv launch.
- Status: Deprecated. No sunset date set yet.
- Replacement:
POST /ramp/customer/{customer_id}/verification/documentsto upload documents over the API, or the/idvlaunch to have the customer capture them. - Reference: POST /ramp/customer/{customer_id}/kyc/documents
/agreements launch
scope: agreements · target: /agreements
Launching the customer into a separate agreements-signing step is replaced by signing inside /idv.
- Status: Deprecated. Sunset: August 16, 2026.
- Replacement: agreement signing happens automatically inside the
/idvlaunch.
Direct agreement-signing endpoints
POST /ramp/agreements/electronic-signature · POST /ramp/agreements/terms-and-conditions · POST /ramp/agreements/customer-agreement
- Status: Removed.
- Replacement: agreements are signed inside the
/idvlaunch.
Inline bankAccount on POST /ramp/organization
POST /ramp/organization no longer creates a bank account inline, and the response no
longer includes bankAccount. Bank accounts can only be registered once the owning
organization is approved.
- Status: Removed.
- Replacement: create the organization with
POST /ramp/organization, then register the bank account separately withPOST /ramp/customer/{customer_id}/bank-accountafter the organization is approved. - Reference: Bank account creation
Per-wallet KYC status fields
Wallet.kycStatus and Wallet.kycOnChain have been removed from wallet list, search, get, and register responses. KYC state is organization-level.
- Status: Removed.
- Replacement: query
GET /ramp/customer/{customer_id}/kycor consume thekyc_updatedwebhook. - Reference: Get KYC status
- Change (Week of August 14, 2026): removed from the
Walletobject.
KYB progress endpoint
GET /ramp/organization/{id}/kyb/progress
Per-requirement KYB counts are replaced by a single status. The requirement breakdown they
counted belongs to the in-house KYB flow, which business verification no longer uses.
- Status: Deprecated. Sunset: August 16, 2026.
- Replacement:
GET /ramp/organization/{id}/kyb/status, which returns the same shape thekyb_updatedwebhook delivers. - Reference: Get KYB progress
Requirement counts on kyb_updated
The approved, submitted, notStarted and total counts have been removed from the
kyb_updated webhook payload. It now carries organizationId,
status and approvedAt.
- Status: Removed.
- Replacement:
statusalone.submittedmeans everything the business can do is done and it is Etherfuse’s turn, which is what the counts were read for. - Reference: kyb_updated payload
Not deprecated:
GET /ramp/customer/{customer_id}/kyc (KYC status) and the
kyc_updated webhook are unchanged; keep using them to track KYC
state.Stablebond cost lookup
GET /lookup/bonds/cost · GET /lookup/bonds/cost/{identifier}
These price stablebonds only, so they cannot answer for a principal token such as MEXe.
/lookup/tokens/cost prices every Etherfuse token, bonds and principal tokens alike, and
renames the bond_* fields to token_* accordingly.
- Status: Deprecated. No sunset date. They keep working with their existing fields.
- Replacement:
GET /lookup/tokens/costandGET /lookup/tokens/cost/{identifier}. - Reference: List stablebond costs · Get stablebond cost
The list endpoint is also keyed differently:
/lookup/bonds/cost keys by Solana mint address,
/lookup/tokens/cost keys by uppercased token symbol.