{
  "opencollection": "1.0.0",
  "info": {
    "name": "API Reference authentication redeem API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "redeem",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "(EVM only) Get Credits Authorization Message",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api-sandbox.coinflow.cash/api/redeem/evm/creditsAuthMsg",
            "headers": [
              {
                "name": "x-coinflow-auth-wallet",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Endpoint to generate an EIP-712 typed data message for authorizing credits usage on EVM chains.\n\nThis endpoint is used to retrieve a \"CreditsAuthorization\" message that the user must sign using their wallet (e.g., MetaMask)\nvia the eth_signTypedData_v4 method. The resulting signed message (permitCredits) is then supplied to the\n`/api/redeem/evm/sendGaslessTx` endpoint to execute a gasless redeem transaction.\n\n**Request Body:**\n- `merchantId` (string): The ID of the merchant requesting redemption"
        },
        {
          "info": {
            "name": "(EVM only) Send Redeem Transaction with Credits Authorization Message",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api-sandbox.coinflow.cash/api/redeem/evm/sendGaslessTx",
            "headers": [
              {
                "name": "x-coinflow-auth-wallet",
                "value": ""
              },
              {
                "name": "x-device-id",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Endpoint to send a credits redeem transaction on EVM-based blockchains.\n\nThis endpoint processes a gasless transaction for redeeming credits. It requires a signed permit message\n(contained in `signedMessages.permitCredits`) that was previously generated by the `/evm/creditsAuthMsg` endpoint.\n\n**How It Works:**\n- Validates that the provided signed permit (EIP-712 signature) is correct.\n- Constructs the transaction using provided details and sends it through the appropriate EVM network provider.\n\n"
        },
        {
          "info": {
            "name": "Create Merchant Wallet Redemption Transaction",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api-sandbox.coinflow.cash/api/redeem/merchant",
            "headers": [
              {
                "name": "x-coinflow-auth-wallet",
                "value": ""
              },
              {
                "name": "x-device-id",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a transaction for the user to sign in order to redeem their Coinflow credits, with the resulting stablecoins being delivered to the merchant's settlement wallet."
        },
        {
          "info": {
            "name": "Create Redeem Transaction",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api-sandbox.coinflow.cash/api/redeem",
            "headers": [
              {
                "name": "x-coinflow-auth-wallet",
                "value": ""
              },
              {
                "name": "x-device-id",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a transaction for the user to sign in order to redeem their Coinflow credits with a merchant's contract.\n\nThe transaction passed to this endpoint should be the same as if the end user's wallet was calling the merchant's contract with enough USDC/Other Cryto Currency to successfully complete the transaction."
        }
      ]
    }
  ],
  "bundled": true
}