### Attributes

| Attribute | Type | Definition | Example |
| --- | --- | --- | --- |
| id | UUID | ID of record | c8d0164d-28df-46c6-a836-1a3da5a470d8 |
| created_date | DateTime | Date wallet was created |  |
| currency | ISO4217 | Currency of bank account | USD |
| account_number | BankAccountNumber | Bank account number | 123456789 |
| routing_code | BankRoutingCode | Bank account routing code | 123456789 |
| swift_bic | SwiftBic | SWIFT BIC code of bank | BOFIIE2D |
| name_on_bank_account | String | Name on bank account | Jerry |
| bank_name | String | Name of bank | Wells Fargo |
| bank_address1 | String | Address line 1 of bank | 1305 E 6th St. |
| bank_address2 | String | Address line 2 of bank | Unit 10 |
| bank_city | String | City of bank address | Austin |
| bank_state_province_region | String | State, region, or province of bank address | Texas |
| bank_postal_code | PostalCode | Postal code of bank address | 78702 |
| bank_country | ISO3166_1 | 2-letter ISO code of the country the bank resides in | US |
| balance | String | Funds in wallet | 100.00 |
| available_balance | String | Funds available to use | 50.00 |

### GraphQL

```graphql
type Wallet {
  id: UUID
  created_date: DateTime
  organization: Organization
  entity: Entity
  currency: ISO4217
  balance: String
  available_balance: String
}

type EntityWallets {
  entity_id: UUID
  entity_name: String
  wallets: [Wallet]
}

enum FundingInstructionTypes {
  wire
  debit
  transfer_only
  none
}

type FundingInstructions {
  type: FundingInstructionTypes
  message: String
  amount: String
  currency: ISO4217
  bank_name: String
  bank_address1: String
  bank_address2: String
  bank_city: String
  bank_state_province_region: String
  bank_postal_code: PostalCode
  bank_country: ISO3166_1
  account_number: BankAccountNumber
  routing_code: BankRoutingCode
  swift_bic: SwiftBic
  account_holder_name: String
  account_holder_address1: String
  account_holder_address2: String
  account_holder_city: String
  account_holder_state_province_region: String
  account_holder_postal_code: String
  account_holder_country: String
  reference: String
}

type Query {
  wallet(
    wallet_id: UUID!
  ): Wallet

entityWallets(
    entity_id: UUID!
  ): [Wallet]

organizationEntityWallets(
    listFilter: ListFilter
  ): [EntityWallets]

walletFundingInstructions(
    wallet_id: UUID!
  ): FundingInstructions
}

type Mutation {
  createWallet(
    entity_id: UUID!
    currency: ISO4217!
  ): UUID

addBalanceToWallet(
    wallet_id: UUID!
    amount: String!
  ): String
}
```
