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'],
}