Skip to main content
This guide walks you through the complete Axis onboarding flow from zero to a live payment. You will sign up for a developer account, register your business, create a scoped wallet for your agent, fund the wallet via a virtual bank account, and fire your first payment intent — all in under 10 minutes. Every step below maps to a real API call your frontend or setup script will make.
1

Sign up

Create an Axis account by posting your credentials and account type to the auth endpoint. Use accountType: "business" if you are setting up payment infrastructure for a product, or "developer" for personal/sandbox use.When you sign up with accountType: "business", Axis automatically provisions a business record and returns a businessId in the response — no separate business registration call is needed at this step.Request
Response
Store the token — you will send it as Authorization: Bearer <token> on every subsequent developer-authenticated request. Tokens expire after 7 days.
2

Register your business

Before you can create wallets, Axis requires basic business details for KYB (Know Your Business) purposes. Submit your business profile to the onboarding endpoint.Request
Response
3

Create a wallet

Provision a wallet for your agent. You define the spending rules here — Axis enforces them on every payment intent the agent submits.Request
Response
The apiKey.fullKey value is returned exactly once — at wallet creation. Axis stores only a hashed version and cannot recover the plain-text key later. Copy fullKey into a secure secrets manager (e.g. AWS Secrets Manager, HashiCorp Vault, or your CI/CD environment variables) immediately. If it is lost, you must create a new wallet to obtain a fresh key.
4

Fund the wallet

Your wallet starts with a balance of 0. To give the agent real spend authority, transfer NGN to the virtual account number returned in the previous step.From the response above:
You can fund the wallet using:
  • Internet banking or mobile app — a standard NGN transfer to the account number above from any Nigerian bank.
  • Programmatic transfer — use your existing payment processor (e.g. Paystack, Flutterwave) to initiate a transfer to the virtual account.
Once the inbound payment settles, Axis receives a webhook from the issuing bank and automatically credits the wallet balance. The credit is reflected in the wallet’s balance field (in kobo) and recorded as a LedgerEntry.
There is no polling required — subscribe to the wallet.funded webhook event in your Axis dashboard to be notified when funds arrive.
5

Fire a payment intent

Your agent is now ready to spend. It calls POST /api/payment-intent, authenticating with the fullKey via the x-api-key header — not the developer JWT. Axis validates the request against the wallet’s rules before executing the bank transfer.Request
Success response
Axis checks all of the following before executing the transfer. A failed check returns a 400 or 403 with a descriptive error:
  • Wallet is active and not expired
  • amountspendLimitPerTx
  • Total spend in the current period window + amountspendLimitPeriod
  • Wallet balanceamount
  • merchantName is in merchantAllowlist (when useAllowlist: true)
The example above uses the API key auth mode (x-api-key header), which is what agents use at runtime. The developer JWT mode (Authorization: Bearer) is used for provisioning operations like creating wallets, viewing audit logs, and managing keys. See the Auth Overview for a full breakdown of both modes, token lifetimes, and how to rotate keys without downtime.