Skip to content

API Quick Reference

Base URL: https://api.bankr.bot

Authentication: Include your API key in the X-API-Key header with every request.

X-API-Key: bk_YOUR_KEY
MethodPathDescription
POST/agent/promptSubmit a natural language prompt
GET/agent/job/:jobIdPoll job status
DELETE/agent/job/:jobIdCancel a job
GET/agent/userGet user info and wallet addresses
POST/agent/signSign messages (personal_sign, typed data, transactions)
POST/agent/submitSubmit raw transactions without AI processing
Terminal window
curl -X POST https://api.bankr.bot/agent/prompt \
-H "X-API-Key: bk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "What is my balance on Base?"}'

Returns a jobId that you can poll for results.

Terminal window
curl https://api.bankr.bot/agent/job/JOB_ID \
-H "X-API-Key: bk_YOUR_KEY"

Returns the current status and result of the job.

Terminal window
curl -X DELETE https://api.bankr.bot/agent/job/JOB_ID \
-H "X-API-Key: bk_YOUR_KEY"

Cancels a pending or processing job.

Terminal window
curl https://api.bankr.bot/agent/user \
-H "X-API-Key: bk_YOUR_KEY"

Returns your user profile and all associated wallet addresses.

Terminal window
curl -X POST https://api.bankr.bot/agent/sign \
-H "X-API-Key: bk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "personal_sign", "message": "Hello!"}'

Supports personal_sign, typed data signing, and transaction signing.

Terminal window
curl -X POST https://api.bankr.bot/agent/submit \
-H "X-API-Key: bk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"transaction": {"to": "0x...", "data": "0x...", "value": "0x0", "chainId": 8453}, "waitForConfirmation": true}'

Submits a pre-built transaction directly to the chain without AI processing. Set waitForConfirmation to true to wait for the transaction to be confirmed before the response returns.

If you are using the official TypeScript SDK (@bankr/sdk), these are the corresponding methods:

API EndpointSDK Method
POST /agent/promptclient.prompt()
POST /agent/prompt + GET /agent/jobclient.promptAndWait()
GET /agent/job/:jobIdclient.pollJob()

The SDK handles polling automatically with promptAndWait(), which submits a prompt and waits for the job to reach a terminal state before returning.

Every job follows this lifecycle:

pending → processing → completed / failed / cancelled
  • pending — The job has been created and is waiting to be picked up.
  • processing — The agent is actively working on the job.
  • completed — The job finished successfully. The result is available in the response.
  • failed — The job encountered an error. Check the error field for details.
  • cancelled — The job was cancelled via DELETE /agent/job/:jobId.

For full request/response schemas, error codes, and advanced usage, see the individual endpoint pages: