# getProvider

Returns information about the dAPI provider, including who this provider is, the version of their dAPI, and the NEP that the interface is compatible with.

## **Input Arguments**

None

## **Success Response**

<table><thead><tr><th width="287">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><code>name: string</code></td><td>The name of the wallet provider</td></tr><tr><td><code>website: string</code></td><td>The website of the wallet provider</td></tr><tr><td><code>version: string</code></td><td>The version of the dAPI that the the wallet supports</td></tr><tr><td><code>compatibility: string[]</code></td><td>A list of all applicable NEPs which the wallet provider supports</td></tr><tr><td><code>extra: object</code></td><td>This object can contain any attributes specific to the dapi provider, such as an app theme</td></tr></tbody></table>

## **Error Response**

<table><thead><tr><th width="289">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><code>type: string</code></td><td>The type of error which has occured</td></tr><tr><td><code>description: string</code></td><td>A description of the error which has occured</td></tr><tr><td><code>data: string</code></td><td>Any raw data associated with the error</td></tr></tbody></table>

## Example

### Request

```js
neoline.getProvider()
.then(provider => {
  const {
    name,
    website,
    version,
    compatibility,
    extra
  } = provider;

  console.log('Provider name: ' + name);
  console.log('Provider website: ' + website);
  console.log('Provider dAPI version: ' + version);
  console.log('Provider dAPI compatibility: ' + JSON.stringify(compatibility));
  console.log('Extra provider specific atributes: ' + JSON.stringify(compatibility));
})
.catch((error) => {
  const {type, description, data} = error;
  switch(type) {
    case 'NO_PROVIDER':
        console.log('No provider available.');
        break;
    case 'CONNECTION_DENIED':
        console.log('The user rejected the request to connect with your dApp.');
        break;
    default:
        // Not an expected error object.  Just write the error to the console.
        console.error(error);
        break;
  }
});
```

### **Response**

```javascript
{
  name: 'Awesome Wallet',
  website: 'https://www.neoline.io/',
  version: '1.0.0',
  compatibility: [
    'NEP-14',
    'NEP-23',
    'NEP-29'
  ],
  extra: {
    theme: 'Dark Mode',
    currency: 'USD'
  }
}
```
