Ir para o conteúdo
FloFi

API para desenvolvedores

Sandbox · ativado pelo operador

Monte e pré-visualize estratégias a partir do seu servidor e passe a decisão financeira para o usuário no FloFi.

Disponibilidade e autenticação

Integração sandbox no servidorA API está implementada, com evidência de integração local/MOCKED controlada. Um operador precisa ativar a implantação e emitir uma chave sandbox. Chaves live e estratégias de mainnet são recusadas, e uma implantação hospedada não tem redes de teste; ali, uma chave sandbox só consulta capacidades: criar estratégias e aprovações exige chaves de produção, que esta versão não emite. Chaves de API não têm nenhuma autoridade financeira.

Caminho base: https://<deployment>/api/developer/v1. Envie Authorization: Bearer <sandbox key> a partir de um cofre de segredos no servidor. Pedidos com Origin ou Sec-Fetch-Site são recusados; não há credenciais de API no navegador nem atalhos de CORS.

Descoberta de capacidades · bash
curl "https://<deployment>/api/developer/v1/capabilities" \
  -H "Authorization: Bearer $FLOFI_API_KEY"

Endpoints implementados

MétodoCaminhoPara que serve
GET/capabilitiesDescobrir a disponibilidade por ação × rede
POST/strategiesCriar uma StrategySpec imutável
POST/strategies/{id}/validateChecar de novo o motor e a implantação
POST/strategies/{id}/simulatePrévia somente leitura para um endereço público
POST/approvalsCriar uma passagem de aprovação para o dono
GET/approvals/{id}Aprovação atual e status de execução compartilhado
GET/executions/{id}Status de execução compartilhado pelo dono
GET/executions/{id}/evidenceEvidência canônica de uma execução compartilhada
POST/webhook-endpointsRegistrar notificações assinadas
DELETE/webhook-endpoints/{id}Desativar um endpoint de webhook

Os caminhos desta tabela são relativos ao caminho base. Baixe o contrato OpenAPI verificado. Não existe endpoint de execução, assinatura, envio ou aprovação de Manifest.

Crie, valide e passe adiante

TypeScript no servidor · typescript
const strategy = await flofi.strategies.create({
  strategy: {
    action: "bridge",
    sourceNetwork: "base",
    destinationNetwork: "arbitrum-one",
    asset: "USDC", amount: "5",
  },
});
const check = await flofi.strategies.validate(strategy.id);
if (!check.availability.approvable) {
  throw new Error(check.availability.reason ?? "NOT_APPROVABLE");
}
const approval = await flofi.approvals.create({ strategy });
// Give approval.approvalUrl to the user.

Este é um exemplo documentado, não uma afirmação de que a aprovação para levar ativos a outra rede está ativa em todas as implantações. O usuário prova que a carteira é dele, simula de novo, revisa e assina no FloFi. Leia Autorização na carteira.

Erros, idempotência e limites

Valores são strings decimais. Estratégias são imutáveis; crie uma nova se a intenção mudar. POSTs de criação usam uma Idempotency-Key válida por projeto, ambiente e operação durante 24 horas. A mesma chave com um corpo diferente gera IDEMPOTENCY_CONFLICT.

Formato de erro · json
{
  "error": {
    "code": "STRATEGY_CHANGED",
    "reason": "WORKFLOW_HASH_MISMATCH",
    "message": "…",
    "requestId": "req_…"
  }
}

O plano gratuito documentado permite 300 pedidos/minuto, 30 simulações/hora, 60 aprovações criadas/hora, 100 aprovações abertas e cinco endpoints de webhook ativos. Respeite o Retry-After. Listar estratégias, GET /me, chaves live e execução genérica de vários passos não fazem parte da v1.

Fontes: docs/developer/API.md · docs/developer/QUICKSTART.md · docs/deploy/DEVELOPER.md · docs/developer/openapi.json