Axiym

Notifications and webhooks

View Markdown

Many Direct Trade API operations are asynchronous. A deposit may take time to arrive, an address book entry must pass review before it can be used, and a withdrawal can move through several states before it completes.

You should not have to continuously request each resource to discover these changes. Instead, Axiym can notify your system by sending events to a webhook endpoint that you register.

Key concepts

Event

A record that something changed, such as a deposit completing or a address book entry becoming active.

Webhook

The HTTPS delivery that carries an event from Axiym to your system.

Subscription

The registration that tells Axiym which webhook endpoint should receive events.

Resource

The authoritative Axiym account, deposit, conversion, address book entry, or withdrawal represented by the event.

How notifications fit into your workflow

Use the notification to trigger your workflow—for example, to update an order, release a dependent action, inform a user, or begin reconciliation.

What you can be notified about

Direct Trade API events report changes across the main resource lifecycles:

  • Axiym accounts: posted balance movements and account status changes;
  • Deposits: incoming payments being detected, held, completed, canceled, or rejected;
  • Conversions: quotes being created, conversions completing, or being canceled;
  • Address book entries: owned bank accounts or wallets being registered, activated, suspended, or closed; and
  • Withdrawals: withdrawals being created, held, completed, canceled, or rejected.

The conversion.created event is emitted when a quote is created and awaits confirmation. Execution begins only after confirmation. Keep the create response: an unconfirmed conversion is not available through conversion reads.

Address book entry events retain the destination.* names used by the API contract. For example, destination.activated means that an address book entry became active; it is not a separate destination-only resource. destination.closed signals that the entry has been permanently retired and can no longer be used for deposits or withdrawals.

The exact event names and payloads are documented in the Events reference.

Organization-owned events carry no clientId

Every Direct Trade API event describes a resource your organization owns, so the payloads carry no clientId. This remains true when the underlying operation supports a customer workflow: customer attribution stays in your system. If you also operate the Client Trade API, its client resource events carry a clientId. Validate the event type and payload shape before routing it, and use your stored resource ownership mapping. A missing clientId alone does not prove organization ownership: test deliveries and unrelated events can also omit it. Never infer ownership from an account number, wallet address, or other payment detail.

Webhooks and API reads work together

Webhooks reduce the need for constant polling, but they do not remove the need for API reads. A robust integration uses both:

  • Webhooks for timely notification that a change occurred;
  • API reads for the authoritative current state and complete resource details; and
  • Periodic reconciliation to recover from anything your system failed to process.

Process an event as a notification about a resource, not as proof that the resource still has the same state when your system handles it. Fetch the current resource before taking an action that depends on its latest status. For an unconfirmed conversion, use the retained create response until confirmation makes resource reads available.

Next step

When you are ready to implement the receiver, use the Webhooks section for subscription management, signature verification, delivery behavior, and processing guidance.