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
  • Deposit Flow
  • Initiating a Deposit
  • Arguments
  • Response
  • Status Lifecycle
  • Marking as Paid
  • Arguments
  • Canceling a Deposit
  1. Direct Ramp

Deposits

PreviousRamp QuotesNextWithdrawals

Last updated 3 days ago

Convert local African currency payments into USD stablecoins using Direct Ramp deposits. This guide covers the complete deposit lifecycle, from initiation to settlement.

Deposit Flow

  1. Get a valid

  2. Initiate deposit with quote

  3. Share payment details with customer

  4. Mark deposit as paid

  5. Receive stablecoin settlement

Initiating a Deposit

Use initiateRampQuoteDeposit to create a new deposit request.

Arguments

Argument
Type
Required
Description

rampQuote

ID!

Yes

Quote ID from rampQuote query

reference

String

No

Your unique reference for reconciliation

mutation {
  initiateRampQuoteDeposit(rampQuote: "quote_id", reference: "order_123") {
    id
    status
    agent
    paymentDetails
    exchangeRate
    amountLocal
    amountUsd
    expiresAt
  }
}

Response

Field
Type
Description

id

ID!

Global ID for the deposit request

status

String!

Current status (see Status Lifecycle)

agent

String!

Assigned collection agent

paymentDetails

String!

Payment instructions (bank details, mobile money number)

exchangeRate

Decimal!

Locked FX rate for this deposit

amountLocal

Decimal!

Amount in local currency

amountUsd

Decimal!

Amount in USD stablecoins

expiresAt

DateTime

Payment instructions expiry

Status Lifecycle

Status
Description
Next Steps

picked_up

Initial state

Share payment details with customer

completed

Funds settled

Check stablecoin balance

canceled

Manually canceled

-

Marking as Paid

After customer transfers funds, use markDepositAsPaid to trigger settlement.

Arguments

Argument
Type
Required
Description

paymentRequest

ID!

Yes

Deposit request ID

receipt

String

No

Payment proof URL

mutation {
  markDepositAsPaid(
    paymentRequest: "deposit_id"
    receipt: "https://example.com/receipt.png"
  )
}

Canceling a Deposit

Cancel an unused deposit with cancelDeposit (only in created status).

mutation {
  cancelDeposit(paymentRequest: "deposit_id")
}
ramp quote