Coins.ph Ramp Callback API
Webhook callbacks sent to the merchant's configured callback URL when order status changes
Webhook callbacks sent to the merchant's configured callback URL when order status changes
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/coinsph-ramp-callback-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TRADING Account Ramp Callback API
version: 1.0.0
description: API reference for Account management — Coins.ph
servers:
- url: https://api.pro.coins.ph
description: Production
- url: https://api.9001.pl-qa.coinsxyz.me
description: Sandbox
tags:
- name: Ramp Callback
description: Webhook callbacks sent to the merchant's configured callback URL when order status changes
paths:
/openapi/ramp/callback:
post:
tags:
- Ramp Callback
summary: Ramp Callback API
description: 'A POST request will be sent to the callback URL configured by the merchant whenever the order status changes. This is NOT an endpoint you call — it documents the payload Coins.ph sends TO your server.
## Order Status Values
- `CREATE` - Order created
- `RISK_REVIEW` - Risk review in progress
- `FUND_TRANSFER_PROCESSING` - Fund transfer in progress
- `QUOTE_ACCEPT_PROCESSING` - Quote acceptance in progress
- `REFUNDED_TRANSFER_PROCESSING` - Refund transfer in progress
- `QUOTE_ACCEPTED` - Quote accepted
- `WAITING_TX_ID` - Waiting for transaction ID from merchant
- `CRYPTO_DISBURSE_PENDING` - Crypto disbursement pending
- `CRYPTO_PENDING` - Waiting for crypto deposit
- `CRYPTO_SENT` - Crypto sent
- `CRYPTO_CONFIRMING` - Crypto confirming on chain
- `CRYPTO_CONFIRMED` - Crypto confirmed
- `CRYPTO_REFUND_PENDING` - Crypto refund pending
- `CRYPTO_REFUND` - Crypto refunded
- `PAYOUT_PROCESSING` - Payout processing
- `PAYOUT_FAILED` - Payout failed
- `REFUND_FAILED` - Refund failed
- `PAYOUT_CONFIRMED` - Payout confirmed
- `MANUAL_REVIEW` - Manual review required
- `FUND_TRANSFER_BACK` - Fund transferred back
- `EXPIRED` - Order expired
- `PROCESSING` - Processing
- `SUCCEEDED` - Succeeded (terminal)
- `FAILED` - Failed (terminal)
- `CANCELLED` - Cancelled (terminal)
- `REFUNDED` - Refunded (terminal)'
operationId: rampOrderStatusCallback
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RampCallbackRequest'
example:
id: '2199397325237953280'
rampType: OFF_RAMP
orderId: '2199397325237953280'
orderStatus: QUOTE_ACCEPT_PROCESSING
txId: ''
errorCode: ''
errorMessage: ''
moreInfo:
createdAt: '2026-04-23T06:09:53Z'
quoteId: d20eaa5ecde942eeb48b5f40fe981a76
status: QUOTE_ACCEPT_PROCESSING
sourceAmount:
amount: 1.2
currency: USDT
zero: false
positive: true
targetAmount:
amount: 1.196
currency: USDC
zero: false
positive: true
sourceCurrency: USDT
targetCurrency: USDC
targetWalletAddress: rKrDJLGiSrKsRRtEQVgnWJnKALp5NJeDkC
targetUserId: '2142216666787644416'
targetWalletAddressTag: ''
errorCode: ''
errorMessage: ''
txId: ''
withdrawId: ''
orderId: '2199397325237953280'
rampTypeCode: OFF_RAMP
callbackKey: null
merchantId: null
timestamp: 1776924592732
responses:
'200':
description: Merchant acknowledges receipt of the callback
content:
application/json:
schema:
$ref: '#/components/schemas/RampCallbackResponse'
example:
code: '0'
message: success
data: {}
components:
schemas:
RampCallbackResponse:
type: object
description: Expected response from merchant after receiving the callback.
properties:
code:
type: string
description: Response code. '0' indicates success.
example: '0'
message:
type: string
description: Response message.
example: success
data:
type: object
description: Response data (can be empty).
RampCallbackRequest:
type: object
description: Callback payload sent to the merchant's configured callback URL when order status changes.
required:
- rampType
- orderId
- orderStatus
properties:
id:
type: string
description: Unique callback event identifier.
example: '2199397325237953280'
rampType:
type: string
enum:
- ON_RAMP
- OFF_RAMP
description: Type of ramp operation.
example: OFF_RAMP
orderId:
type: string
description: The order ID.
example: '2199397325237953280'
orderStatus:
type: string
enum:
- CREATE
- RISK_REVIEW
- FUND_TRANSFER_PROCESSING
- QUOTE_ACCEPT_PROCESSING
- REFUNDED_TRANSFER_PROCESSING
- QUOTE_ACCEPTED
- WAITING_TX_ID
- CRYPTO_DISBURSE_PENDING
- CRYPTO_PENDING
- CRYPTO_SENT
- CRYPTO_CONFIRMING
- CRYPTO_CONFIRMED
- CRYPTO_REFUND_PENDING
- CRYPTO_REFUND
- PAYOUT_PROCESSING
- PAYOUT_FAILED
- REFUND_FAILED
- PAYOUT_CONFIRMED
- MANUAL_REVIEW
- FUND_TRANSFER_BACK
- EXPIRED
- PROCESSING
- SUCCEEDED
- FAILED
- CANCELLED
- REFUNDED
description: 'Current order status. Terminal statuses: SUCCEEDED, FAILED, CANCELLED, REFUNDED.'
example: QUOTE_ACCEPT_PROCESSING
txId:
type: string
description: On-chain transaction ID (if applicable).
example: ''
errorCode:
type: string
description: Error code (if any).
example: ''
errorMessage:
type: string
description: Error message (if any).
example: ''
moreInfo:
type: object
description: Additional order information.
properties:
createdAt:
type: string
format: date-time
description: Order creation time in ISO 8601 format.
example: '2026-04-23T06:09:53Z'
quoteId:
type: string
description: Quote identifier.
example: d20eaa5ecde942eeb48b5f40fe981a76
status:
type: string
description: Status within moreInfo context.
example: QUOTE_ACCEPT_PROCESSING
sourceAmount:
type: object
properties:
amount:
type: number
example: 1.2
currency:
type: string
example: USDT
zero:
type: boolean
example: false
positive:
type: boolean
example: true
targetAmount:
type: object
properties:
amount:
type: number
example: 1.196
currency:
type: string
example: USDC
zero:
type: boolean
example: false
positive:
type: boolean
example: true
sourceCurrency:
type: string
example: USDT
targetCurrency:
type: string
example: USDC
targetWalletAddress:
type: string
description: Target wallet address for the transaction.
example: rKrDJLGiSrKsRRtEQVgnWJnKALp5NJeDkC
targetUserId:
type: string
description: Target user identifier.
example: '2142216666787644416'
targetWalletAddressTag:
type: string
description: Wallet address tag (if applicable).
example: ''
errorCode:
type: string
example: ''
errorMessage:
type: string
example: ''
txId:
type: string
description: On-chain transaction ID.
example: ''
withdrawId:
type: string
description: Withdrawal ID.
example: ''
orderId:
type: string
example: '2199397325237953280'
rampTypeCode:
type: string
enum:
- ON_RAMP
- OFF_RAMP
example: OFF_RAMP
callbackKey:
type:
- string
- 'null'
description: Callback key (if configured).
merchantId:
type:
- string
- 'null'
description: Merchant ID (if configured).
timestamp:
type: integer
format: int64
description: Callback timestamp (epoch millis).
example: 1776924592732
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-COINS-APIKEY
x-readme:
proxy-enabled: false