Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.starkfi.io/llms.txt

Use this file to discover all available pages before exploring further.

You can create predefined payment orders as catalog items. This allows you to reuse them whenever needed, without having to create a new transaction for each request.
1

Create a payment intent

Registering a Payment Intention
POST /payment/register/intents-create-order

Request Body

ParameterTypeRequiredDescription
executor_idstringTransaction executor type. Use api_transaction when request comes via API
tenant_dataobjectTenant configuration object
tenant_data.public_client_idstringYour public client ID
tenant_data.webhook_urlstringWebhook URL to receive transaction status updates
payment_method_allowedobjectObject defining which payment methods are enabled
payment_method_allowed.pixcryptobooleanEnable PIX → Crypto payments
payment_method_allowed.cardcryptobooleanEnable Card → Crypto payments
payment_method_allowed.cardfiatbooleanEnable Card → Fiat payments
payment_method_allowed.cryptopixbooleanEnable Crypto → PIX payments
payment_method_allowed.cryptobooleanEnable Crypto → Crypto payments
split_payment_configarrayList of receivers for payment splitting
split_payment_config[].receiver_walletstringWallet address to receive the funds
split_payment_config[].receiver_percentnumberPercentage of the payment this wallet receives (0–100)
gateway_methodstringGateway processing method. Use direct for direct processing or subs for subscription payments
from_currency_symbolstringSource currency code (e.g. BRLUSD )
amount_fromstringAmount to be converted from source currency
to_currency_symbolstringTarget currency code (e.g. USDT)
to_chainstringThe destination blockchain network where you wish to receive the selected currency. (e.g. solana)
on_rampbooleanSet true for on-ramp flow, false for off-ramp
The on-ramp feature is not available for receiving payments via PIX. It can only be used for user-initiated payments. All requests related to incoming payments must set on_ramp = false.
2

Example Request

curl --request POST \
  --url https://api.starkfi.io/payment/register/intents-create-order \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api_key>' \
  --data '{
  "executor_id": "api_transaction",
  "tenant_data": {
    "public_client_id": "cmngy66mw0000e6y0uowcbxgf",
    "webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79"
  },
  "payment_method_allowed": {
    "pixcrypto": true,
    "cardcrypto": true,
    "cardfiat": true,
    "cryptopix": true,
    "crypto": true
  },
  "split_payment_config": [
    {
      "receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
      "receiver_percent": 100
    }
  ],
  "gateway_method": "direct",
  "from_currency_symbol": "BRL",
  "amount_from": "30",
  "to_currency_symbol": "USDT",
  "to_chain": "arbitrum",
  "on_ramp": false
}'
3

Expected Response

{
    "statusCode": 201,
    "success": true,
    "status": "payment_registered",
    "message": "Payment has been registered",
    "data": {
        "payment_id": "cmodpory6000001nyoe3d12m1"
    }
}