API para desenvolvedores
Sandbox · ativado pelo operadorMonte 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
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.
curl "https://<deployment>/api/developer/v1/capabilities" \
-H "Authorization: Bearer $FLOFI_API_KEY"Endpoints implementados
| Método | Caminho | Para que serve |
|---|---|---|
| GET | /capabilities | Descobrir a disponibilidade por ação × rede |
| POST | /strategies | Criar uma StrategySpec imutável |
| POST | /strategies/{id}/validate | Checar de novo o motor e a implantação |
| POST | /strategies/{id}/simulate | Prévia somente leitura para um endereço público |
| POST | /approvals | Criar 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}/evidence | Evidência canônica de uma execução compartilhada |
| POST | /webhook-endpoints | Registrar 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
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.
{
"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