Skip to content

CA : 7xm4u26vd9KzPqgEQjdvmzbxzY82VNe7CJpCsy3pump

Documentation

Docs

API reference

Versioned JSON under /api/v1. Amounts are base-unit strings. Errors use a stable code and never include stack traces.

Envelope

Success responses use status success and a data object. Errors use status error, data null, a human message, and error.code.

{
  "status": "error",
  "data": null,
  "message": "No routing provider is configured.",
  "error": { "code": "ROUTING_PROVIDER_UNAVAILABLE", "details": {} }
}

Endpoints

GET /api/health — process health. routingProvider is not_configured until an adapter is set.

GET /api/v1/networks — Devnet and Mainnet. Mainnet writesEnabled is false.

POST /api/v1/quotes — validate a quote request. Without a routing provider the API returns 503 and no estimated output.

POST /api/v1/swaps/build — Devnet returns QUOTE_NOT_FOUND until a real quote exists. Mainnet returns MAINNET_WRITES_DISABLED.

GET /api/v1/swaps/:signature — unknown signatures are TRANSACTION_NOT_FOUND. A signature is not confirmation.

POST /api/v1/hooks/inspect — validates the address. Without RPC the API returns RPC_NOT_CONFIGURED.

POST /api/v1/hooks/resolve-accounts — reserved for reviewed hook implementations.

GET /api/v1/fees/config — the effective policy. The default policy is disabled, feeBps 0, collectionMode none.

GET /api/v1/analytics/fees and POST /api/v1/webhooks/test require an API key and currently return UNAUTHORIZED.

Quote body

cluster is devnet or mainnet-beta. amount is a decimal string of base units, greater than zero.

{
  "cluster": "devnet",
  "inputMint": "INPUT_MINT_ADDRESS",
  "outputMint": "OUTPUT_MINT_ADDRESS",
  "amount": "1000000",
  "slippageBps": 50
}