# Client Integration
We return all the data after OTP and you use it in your UI
```js
if(braintree.axo.lookupCustomerByEmail(email)) {
braintree.axo.triggerAuthenticationFlow({ ...axoConfiguration })
.then({ axoAddresses, axoFundingInstruments} => updateUI(axoAddresses))
.catch(err => showErr(err))
}
```
# Server Integration
We return a buyer access token, you send it to your server, execute an api to receive addresses, send them back to update your UI
## Client
```js
if(braintree.connect.lookupCustomerByEmail(email)) {
braintree.connect.triggerAuthenticationFlow({ ...axoConfiguration })
.then({ buyerAccessToken } => fetchAddresses(axoAddresses))
.then(axoAddresses => updateUI(axoAddresses)))
.catch(err => showErr(err))
}
function fetchAddresses(buyerAccessToken) {
return fetch(`https://www.bigcommerce/axoAddresses/${buyerAccessToken}`)
.then(res => res.json())
}
```
## Server
```js
import express from 'express';
const app = express();
import fetch from 'node-fetch';
app.get('/axoAddress/:token', async (req, res) => {
return fetch(`https://api.paypal.com/v2/vault/addresses/${token}`)
.then( res => res.json())
}
```