API Reference

When certain events happen, Beam will publish webhook events to inform you of said events.

Handling Failure

In the event something goes wrong and we cannot deliver an event to one of your registrations, we will make several retry attempts. If we still cannot deliver the event, the registration status will change to SUSPENDED. No further attempts will be made to deliver previous or future events to this endpoint. It is very important to monitor the statuses of your webhook registrations.

Also note that webhooks guarantee at-least-once delivery. So while rare, it is technically possible to receive the same event twice. Your message handlers should account for that edge case and be idempotent.

Webhook Events

Beam.Deposit.Detected A deposit has been detected and is going to start being processed
Beam.Deposit.Approved Deposit has been approved and now be moved off chain
Beam.Deposit.Rejected The deposit has been rejected by Beam

Beam.Payment.Initiated Payment has been sent to the bank for processing
Beam.Payment.Completed The bank has confirmed the payment has been completed
Beam.Payment.Rejected The users payment has been rejected by the bank

Account.Onboarding.Approved The account has completed onboarding and you can now access their beam addresses

Account.Onboarding.Rejected The account has been rejected from onboarding

Account.Address.Created.XLM The account has been assigned an address that accepts Stellar

Account.Address.Created.BTC The account has been assigned an address that accepts Bitcoin

Account.Address.Created.SOL The account has been assigned an address that accepts Solana
Account.Address.Created.XRP The account has been assigned an address that accepts Ripple
Account.Address.Created.ETH The account has been assigned an address that accepts ERC-20

Account.Address.Created.DOGE The account has been assigned an address that accepts Dog
Account.Address.Created.AVAX The account has been assigned an address that accepts Avalanche

Example Events

The following is an example event payload sent via webhooks. The resource property is an array of resources that have the same event eventName

{
    id: event.id,
    eventName: 'Beam.Deposit.Detected',
    partnerId: 'b6e66f36-4ae1-4f41-b8d4-063d94703abf',
    createdAt: '2023-07-11 18:58:53.325-0500',
    resources: ['users/e90751ef-273f-46f5-bb5f-93e3e18a0d35/deposits/7c2fc3c4-dd14-44a6-83e7-99b25e8d1710'],
}