Skip to main content
POST
/
api
/
partner
/
v2
/
off-ramp
/
execute
Execute an off-ramp transaction
curl --request POST \
  --url https://staging-api.capa.fi/api/partner/v2/off-ramp/execute \
  --header 'Content-Type: application/json' \
  --header 'partner-api-key: <partner-api-key>' \
  --data '
{
  "transactionId": "8374f327-38bd-4b0b-b8a7-2524599eb903"
}
'
{
  "success": true,
  "data": {
    "id": "8374f327-38bd-4b0b-b8a7-2524599eb903",
    "status": "PENDING"
  }
}
Executes a previously created off-ramp transaction, triggering the fiat payout to the user’s bank account. Call this after the user has sent crypto to the destinationWalletAddress returned by the Create Off-Ramp endpoint.

Transaction Status Values

StatusDescription
PENDINGTransaction is pending processing.
IN_PROGRESSTransaction is being processed.
COMPLETEDTransaction has completed successfully.
FAILEDTransaction has failed.
CANCELLEDTransaction was cancelled.
CRYPTO_RECEIVEDCrypto payment has been received.
CRYPTO_NOT_RECEIVEDCrypto payment was not received.
COMPLETED_CRYPTO_RECEIVALCrypto receival process has completed.
BANK_TRANSFER_PENDINGBank transfer is pending.
READY_BANK_TRANSFERReady to initiate bank transfer.

Important Notes

  • The transactionId must reference a valid off-ramp transaction created via Create Off-Ramp.
  • The transaction must belong to the partner associated with the API key.

Use Cases

  • Manual Execution: Trigger execution after verifying crypto receipt.
  • Workflow Integration: Separate transaction creation from execution in automated workflows.

Error Codes

Common Errors

HTTP StatusCodeMessage
401UNAUTHORIZED”API Key is missing”
401UNAUTHORIZED”Invalid API Key format”
401UNAUTHORIZED”Invalid API Key”

Endpoint-Specific Errors

HTTP StatusCodeMessage
400INVALID_USER_INPUT_ERROR”Invalid User Input”
404TRANSACTION_NOT_FOUND”Transaction not found”
403TRANSACTION_ACCESS_DENIED”Transaction does not belong to this partner”

Headers

partner-api-key
string
required

Api key for the affiliated partner that is performing the request

Body

application/json
transactionId
string<uuid>
required

Identifier for the off-ramp transaction to execute

Example:

"8374f327-38bd-4b0b-b8a7-2524599eb903"

Response

201 - application/json

Transaction execution initiated successfully

success
boolean
Example:

true

data
object