How do their APIs compare?
How do their APIs compare?
About fuellabs/fuel-core · 2 messages · last activity 9/7/2026
I don't have enough retrieved evidence to give a full, precise API-by-API comparison for both projects, but here's what I can say from the data available, along with the important caveat that these two projects serve fundamentally different purposes — comparing their "APIs" is really comparing apples to oranges.
fuellabs/fuel-core is a full node implementation for the Fuel v2 blockchain protocol. Its "API" surface is primarily:
- A client-facing GraphQL-style schema, evidenced by [crates/client/src/schema.rs] being flagged as one of the most-depended-on files in the import graph (2 importers) per RepoPilot's analysis — this is likely the schema definition consumers use to query the node.
- Internal query/database interfaces such as [crates/fuel-core/src/query.rs] and [crates/fuel-core/src/database.rs], also flagged as high-centrality files (2 importers each), suggesting these form the internal service layer between node state and external-facing queries.
- A state management layer [crates/fuel-core/src/state.rs] underpinning the above.
This is a networked, protocol-level API (node RPC/GraphQL surface) meant for wallets, indexers, and blockchain tooling to interact with a running Fuel node.
julien-cpsn/atac, by contrast, is not a network service but appears to be a terminal-based HTTP/API client/tester (similar in spirit to Postman/curl but TUI-based). Its "API" isn't something external services call — instead it's built around consuming and exporting HTTP APIs:
- It has an internal
Request/Protocolmodel supportingHttpRequestandWsRequestvariants, seen throughout [src/app/business_logic/request/export.rs] and [src/app/business_logic/request/http/send.rs:L58-L97]. - It generates code snippets in multiple languages (PHP, Node/axios, Rust) to reproduce a configured request, as seen in the
node_axios,rust_request, and PHP export functions in [src/app/business_logic/request/export.rs:L36-L63, L92-L133, L664-L703, L824-L863]. - It supports importing API definitions from curl commands [src/cli/cli_logic/import/curl.rs:L168-L207] and OpenAPI specs [src/cli/cli_logic/import/openapi.rs:L323-L412], generating sample request bodies (JSON, XML, form data, etc.) based on OpenAPI schemas.
- It has a CLI layer for scripting collection/request operations, e.g. [src/cli/cli_logic/collection.rs:L43-L58].
So in short:
- fuel-core exposes an API (a blockchain node's query/RPC interface) that other software consumes.
- atac consumes and manipulates other APIs (via HTTP requests, OpenAPI specs, curl imports) and exports request definitions as code — it doesn't expose a public API of its own in the same sense.
If you want a more precise comparison — e.g., the actual GraphQL schema fields fuel-core exposes, or atac's internal request/collection data model — I'd need to pull more code. Let me know which side you'd like me to dig into.
FOLLOW_UPS:
- What does fuel-core's GraphQL schema expose?
- How does atac's OpenAPI import handle authentication?
- What request protocols does atac support besides HTTP/WS?
Want to ask your own question?
Open chat for fuellabs/fuel-corePublic Q&A. Generated by RepoPilot from the actual source of fuellabs/fuel-core. AI answers can be incomplete or stale — verify before relying on them.