Pixley Logo

API Documentation - Pixley Crypto Transactions

Esta documentação descreve os principais endpoints da API do sistema Pixley Crypto Transactions.

Base URL

https://crypto.sandbox.pixley.app

Autenticação

Todos os endpoints requerem autenticação via JWT token e credenciais de API:

Authorization: Bearer <your-jwt-token>
x-user-id: <user-id>
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>

💡 As credenciais de API (API key e Secret key) devem ser obtidas através do nosso suporte.

Off-Ramp (Saque Crypto para PIX)

Processa transação off-ramp

OFF-RAMPPIX

Processa uma transação off-ramp (saque de crypto para PIX)

Requisição
POST https://uat.pixley.app/trade/off-ramp
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>
{
  "source_currency": "USDT",
  "source_amount": 50.00,
  "target_currency": "PIX",
  "pix_key": "user@example.com",
  "pix_key_type": "email",
  "recipient_name": "João Silva",
  "recipient_document": "12345678901",
  "network": "Polygon",
  "externalId": "ext-withdrawal-123"
}
Resposta
{
  "withdrawal_id": "withdrawal_1234567890_abc123",
  "status": "processing",
  "source_currency": "USDT",
  "source_amount": 50.00,
  "target_currency": "PIX",
  "estimated_amount_received": 49.00,
  "estimated_completion": "2024-01-15T10:30:00Z",
  "message": "Withdrawal is being processed. Blockchain operations have been queued and PIX transfer will be initiated shortly."
}
Parâmetros da Requisição

Headers obrigatórios:

AuthorizationBearer <token>
x-api-key<your-api-key>
x-secret-key<your-secret-key>

Query Parameters:

simulation(boolean, opcional) Se true, retorna apenas dados de simulação

Campos do corpo da requisição:

source_currencyMoeda de origem (ex.: "USDT")
source_amountValor a ser sacado
target_currency"PIX"
pix_keyChave PIX do destinatário
pix_key_typeTipo da chave PIX ("email", "cpf", etc.)
recipient_nameNome do destinatário
recipient_documentDocumento do destinatário
networkRede blockchain (ex.: "Polygon")
externalIdID externo da transação

On-Ramp (Compra Crypto com PIX)

Processa transação on-ramp

ON-RAMPPIX

Processa uma transação on-ramp (compra de crypto com PIX)

Requisição
POST https://uat.pixley.app/trade/on-ramp
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>
{
  "source_currency": "BRL",
  "source_amount": 100.00,
  "target_currency": "USDT",
  "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87",
  "network": "Polygon"
}
Resposta
{
  "id": "trade-123",
  "status": "pending",
  "qr_code": "00020126580014br.gov.bcb.pix...",
  "source_currency": "BRL",
  "source_amount": 100.00,
  "target_currency": "USDT",
  "target_amount": 18.52,
  "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87",
  "network": "Polygon",
  "created_at": "2024-01-15T10:30:00Z"
}
Parâmetros da Requisição

Headers obrigatórios:

AuthorizationBearer <token>

Query Parameters:

simulation(boolean, opcional) Se true, retorna apenas dados de simulação

Campos do corpo da requisição:

source_currency"BRL"
source_amountValor em BRL a ser convertido
target_currencyMoeda de destino (ex.: "USDT")
wallet_addressEndereço da carteira de destino
networkRede blockchain (ex.: "Polygon")

Buscar Transação On-Ramp

Consulta detalhes de transação

ON-RAMPQUERY

Busca detalhes de uma transação on-ramp específica

Requisição
GET https://uat.pixley.app/trade/on-ramp/{transactionId}
x-api-key: <your-api-key>
x-secret-key: <your-secret-key>
Resposta
{
  "qrCode": {
    "id": "qr-123",
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "qr_code": "00020126580014br.gov.bcb.pix...",
    "source_currency": "cPix",
    "source_amount": 100.00,
    "target_currency": "USDT",
    "target_amount": 18.52,
    "network": "Polygon",
    "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87",
    "fees": 5.00,
    "pix_status": "pending",
    "trade_price": 5.40,
    "net_amount": 95.00,
    "updated_at": "2024-01-15T10:30:00Z",
    "tx_hash": "0xabc123...",
    "explorer_url": "https://polygonscan.com/tx/0xabc123..."
  }
}
Parâmetros da Requisição

Headers obrigatórios:

AuthorizationBearer <token>
x-api-key<your-api-key>
x-secret-key<your-secret-key>

Path Parameters:

transactionIdID da transação a ser consultada

Observação:

Este endpoint não requer corpo da requisição

Consultar Limites do Usuário

Limites e uso atual

LIMITSUSER

Permite que usuários autenticados consultem seus próprios limites e uso atual

Requisição
GET https://uat.pixley.app/api/users/me/limits
Resposta
{
  "dailyLimits": {
    "amount": 1000.00,
    "count": 10,
    "active": true
  },
  "monthlyLimits": {
    "amount": 30000.00,
    "count": 100,
    "active": true
  },
  "dailyUsage": {
    "amount": 250.00,
    "count": 3
  },
  "monthlyUsage": {
    "amount": 5500.00,
    "count": 25
  },
  "remainingLimits": {
    "daily": {
      "amount": 750.00,
      "count": 7
    },
    "monthly": {
      "amount": 24500.00,
      "count": 75
    }
  }
}
Parâmetros da Requisição

Headers obrigatórios:

x-api-key<your-api-key>
x-secret-key<your-secret-key>

Observação:

Nenhum parâmetro adicional necessário

Webhooks

O sistema envia notificações via webhook para eventos importantes. Todos os webhooks são enviados via POST com assinatura HMAC-SHA256 no header X-Signature.

Eventos Suportados

DEPOSIT

Quando um depósito é recebido

WITHDRAWAL

Quando um saque é processado

PAYMENT REQUEST

Quando uma solicitação de pagamento é criada

Estrutura Base do Webhook

{
  "eventId": "evt_123e4567-e89b-12d3-a456-426614174000",
  "eventType": "DEPOSIT",
  "userId": "456e7890-e89b-12d3-a456-426614174000",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    // Dados específicos do evento
  }
}

Exemplos de Webhooks

Webhook - Evento DEPOSIT

Exemplo de webhook enviado quando um depósito é recebido

WEBHOOKDEPOSIT
Exemplo de Payload
{
  "eventId": "evt_123e4567-e89b-12d3-a456-426614174000",
  "eventType": "DEPOSIT",
  "userId": "456e7890-e89b-12d3-a456-426614174000",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "transactionId": "txn_789abc123def456",
    "amount": "100.00",
    "currency": "BRL",
    "status": "completed",
    "pix_key": "user@example.com",
    "sender_name": "João Silva",
    "sender_document": "12345678901"
  }
}

Webhook - Evento WITHDRAWAL

Exemplo de webhook enviado quando um saque é processado

WEBHOOKWITHDRAWAL
Exemplo de Payload
{
  "eventId": "evt_456e7890-e89b-12d3-a456-426614174001",
  "eventType": "WITHDRAWAL",
  "userId": "456e7890-e89b-12d3-a456-426614174000",
  "timestamp": "2024-01-15T10:35:00Z",
  "data": {
    "withdrawal_id": "withdrawal_1234567890_abc123",
    "status": "completed",
    "source_currency": "USDT",
    "source_amount": 50.00,
    "target_currency": "PIX",
    "amount_received": 49.00,
    "tx_hash": "0xabc123def456...",
    "network": "Polygon",
    "pix_key": "user@example.com",
    "recipient_name": "João Silva"
  }
}

Webhook - Evento PAYMENT REQUEST

Exemplo de webhook enviado quando uma solicitação de pagamento é criada

WEBHOOKPAYMENT
Exemplo de Payload
{
  "eventId": "evt_789abc12-e89b-12d3-a456-426614174002",
  "eventType": "PAYMENT_REQUEST",
  "userId": "456e7890-e89b-12d3-a456-426614174000",
  "timestamp": "2024-01-15T10:40:00Z",
  "data": {
    "payment_request_id": "pr_123456789",
    "amount": "250.00",
    "currency": "BRL",
    "status": "pending",
    "qr_code": "00020126580014br.gov.bcb.pix...",
    "expires_at": "2024-01-15T11:40:00Z",
    "description": "Pagamento de serviços"
  }
}