Cashramp
  • Introduction
    • Getting Started
    • Payment Rails
    • API Endpoints
    • Authentication
    • Webhooks
    • Integration Guide
    • SDKs
  • Hosted Ramp
    • Overview
    • Deposits
    • Withdrawals
    • Cancel Payment
  • Direct Ramp
    • Overview
    • Ramp Quotes
    • Deposits
    • Withdrawals
  • Onchain Ramp
    • Overview
    • On-Off Ramp
  • Cashramp API
    • Queries
    • Customers
    • Payment Methods
    • Withdraw Onchain
Powered by GitBook
On this page
  • Withdrawal Flow
  • Initiating a Withdrawal
  • Arguments
  • Response
  • Status Lifecycle
  • Marking as Received
  • Arguments
  1. Direct Ramp

Withdrawals

PreviousDepositsNextOverview

Last updated 3 days ago

Convert USD stablecoins to local African currencies using Direct Ramp withdrawals. This guide covers the complete withdrawal lifecycle, from initiation to settlement.

Withdrawal Flow

  1. Get a valid

  2. Initiate withdrawal with quote

  3. Wait for withdrawal to be processed

  4. Mark withdrawal as received

Initiating a Withdrawal

Use initiateRampQuoteWithdrawal to create a new withdrawal request.

Arguments

Argument
Type
Required
Description

rampQuote

ID!

Yes

Quote ID from rampQuote query

paymentMethod

ID!

Yes

reference

String

No

Your unique reference for reconciliation

mutation {
  initiateRampQuoteWithdrawal(
    rampQuote: "quote_id"
    paymentMethod: "payment_method_id"
    reference: "order_123"
  ) {
    id
    status
    agent
    paymentDetails
    exchangeRate
    amountUsd
    amountLocal
  }
}

Response

Field
Type
Description

id

ID!

Global ID for the deposit request

status

String!

Current status (see Status Lifecycle)

agent

String!

Assigned payout agent

paymentDetails

String!

User's payout instructions (bank details, mobile money number)

exchangeRate

Decimal!

Locked FX rate for this withdrawal

amountLocal

Decimal!

Amount in local currency

amountUsd

Decimal!

Amount in USD stablecoins

Status Lifecycle

Status
Description
Next Steps

picked_up

Initial state

Awaiting payout

completed

Funds settled

Customer received funds

canceled

Manually canceled

-

Marking as Received

Use markWithdrawalAsReceived to allow your customer to indicate that they have received the funds.

Arguments

Argument
Type
Required
Description

paymentRequest

ID!

Yes

Withdrawal request ID

mutation {
  markWithdrawalAsReceived(paymentRequest: "withdrawal_id")
}

Your customer's payment method ID ()

ramp quote
Add a Payment Method