Skip to main content
Crea y ejecuta un intent DeFi.

Endpoint

POST https://api.pan.dev/v1/intents

Autenticacion

Solo API Key. X402 no soportado para operaciones de escritura.

Request

Body - Lend

{
  "walletId": "pan_wallet_abc123",
  "action": "lend",
  "amount": 1000,
  "asset": "USDC",
  "chain": "base"
}

Body - Withdraw

{
  "walletId": "pan_wallet_abc123",
  "action": "withdraw",
  "amount": 500,
  "asset": "USDC",
  "chain": "base"
}

Body - Bridge

{
  "walletId": "pan_wallet_abc123",
  "action": "bridge",
  "amount": 500,
  "asset": "USDC",
  "fromChain": "ethereum",
  "toChain": "arbitrum"
}

Parametros

CampoTipoRequeridoDescripcion
walletIdstringSiID de la wallet
actionstringSilend, withdraw, o bridge
amountnumberSiCantidad en unidades del token
assetstringNoToken (default: USDC)
chainstringDependeRequerido para withdraw
fromChainstringDependeRequerido para bridge
toChainstringDependeRequerido para bridge

Response

201 Created

{
  "id": "intent_xyz789abc123",
  "walletId": "pan_wallet_abc123",
  "status": "planning",
  "action": "lend",
  "amount": 1000,
  "asset": "USDC",
  "executionPlan": {
    "strategy": "single-bridge",
    "targetChain": "base",
    "targetProtocol": "aave",
    "expectedApy": 8.52,
    "steps": [
      {
        "type": "bridge",
        "sequence": 1,
        "from": "arbitrum",
        "to": "base",
        "asset": "USDC",
        "amount": "1000"
      },
      {
        "type": "deposit",
        "sequence": 2,
        "chain": "base",
        "protocol": "aave",
        "amount": "998.50"
      }
    ],
    "estimatedGasUsd": 2.50,
    "estimatedTime": "3-7 min"
  },
  "createdAt": "2024-01-15T10:40:00Z"
}

Estados

EstadoDescripcion
pendingCreado, esperando procesamiento
planningGenerando plan de ejecucion
executingEjecutando transacciones
completedCompletado exitosamente
failedError durante ejecucion

Errores

CodigoErrorDescripcion
400INVALID_REQUESTParametros invalidos
400INSUFFICIENT_FUNDSFondos insuficientes
401UNAUTHORIZEDAPI key invalida
404WALLET_NOT_FOUNDWallet no existe

Ejemplos

curl -X POST https://api.pan.dev/v1/intents \
  -H "Authorization: Bearer $PAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "walletId": "pan_wallet_abc123",
    "action": "lend",
    "amount": 1000,
    "asset": "USDC"
  }'

Notas

  • La ejecucion es asincrona. Usa GET /intents/:id para monitorear
  • Para lend, si no especificas chain, Pan elige el mejor APY
  • Los intents consumen 5 creditos